/* shared subpage css - noir theme */
:root{
  --black:#000;--ink:#0a0a0a;--ink-2:#111;
  --line:#1c1c1c;--line-2:#2a2a2a;
  --paper:#ededed;--bone:#a8a39c;--dim:#666;
  --blood:#b00010;--blood-deep:#6e0008;--blood-glow:rgba(176,0,16,.55);
  --f-display:"Unbounded",system-ui,sans-serif;
  --f-body:"Manrope",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",monospace;
  --pad:clamp(1rem,3vw,2.5rem);--max:1180px;
  --ease:cubic-bezier(.2,.9,.3,1);
  --ease-c:cubic-bezier(.77,0,.18,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--black);color:var(--paper);overflow-x:hidden;scroll-behavior:smooth}
body{font-family:var(--f-body);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit;background:none;border:0;outline:none;cursor:pointer}
img,svg{display:block;max-width:100%}
::selection{background:var(--blood);color:#fff}

@media (hover:hover) and (pointer:fine){html,body,a,button,input,textarea,*{cursor:none !important}}
.cur{position:fixed;width:10px;height:10px;background:#fff;border-radius:50%;pointer-events:none;z-index:9000;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .28s,height .28s,background .25s,opacity .3s;top:0;left:0}
.cur.lg{width:46px;height:46px}
.cur.on-red{mix-blend-mode:normal;background:#fff;box-shadow:0 0 18px rgba(255,255,255,.55)}
.cring{position:fixed;width:38px;height:38px;border:1px solid #fff;border-radius:50%;pointer-events:none;z-index:8999;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .4s,height .4s,opacity .3s;top:0;left:0;opacity:.55}
.cring.on-red{mix-blend-mode:normal;border-color:rgba(255,255,255,.85);opacity:.9}
.cring.lg{width:62px;height:62px}
@media (hover:none){.cur,.cring{display:none}}

body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}

.hdr{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:1rem var(--pad);z-index:120;mix-blend-mode:difference;color:#fff;pointer-events:none}
.hdr > *{pointer-events:auto}
.brand{font-family:var(--f-display);font-weight:900;font-size:.95rem;letter-spacing:-.02em;display:flex;align-items:center;gap:.4em}
.brand .d{width:.4em;height:.4em;background:var(--blood);border-radius:50%;box-shadow:0 0 8px var(--blood-glow);animation:p 2s infinite}
@keyframes p{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}
.nav{display:flex;gap:1.4rem;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}
.nav a{position:relative;padding:.2rem 0}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:currentColor;transition:right .4s var(--ease)}
.nav a:hover::after{right:0}
.tg-btn{display:inline-flex;align-items:center;gap:.4em;padding:.55rem .95rem;border:1px solid #fff;font-family:var(--f-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase}
.tg-btn .bd{width:6px;height:6px;background:var(--blood);border-radius:50%;animation:p 1.6s infinite}
@media (max-width:880px){.nav{display:none}}

.crumbs{padding:7rem var(--pad) 1rem;max-width:var(--max);margin:0 auto;font-family:var(--f-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.crumbs a{color:var(--dim)}
.crumbs a:hover{color:var(--paper)}
.crumbs .sep{color:var(--blood)}
.crumbs .here{color:var(--paper)}

.page-hero{padding:2rem var(--pad) 4rem;max-width:var(--max);margin:0 auto;border-bottom:1px solid var(--line)}
.page-tag{font-family:var(--f-mono);font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}
.page-tag::before{content:"";width:2.4rem;height:1px;background:var(--blood);display:inline-block}
.page-hero h1{font-family:var(--f-display);font-weight:900;font-size:clamp(2.2rem,6vw,5rem);line-height:1.02;letter-spacing:-.04em;text-transform:uppercase}
.page-hero h1 .red{color:var(--blood)}
.page-hero h1 em{font-style:normal;color:var(--bone);font-weight:400}
.page-hero .lede{font-size:1.05rem;color:var(--bone);max-width:62ch;margin-top:1.4rem;line-height:1.55}

.page-section{padding:4rem var(--pad);max-width:var(--max);margin:0 auto;border-bottom:1px solid var(--line)}
.page-section h2{font-family:var(--f-display);font-weight:900;font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1.05;letter-spacing:-.03em;text-transform:uppercase;margin-bottom:1.4rem}
.page-section h2 .red{color:var(--blood)}
.page-section h3{font-family:var(--f-display);font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:-.01em;margin:1.5rem 0 .6rem;color:var(--paper)}
.page-section p{color:var(--bone);max-width:70ch;margin-bottom:.9rem;font-size:.96rem;line-height:1.65}
.page-section p strong,.page-section p b{color:var(--paper);font-weight:500}
.page-section ul{list-style:none;display:flex;flex-direction:column;gap:.45rem;margin:.8rem 0 1.4rem}
.page-section ul li{position:relative;padding-left:1.2rem;color:var(--bone);font-size:.92rem}
.page-section ul li::before{content:"";position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;background:var(--blood);border-radius:50%;box-shadow:0 0 8px var(--blood-glow)}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.6rem}
.card{border:1px solid var(--line);padding:1.4rem 1.2rem;display:flex;flex-direction:column;gap:.5rem;background:#040404;transition:border-color .3s,transform .35s,background .4s;position:relative;overflow:hidden}
.card::before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:var(--blood);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-c)}
.card:hover{border-color:var(--line-2);transform:translateY(-4px);background:#0a0707}
.card:hover::before{transform:scaleX(1)}
.card .n{font-family:var(--f-display);font-weight:900;color:var(--blood);font-size:1.4rem;letter-spacing:-.02em}
.card h3{font-family:var(--f-display);font-weight:700;font-size:1rem;text-transform:uppercase}
.card p{font-size:.86rem;color:var(--bone);line-height:1.5;margin:0}

.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem;margin-top:1.4rem}
.related a{display:block;border:1px solid var(--line);padding:1.1rem 1rem;font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;font-size:.95rem;transition:border-color .3s,background .3s,transform .3s;position:relative}
.related a small{display:block;font-family:var(--f-body);font-weight:300;text-transform:none;letter-spacing:0;color:var(--bone);font-size:.78rem;margin-top:.3rem}
.related a:hover{border-color:var(--blood);background:#0a0606;transform:translateY(-2px)}
.related a::after{content:"→";position:absolute;top:.9rem;right:1rem;color:var(--blood);transition:transform .3s}
.related a:hover::after{transform:translateX(4px)}

.cta-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.8rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.3rem;border:1px solid var(--paper);font-family:var(--f-mono);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--paper);position:relative;overflow:hidden;transition:color .35s,border-color .35s,transform .25s;cursor:pointer}
.btn::before{content:"";position:absolute;inset:0;background:var(--blood);transform:translateY(101%);transition:transform .45s var(--ease-c);z-index:-1}
.btn:hover::before{transform:translateY(0)}
.btn:hover{border-color:var(--blood)}
.btn .dot{width:6px;height:6px;border-radius:50%;background:var(--paper)}
.btn.fill{background:var(--blood);border-color:var(--blood);color:#fff;transition:background .3s,border-color .3s,transform .25s}
.btn.fill::before{display:none}
.btn.fill:hover{background:#7a000b;border-color:#7a000b;color:#fff;transform:translateY(-2px)}
.btn.fill .dot{background:#fff}
.btn.ghost{border-color:var(--line-2);color:var(--bone)}
.btn.ghost:hover{color:var(--paper);border-color:var(--paper)}

/* ===== ORDER FORM (на сервис-страницах) ===== */
.order-form-section{padding:4rem var(--pad);max-width:var(--max);margin:0 auto;border-bottom:1px solid var(--line)}
.order-form-h{font-family:var(--f-display);font-weight:900;font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1.05;letter-spacing:-.03em;text-transform:uppercase;margin-bottom:.6rem;color:var(--paper)}
.order-form-lede{color:var(--bone);max-width:62ch;margin-bottom:1.6rem;font-size:.96rem;line-height:1.55}
.cf.order-form{max-width:680px;display:flex;flex-direction:column;gap:1.1rem;border:1px solid var(--line);padding:1.6rem;background:linear-gradient(180deg,#080808,#000);position:relative;overflow:hidden}
.cf.order-form::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 100% 0%,rgba(176,0,16,.08),transparent 50%);pointer-events:none}
.cf.order-form > *{position:relative;z-index:1}
.cf-row{display:grid;grid-template-columns:1fr 1.6fr;gap:1rem}
@media (max-width:640px){.cf-row{grid-template-columns:1fr}}
.cf-field,.cf-method{display:flex;flex-direction:column;gap:.4rem}
.cf-label{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.cf.order-form input[type=text],.cf.order-form input[type=email],.cf.order-form textarea{border:1px solid var(--line);background:#040404;color:var(--paper);padding:.85rem 1rem;font-family:var(--f-body);font-size:.92rem;width:100%}
.cf.order-form input:focus,.cf.order-form textarea:focus{border-color:var(--blood);background:#0a0707;outline:none}
.cf.order-form textarea{resize:vertical;min-height:90px;line-height:1.5}
.cf-seg{display:flex;border:1px solid var(--line)}
.cf-seg .seg{flex:1;padding:.78rem .8rem;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.cf-seg .seg.on{background:var(--blood);color:#fff}
.cf-consent{display:flex;align-items:flex-start;gap:.6rem;font-family:var(--f-body);font-size:.78rem;color:var(--bone);line-height:1.45;cursor:pointer}
.cf-consent input{width:16px;height:16px;flex:0 0 auto;margin-top:.18rem;accent-color:var(--blood)}
.cf-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:space-between}
.cf-status{font-family:var(--f-mono);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.cf-status.ok{color:#34d399}
.cf-status.err{color:var(--blood)}

.legal-block{padding:3rem var(--pad);background:#040404;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.legal-inner{max-width:var(--max);margin:0 auto}
.legal-h{font-family:var(--f-display);font-weight:900;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.05;letter-spacing:-.03em;text-transform:uppercase;margin-bottom:1.4rem;color:var(--paper)}
.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem 1.6rem;margin-bottom:1.4rem}
@media (max-width:880px){.legal-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.legal-grid{grid-template-columns:1fr}}
.legal-grid h3{font-family:var(--f-display);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.02em;color:var(--paper);margin-bottom:.45rem;padding-bottom:.3rem;border-bottom:1px solid var(--line)}
.legal-grid p{font-family:var(--f-body);font-size:.78rem;line-height:1.55;color:var(--bone);margin:0}
.legal-grid p b{color:var(--paper);font-weight:500}
.legal-foot{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding-top:1.1rem;border-top:1px dashed var(--line);max-width:80ch;line-height:1.7}

footer{padding:3rem var(--pad) 2rem;max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;font-family:var(--f-mono);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
@media (max-width:760px){footer{grid-template-columns:repeat(2,1fr)}}
footer h5{font-weight:400;color:var(--paper);margin-bottom:.6rem}
footer a{display:block;padding:.2rem 0;transition:color .3s,padding-left .3s}
footer a:hover{color:var(--blood);padding-left:.4rem}
footer .copy{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--line);flex-wrap:wrap;gap:1rem}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
