/* ============ HEADER ============ */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;gap:20px;height:70px;}
.logo{display:flex;align-items:center;gap:13px;}
.logo-img{height:38px;width:auto;display:block;}
.logo-mark{font-size:25px;font-weight:900;letter-spacing:-.02em;color:var(--ink);position:relative;line-height:1;}
.logo-mark i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-left:2px;vertical-align:baseline;}
.logo-sub{font-size:10.5px;line-height:1.25;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.main-nav{display:flex;gap:22px;margin-left:4px;}
.main-nav a{font-size:14px;font-weight:600;color:var(--ink-2);transition:.15s;white-space:nowrap;}
.main-nav a:hover{color:var(--accent-hover);}
.header-actions{display:flex;align-items:center;gap:11px;margin-left:auto;}
.header-social{display:flex;gap:7px;}
.soc{width:32px;height:32px;border-radius:9px;background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--ink-2);transition:.15s;}
.soc:hover{background:var(--accent-soft);color:var(--accent-hover);}
.soc svg{width:16px;height:16px;}
.soc-max{font-size:9.5px;font-weight:800;letter-spacing:.02em;}
.header-phone{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--ink);white-space:nowrap;}
.header-phone svg{width:15px;height:15px;color:var(--accent-hover);}
.header-cta{padding:10px 18px;font-size:12.5px;border-radius:10px;white-space:nowrap;}

/* ============ HERO ============ */
.hero{background:#fff;padding:74px 0 96px;}
.hero-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:64px;align-items:center;}
.hero-title{margin:22px 0 24px;}
.hero-title .hl{color:var(--accent);}
.hero-sub{max-width:560px;}
.hero-btn{margin:34px 0 0;}
.hero-benefits{display:flex;gap:44px;list-style:none;border-top:1px solid var(--line-2);margin-top:32px;padding-top:28px;}
.hero-benefits li{display:flex;flex-direction:column;gap:5px;}
.hero-benefits b{font-size:25px;font-weight:800;color:var(--ink);line-height:1;white-space:nowrap;}
.hero-benefits span{font-size:14px;color:var(--ink-2);font-weight:600;white-space:nowrap;}
.hero-media{position:relative;}
.hero-img{width:100%;height:540px;box-shadow:var(--shadow-lg);}
.hero-badge{position:absolute;left:-30px;bottom:42px;background:#fff;border-radius:18px;padding:20px 26px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-md);}
.hero-badge-num{font-size:38px;font-weight:900;color:var(--accent);line-height:1;letter-spacing:-.02em;}
.hero-badge-txt{font-size:13.5px;font-weight:600;color:var(--ink-2);line-height:1.3;}

/* ============ PICKER ============ */
.picker-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px;}
.picker-cta{flex-shrink:0;}
.picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.picker-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:.2s;display:flex;flex-direction:column;text-align:left;font:inherit;color:inherit;padding:0;width:100%;cursor:pointer;}
.picker-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.picker-media{position:relative;width:100%;height:188px;overflow:hidden;background:rgba(0,0,0,.04);}
.picker-img{width:100%;height:100%;border-radius:0;display:block;object-fit:cover;object-position:center;}
.picker-badge{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:rgba(15,12,9,.62);backdrop-filter:blur(5px);color:#fff;font-size:12px;font-weight:700;letter-spacing:.01em;pointer-events:none;z-index:2;}
.picker-badge svg{width:14px;height:14px;}
.picker-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:9px;flex:1;cursor:pointer;}
.picker-title{font-size:16.5px;font-weight:800;text-transform:none;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;}
.picker-body p{font-size:14.5px;color:var(--ink-2);line-height:1.45;flex:1;}
.picker-foot{margin-top:46px;display:flex;justify-content:center;}
.picker-link{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-hover);margin-top:4px;}
.picker-link i{width:18px;height:8px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M0 6h20M15 1l6 5-6 5' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") no-repeat;transition:.2s;}
.picker-card:hover .picker-link i{transform:translateX(4px);}

/* ---- детальная карточка варианта ---- */
.detail{position:fixed;inset:0;z-index:1100;background:rgba(12,9,7,.93);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:40px;}
.detail[hidden]{display:none;}
.detail-card{position:relative;background:#fff;border-radius:22px;overflow:hidden;width:min(1060px,95vw);max-height:90vh;display:grid;grid-template-columns:1.18fr 1fr;box-shadow:var(--shadow-lg);}
.detail-close{position:absolute;top:16px;right:16px;z-index:5;width:40px;height:40px;border-radius:50%;background:rgba(15,12,9,.55);backdrop-filter:blur(5px);border:0;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s;}
.detail-close:hover{background:rgba(15,12,9,.8);}
.detail-close svg{width:20px;height:20px;}
.detail-gallery{padding:18px;display:flex;flex-direction:column;gap:12px;background:#F6F1E8;min-width:0;}
.detail-main{position:relative;width:100%;height:420px;border-radius:14px;overflow:hidden;background:rgba(0,0,0,.05);}
.detail-stage{position:absolute;inset:0;}
.detail-stage-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.stage-adjust{position:absolute;top:12px;right:12px;z-index:4;display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(20,16,13,.74);backdrop-filter:blur(5px);color:#fff;font-size:13px;font-weight:600;cursor:pointer;opacity:0;transition:.16s;}
.stage-adjust svg{width:15px;height:15px;}
.detail-main:hover .stage-adjust{opacity:1;}
.stage-adjust:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}

/* режим кадрирования */
.reframe{position:absolute;inset:0;background:#15110e;overflow:hidden;}
.reframe-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;cursor:grab;user-select:none;-webkit-user-drag:none;}
.reframe.is-dragging .reframe-img{cursor:grabbing;}
.reframe-hint{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:3;padding:6px 13px;border-radius:999px;background:rgba(20,16,13,.7);backdrop-filter:blur(4px);color:rgba(255,255,255,.85);font-size:12px;font-weight:600;pointer-events:none;white-space:nowrap;}
.reframe-bar{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:rgba(20,16,13,.82);backdrop-filter:blur(6px);}
.rf-btn{width:30px;height:30px;flex:none;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font-size:18px;line-height:1;cursor:pointer;transition:.14s;}
.rf-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.rf-zoom{flex:1;accent-color:var(--accent);cursor:pointer;height:4px;}
.rf-text{flex:none;padding:7px 13px;border-radius:8px;border:0;font-size:13px;font-weight:700;cursor:pointer;transition:.14s;}
.rf-reset{background:rgba(255,255,255,.08);color:#fff;}
.rf-reset:hover{background:rgba(255,255,255,.16);}
.rf-done{background:var(--accent);color:var(--on-accent);}
.rf-done:hover{background:var(--accent-hover);}
.stage-upload{position:absolute;inset:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:0;background:transparent;color:var(--ink-2);cursor:pointer;font-size:14px;font-weight:600;transition:.15s;}
.stage-upload svg{width:40px;height:40px;opacity:.7;}
.stage-upload:hover{color:var(--accent-hover);background:color-mix(in srgb,var(--accent) 5%,transparent);}
.detail-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.92);border:1px solid var(--line-2);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);transition:.18s;}
.detail-arrow:hover{background:#fff;color:var(--accent-hover);}
.detail-arrow svg{width:19px;height:19px;}
.detail-prev{left:12px;}
.detail-next{right:12px;}
.detail-thumbs{display:flex;gap:9px;}
.detail-thumb{position:relative;flex:1;height:66px;border-radius:9px;overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;background:rgba(0,0,0,.05);transition:border-color .15s,opacity .15s,transform .15s;}
.detail-thumb[draggable="true"]{cursor:grab;}
.detail-thumb.dragging{opacity:.45;}
.detail-thumb.drag-over{border-color:var(--accent);transform:translateY(-2px);}
.detail-thumb-img{width:100%;height:100%;pointer-events:none;object-fit:cover;}
.detail-thumb.is-empty{display:flex;align-items:center;justify-content:center;border:1.5px dashed var(--line-2);background:rgba(0,0,0,.02);color:var(--ink-2);cursor:pointer;}
.detail-thumb.is-empty:hover{border-color:var(--accent);color:var(--accent-hover);background:color-mix(in srgb,var(--accent) 7%,transparent);}
.thumb-add-ic{width:20px;height:20px;}
.detail-thumb.is-active{border-color:var(--accent);}
.thumb-del{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(20,16,13,.74);color:#fff;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:.14s;z-index:2;}
.detail-thumb:hover .thumb-del{opacity:1;}
.thumb-del:hover{background:#d23b2e;}
.detail-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-size:14px;color:var(--ink-2);}
.detail-add{display:flex;}
.add-photo-btn{position:relative;flex:1;height:48px;gap:8px;border-radius:9px;border:1.5px dashed var(--line-2);background:rgba(0,0,0,.015);color:var(--ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:600;transition:.15s;}
.add-photo-btn svg{width:19px;height:19px;}
.add-photo-btn:hover{border-color:var(--accent);color:var(--accent-hover);background:color-mix(in srgb,var(--accent) 7%,transparent);}
.add-photo-btn.is-loading{opacity:.5;pointer-events:none;}
.detail-info{padding:40px 36px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;}
.detail-eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-hover);}
.detail-title{font-size:30px;font-weight:900;line-height:1.05;letter-spacing:-.01em;color:var(--ink);}
.detail-short{font-size:17px;font-weight:600;color:var(--ink);}
.detail-desc{font-size:15.5px;color:var(--ink-2);line-height:1.55;text-wrap:pretty;}
.detail-bullets{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:2px;}
.detail-bullets li{position:relative;padding-left:26px;font-size:15px;color:var(--ink);line-height:1.45;}
.detail-bullets li::before{content:"";position:absolute;left:0;top:6px;width:15px;height:11px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13l4 4L19 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13l4 4L19 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;}
.detail-cta{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:10px;}
.detail-cta-btn{align-self:flex-start;}
.detail-hint{font-size:12.5px;color:var(--muted);}
@media (max-width:560px){.detail-card{grid-template-columns:1fr;max-height:94vh;overflow-y:auto;}.detail-main{height:300px;}}

/* ---- всплывающая форма «оставить заявку» ---- */
.lead-modal{position:fixed;inset:0;z-index:1200;background:rgba(12,9,7,.93);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;animation:lead-fade .2s ease;}
.lead-modal[hidden]{display:none;}
@keyframes lead-fade{from{opacity:0;}to{opacity:1;}}
.lead-card{position:relative;background:#fff;border-radius:22px;width:min(440px,100%);padding:44px 40px 36px;box-shadow:var(--shadow-lg);animation:lead-pop .24s cubic-bezier(.2,.8,.3,1.1);}
@keyframes lead-pop{from{opacity:0;transform:translateY(14px) scale(.97);}to{opacity:1;transform:none;}}
.lead-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;background:var(--cream);border:0;color:var(--ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s;}
.lead-close:hover{background:var(--cream-2);color:var(--ink);}
.lead-close svg{width:18px;height:18px;}
.lead-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-hover);margin-bottom:12px;}
.lead-title{font-size:30px;font-weight:900;line-height:1.05;letter-spacing:-.01em;color:var(--ink);}
.lead-sub{font-size:15.5px;color:var(--ink-2);line-height:1.5;margin-top:12px;text-wrap:pretty;}
.lead-form{display:grid;gap:14px;margin-top:26px;}
.lead-form .qfield input.is-invalid{border-color:#d64545;}
.lead-submit{margin-top:6px;}
.lead-consent{font-size:12px;color:var(--muted);line-height:1.4;text-align:center;text-wrap:pretty;}
.lead-success{text-align:center;padding:14px 0 6px;animation:lead-fade .25s ease;}
.lead-success[hidden]{display:none;}
.lead-success .check{width:74px;height:74px;border-radius:50%;background:var(--accent-soft);color:var(--accent-hover);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;}
.lead-success .check svg{width:34px;height:34px;}
.lead-success h3{font-size:27px;font-weight:900;letter-spacing:-.01em;color:var(--ink);margin-bottom:12px;}
.lead-success p{font-size:16px;color:var(--ink-2);max-width:320px;margin:0 auto 26px;line-height:1.5;}
.lead-success-close{min-width:160px;}
@media (max-width:480px){.lead-card{padding:40px 24px 30px;}.lead-title{font-size:26px;}}

/* ============ QUIZ ============ */
.quiz{padding:108px 0;}
.quiz-grid{display:grid;grid-template-columns:0.86fr 1.14fr;gap:60px;align-items:start;}
.bonus-list{margin-top:38px;display:flex;flex-direction:column;gap:16px;background:var(--ink);border:2px solid var(--ink);border-radius:var(--radius-lg);padding:30px 32px;}
.bonus-cap{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.5);margin-bottom:4px;}
.bonus-item{display:flex;gap:16px;align-items:flex-start;font-size:15.5px;color:rgba(255,255,255,.78);line-height:1.4;}
.bonus-item b{color:#fff;font-weight:700;}
.bonus-no{flex-shrink:0;width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent-hover);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;}

.quiz-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:42px 44px 44px;min-height:430px;display:flex;flex-direction:column;align-self:center;}
.quiz-progress-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.quiz-stepno{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}
.quiz-pct{font-size:13px;font-weight:800;color:var(--accent-hover);}
.quiz-bar{height:6px;border-radius:6px;background:var(--cream-2);overflow:hidden;margin-bottom:32px;}
.quiz-bar i{display:block;height:100%;background:var(--accent);border-radius:6px;transition:width .35s ease;}
.quiz-q{font-size:26px;font-weight:800;line-height:1.12;letter-spacing:-.01em;margin-bottom:24px;text-transform:none;}
.quiz-opts{display:grid;grid-template-columns:1fr 1fr;gap:13px;flex:1;align-content:start;}
.quiz-opts.single-col{grid-template-columns:1fr;}
.qopt{display:flex;align-items:center;gap:13px;padding:17px 18px;border:1.5px solid var(--line-2);border-radius:13px;font-size:15.5px;font-weight:600;color:var(--ink);text-align:left;transition:.15s;background:#fff;}
.qopt:hover{border-color:var(--accent);background:var(--accent-soft);}
.qopt .dot{flex-shrink:0;width:21px;height:21px;border-radius:50%;border:2px solid var(--line-2);transition:.15s;position:relative;}
.qopt.multi .dot{border-radius:6px;}
.qopt.sel{border-color:var(--accent);background:var(--accent-soft);}
.qopt.sel .dot{border-color:var(--accent);background:var(--accent);}
.qopt.sel .dot::after{content:"";position:absolute;inset:0;margin:auto;width:8px;height:8px;border-radius:50%;background:#fff;}
.qopt.multi.sel .dot::after{width:6px;height:10px;border-radius:0;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);top:1px;}
.quiz-hint{font-size:13.5px;color:var(--muted);margin-top:14px;display:flex;align-items:center;gap:8px;}
.quiz-hint svg{width:16px;height:16px;}
.quiz-foot{display:flex;align-items:center;gap:16px;margin-top:30px;}
.quiz-back{font-size:14px;font-weight:700;color:var(--muted);padding:14px 6px;}
.quiz-back:hover{color:var(--ink);}
.quiz-next{margin-left:auto;}

/* final form */
.quiz-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;flex:1;align-content:start;}
.qfield{display:flex;flex-direction:column;gap:7px;}
.qfield.full{grid-column:1 / -1;}
.qfield label{font-size:13px;font-weight:700;color:var(--ink-2);}
.qfield input{padding:15px 16px;border:1.5px solid var(--line-2);border-radius:12px;font-family:inherit;font-size:15.5px;color:var(--ink);background:#fff;transition:.15s;}
.qfield input:focus{outline:none;border-color:var(--accent);}
.qway{display:flex;gap:10px;}
.qway button{flex:1;padding:13px;border:1.5px solid var(--line-2);border-radius:11px;font-weight:700;font-size:14px;color:var(--ink-2);transition:.15s;}
.qway button.sel{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover);}
.qconsent{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:2px;}
.qconsent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent);margin-top:1px;}

/* success */
.quiz-done{text-align:center;margin:auto;padding:20px 0;}
.quiz-done .check{width:74px;height:74px;border-radius:50%;background:var(--accent-soft);color:var(--accent-hover);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;}
.quiz-done .check svg{width:34px;height:34px;}
.quiz-done h3{font-size:27px;text-transform:none;margin-bottom:12px;}
.quiz-done p{font-size:16px;color:var(--ink-2);max-width:380px;margin:0 auto;}

/* ============ WORKS ============ */
.works-tabs{display:flex;flex-wrap:wrap;gap:11px;margin-bottom:36px;}
.wtab{padding:12px 22px;border-radius:30px;border:1.5px solid var(--line-2);background:#fff;font-weight:700;font-size:15px;color:var(--ink-2);transition:.15s;}
.wtab:hover{border-color:var(--accent);}
.wtab.is-active{background:var(--ink);border-color:var(--ink);color:#fff;}
.works-carousel{position:relative;}
.works-track{display:flex;gap:24px;overflow-x:auto;scroll-behavior:auto;padding:4px;margin:-4px;scrollbar-width:none;}
.works-track::-webkit-scrollbar{display:none;}
.works-track .work-card{flex:0 0 calc((100% - 48px)/3);}
.works-arrow{position:absolute;top:38%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid var(--line-2);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;color:var(--ink);z-index:4;transition:.15s;}
.works-arrow svg{width:22px;height:22px;}
.works-arrow:hover{border-color:var(--accent);color:var(--accent-hover);transform:translateY(-50%) scale(1.06);}
.works-arrow:disabled{opacity:0;pointer-events:none;}
.works-arrow--prev{left:-22px;}
.works-arrow--next{right:-22px;}
.work-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;}
.work-img{width:100%;height:240px;border-radius:0;}
/* per-card photo gallery */
.work-gallery{position:relative;width:100%;height:240px;overflow:hidden;background:rgba(0,0,0,.04);}
.wg-track{display:flex;width:100%;height:100%;transition:transform .42s cubic-bezier(.4,0,.2,1);}
.wg-slide{flex:0 0 100%;width:100%;height:240px;display:block;}
.wg-photo{position:relative;}
.wg-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.wg-del{position:absolute;top:10px;left:10px;width:30px;height:30px;border-radius:8px;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);border:0;color:#fff;font-size:19px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s,background .2s;z-index:3;padding:0;}
.work-gallery:hover .wg-del{opacity:1;}
.wg-del:hover{background:#d23b2e;}
.wg-add{display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.04);}
.wg-add-btn{display:flex;flex-direction:column;align-items:center;gap:9px;border:1.5px dashed var(--line-2);background:#fff;color:var(--ink-2);border-radius:12px;padding:20px 26px;font-size:14px;font-weight:600;cursor:pointer;transition:.15s;}
.wg-add-btn svg{width:24px;height:24px;}
.wg-add-btn:hover{border-color:var(--accent);color:var(--accent-hover);background:color-mix(in srgb,var(--accent) 6%,#fff);}
.wg-add-btn.is-loading{opacity:.5;pointer-events:none;}
.wg-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.9);border:1px solid var(--line-2);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);opacity:0;transition:opacity .2s,color .2s,background .2s;z-index:3;padding:0;}
.work-gallery:hover .wg-arrow{opacity:1;}
.wg-arrow:hover{background:#fff;color:var(--accent-hover);}
.wg-arrow svg{width:18px;height:18px;}
.wg-arrow:disabled{opacity:0 !important;pointer-events:none;}
.wg-prev{left:10px;}
.wg-next{right:10px;}
.wg-expand{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:10px;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;opacity:0;transition:opacity .2s,background .2s;z-index:3;padding:0;}
.work-gallery:hover .wg-expand{opacity:1;}
.wg-expand:hover{background:rgba(0,0,0,.74);}
.wg-expand svg{width:17px;height:17px;}
.wg-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:7px;z-index:3;}
.wg-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);border:0;cursor:pointer;padding:0;transition:background .2s,transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.35);}
.wg-dot.is-active{background:#fff;transform:scale(1.35);}
/* fullscreen lightbox */
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(12,9,7,.93);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;}
.lightbox[hidden]{display:none;}
.lb-stage{width:min(90vw,1200px);height:min(86vh,820px);display:flex;align-items:center;justify-content:center;}
.lb-img{width:100%;height:100%;object-fit:contain;display:block;}
.lb-arrow{position:absolute;top:50%;transform:translateY(-50%);width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;padding:0;}
.lb-arrow:hover{background:rgba(255,255,255,.22);}
.lb-arrow svg{width:26px;height:26px;}
.lb-prev{left:3vw;}
.lb-next{right:3vw;}
.lb-close{position:absolute;top:24px;right:28px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.lb-close:hover{background:rgba(255,255,255,.22);}
.lb-close svg{width:22px;height:22px;}
.lb-counter{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.85);font-size:14px;font-weight:600;letter-spacing:.04em;}
.work-body{padding:22px 22px 24px;}
.work-title{font-size:17px;font-weight:800;text-transform:none;letter-spacing:0;margin-bottom:10px;color:#000000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.work-params{display:flex;flex-direction:column;gap:4px;}
.work-params span{font-size:13.5px;font-weight:500;color:var(--muted);white-space:nowrap;}
.work-params i{width:3px;height:3px;border-radius:50%;background:var(--line-2);}
.work-cta{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-hover);}
.work-cta svg{width:16px;height:16px;}
.works-foot{margin-top:46px;text-align:center;}

/* ============ PROCESS ============ */
.process-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:50px;}
.process-cta{flex-shrink:0;}
.steps{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,auto);grid-auto-flow:column;gap:18px 24px;}
.step{display:flex;gap:22px;padding:24px 26px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm);align-items:flex-start;}
.process-foot{margin-top:48px;display:flex;justify-content:center;}
.step-body{flex:1;min-width:0;}
.step-no{font-size:18px;font-weight:900;color:var(--accent);background:var(--accent-soft);width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.step-row{display:block;margin-bottom:9px;}
.step-title{display:inline;font-size:20px;font-weight:800;text-transform:none;letter-spacing:0;line-height:1.2;vertical-align:middle;}
.step-time{display:inline-block;vertical-align:middle;font-size:12.5px;font-weight:700;color:var(--accent-hover);background:var(--accent-soft);padding:3px 10px;border-radius:7px;margin-left:12px;white-space:nowrap;}
.step-body p{font-size:14.5px;color:var(--ink-2);line-height:1.5;}

/* ============ WHY ============ */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);grid-auto-flow:column;gap:18px 24px;margin-bottom:56px;}
.why-card{display:flex;gap:22px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;box-shadow:var(--shadow-sm);}
.why-no{font-size:18px;font-weight:900;color:var(--accent);background:var(--accent-soft);width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.why-body{flex:1;min-width:0;}
.why-row{display:block;margin-bottom:9px;}
.why-title{display:inline;font-size:20px;font-weight:800;text-transform:none;letter-spacing:0;line-height:1.2;vertical-align:middle;color:#171411;}
.why-body p{font-size:14.5px;color:var(--ink-2);line-height:1.5;}
.trust{background:var(--ink);border-radius:var(--radius-lg);padding:44px 48px;display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;color:#fff;}
.trust-title{font-size:30px;text-transform:none;letter-spacing:-.01em;margin-bottom:12px;color:#fff;}
.trust-copy p{font-size:16px;color:rgba(255,255,255,.7);line-height:1.5;max-width:320px;}
.trust-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.rating-card{background:#fff;border-radius:16px;padding:22px;color:var(--ink);}
.rating-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.rating-src{font-size:14px;font-weight:800;}
.rating-stars{color:var(--accent);font-size:14px;letter-spacing:1px;}
.rating-score{font-size:42px;font-weight:900;line-height:1;letter-spacing:-.02em;}
.rating-score span{font-size:18px;color:var(--muted);font-weight:700;}
.rating-meta{font-size:12.5px;color:var(--muted);margin:4px 0 0;}

/* ============ VIDEO ============ */
.video-carousel{position:relative;}
.video-track{display:flex;gap:24px;overflow-x:auto;scroll-behavior:auto;padding:4px;margin:-4px;scrollbar-width:none;}
.video-track::-webkit-scrollbar{display:none;}
.video-track .video-card{flex:0 0 calc((100% - 48px)/3);}
.video-foot{margin-top:46px;display:flex;justify-content:center;}
.video-card{background:var(--ink);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;}
.video-media{position:relative;}
.video-thumb{width:100%;height:280px;border-radius:0;display:block;}
.video-thumb::part(frame){background:#000;}
.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:0 8px 24px rgba(245,162,1,.45);transition:.18s;z-index:2;}
.video-play svg{width:26px;height:26px;margin-left:3px;}
.video-card:hover .video-play{transform:translate(-50%,-50%) scale(1.08);}
.video-cap{padding:20px 22px 24px;}

/* ---- кнопка «добавить ссылку ВК Видео» ---- */
.video-edit{position:absolute;top:12px;right:12px;z-index:3;width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(20,16,13,.72);backdrop-filter:blur(4px);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.92;transition:.16s;}
.video-edit svg{width:17px;height:17px;}
.video-card:hover .video-edit{opacity:1;}
.video-edit:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
/* подсказка «добавить видео» на пустых карточках */
.video-add-label{position:absolute;left:50%;top:calc(50% + 54px);transform:translateX(-50%);z-index:3;white-space:nowrap;font-size:13px;font-weight:700;letter-spacing:.01em;color:#fff;background:rgba(20,16,13,.74);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:7px 16px;cursor:pointer;transition:.16s;}
.video-add-label:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
.video-card.has-video .video-add-label{display:none;}
/* обложка карточки видео */
.video-cover{position:absolute;inset:0;width:100%;height:280px;object-fit:cover;z-index:1;display:none;}
.video-card.has-cover .video-cover{display:block;}
.video-cover-btn{position:absolute;top:12px;right:58px;z-index:3;width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(20,16,13,.72);backdrop-filter:blur(4px);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.92;transition:.16s;}
.video-cover-btn svg{width:18px;height:18px;}
.video-card:hover .video-cover-btn{opacity:1;}
.video-cover-btn:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
.video-cover-btn.is-loading{opacity:.55;pointer-events:none;}
.video-card.has-video .video-tag::after{content:'ВК Видео';display:inline-block;margin-left:10px;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:999px;padding:2px 9px;vertical-align:middle;text-transform:none;}

/* ---- ВК Видео — плеер (модалка) ---- */
.vid-modal{position:fixed;inset:0;z-index:1300;background:rgba(8,6,5,.94);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:32px;animation:lead-fade .2s ease;}
.vid-modal[hidden]{display:none;}
.vid-card{position:relative;width:min(1040px,100%);}
.vid-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);}
.vid-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.vid-close{position:absolute;top:-52px;right:0;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.16s;}
.vid-close svg{width:20px;height:20px;}
.vid-close:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
.video-tag{display:block;font-size:17px;font-weight:800;text-transform:none;letter-spacing:0;line-height:1.2;color:#fff;margin-bottom:9px;}
.video-cap p{font-size:15.5px;color:rgba(255,255,255,.72);line-height:1.4;}

/* ============ FAQ ============ */
.faq-list{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;max-width:860px;margin:0;}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.faq-q{display:flex;align-items:center;gap:18px;width:100%;padding:22px 24px;font-size:16.5px;font-weight:700;color:var(--ink);text-align:left;line-height:1.3;}
.faq-q .fic{margin-left:auto;flex-shrink:0;width:26px;height:26px;position:relative;}
.faq-q .fic::before,.faq-q .fic::after{content:"";position:absolute;background:var(--accent);border-radius:2px;}
.faq-q .fic::before{width:14px;height:2.5px;top:12px;left:6px;}
.faq-q .fic::after{width:2.5px;height:14px;top:6px;left:12px;transition:.2s;}
.faq-item.open .fic::after{transform:scaleY(0);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-a-inner{padding:0 24px 24px;font-size:15px;color:var(--ink-2);line-height:1.55;white-space:pre-line;}

/* ============ FINAL ============ */
.final{background:#fff;border-top:1px solid var(--line);}
.final-inner{text-align:center;max-width:680px;margin:0 auto;display:flex;flex-direction:column;align-items:center;}
.final-title{color:var(--ink);margin:18px 0 18px;font-size:50px;}
.final-sub{font-size:19px;color:var(--ink-2);line-height:1.5;max-width:520px;margin-bottom:36px;}
.final-note{font-size:14px;color:var(--muted);margin-top:18px;}

/* ============ CONTACTS ============ */
.contacts-grid{display:flex;flex-direction:column;gap:40px;align-items:stretch;}
.contacts-info{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.contact-card{display:flex;flex-direction:column;gap:10px;padding:24px;background:var(--cream);border-radius:var(--radius);}
.contacts-offices{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.contact-row{display:flex;align-items:baseline;gap:18px;padding:15px 0;border-bottom:1px solid var(--line);}
.contact-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);width:120px;flex-shrink:0;}
.contact-val{font-size:17px;font-weight:700;color:var(--ink);}
a.contact-val:hover{color:var(--accent-hover);}
.office{padding:24px;background:var(--cream);border-radius:var(--radius);}
.office-city{font-size:18px;font-weight:800;text-transform:none;letter-spacing:0;margin-bottom:8px;}
.office-addr{font-size:15px;color:var(--ink-2);}
.office-hours{font-size:14px;color:var(--muted);margin:4px 0 16px;}
.office-btn{padding:12px 20px;font-size:13px;}
.contacts-map{width:100%;height:420px;margin-top:48px;border-radius:20px;overflow:hidden;border:1px solid var(--line-2);}
.contacts-map iframe{width:100%;height:100%;border:0;display:block;}

/* ============ FOOTER ============ */
.footer{background:var(--ink);color:#fff;padding:70px 0 40px;}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.12);align-items:start;}
.footer-brand .logo-mark{margin-bottom:0;display:block;line-height:0;}
.footer-logo{margin-bottom:14px;filter:invert(1) brightness(2);}
.footer-brand p{font-size:14.5px;color:rgba(255,255,255,.92);line-height:1.5;max-width:280px;}
.footer-brand .footer-legal{font-size:12.5px;color:rgba(255,255,255,.38);margin-top:14px;line-height:1.7;}
.footer-col{display:flex;flex-direction:column;}
.footer-col h4{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.45);margin-bottom:18px;}
.footer-col a,.footer-mute{display:block;font-size:14.5px;color:rgba(255,255,255,.8);margin-bottom:11px;line-height:1.35;transition:.15s;}
.footer-col a:hover{color:var(--accent);}
.footer-mute{color:rgba(255,255,255,.45);}
.footer-bottom{display:flex;justify-content:space-between;padding-top:26px;font-size:13px;color:rgba(255,255,255,.4);}

/* ============ DARK SECTIONS (picker / works / why / faq) ============ */
.picker.sec-ink,.works.sec-ink,.why.sec-ink,.faq.sec-ink{
  background:radial-gradient(900px 520px at 85% 6%,rgba(245,162,1,.10),transparent 60%),var(--ink);
  color:#fff;
}
.picker.sec-ink .h2,.works.sec-ink .h2,.why.sec-ink .h2,.faq.sec-ink .h2{color:#fff;}
.picker.sec-ink .lead,.works.sec-ink .lead,.why.sec-ink .lead,.faq.sec-ink .lead{color:rgba(255,255,255,.66);}
/* dark CTA -> light pill on black */
.sec-ink .btn-dark{background:#fff;color:var(--ink);}
.sec-ink .btn-dark:hover{background:rgba(255,255,255,.88);transform:translateY(-2px);}
/* works tabs on dark */
.works.sec-ink .wtab{background:transparent;border-color:rgba(255,255,255,.22);color:rgba(255,255,255,.78);}
.works.sec-ink .wtab:hover{border-color:#fff;color:#fff;}
.works.sec-ink .wtab.is-active{background:#fff;border-color:#fff;color:var(--ink);}
/* trust block lifts off the black with a hairline */
.why.sec-ink .trust{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);}

/* ============ DARK CONTACTS ============ */
.contacts.sec-ink{background:radial-gradient(900px 520px at 85% 6%,rgba(245,162,1,.10),transparent 60%),var(--ink);color:#fff;}
.contacts.sec-ink .h2{color:#fff;}
.contacts.sec-ink .lead{color:rgba(255,255,255,.66);}
.contacts.sec-ink .contact-row{border-bottom-color:rgba(255,255,255,.14);}
.contacts.sec-ink .contact-label{color:rgba(255,255,255,.5);}
.contacts.sec-ink .contact-val{color:#fff;}
.contacts.sec-ink a.contact-val:hover{color:var(--accent);}
.contacts.sec-ink .office{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);}
.contacts.sec-ink .contact-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);}
.contacts.sec-ink .office-city{color:#fff;}
.contacts.sec-ink .office-addr{color:rgba(255,255,255,.72);}
.contacts.sec-ink .office-hours{color:rgba(255,255,255,.45);}
.contacts.sec-ink .btn-ghost{background:transparent;border-color:rgba(255,255,255,.25);color:#fff;}
.contacts.sec-ink .btn-ghost:hover{border-color:#fff;color:#fff;}
