/* Bulyshev.AI — «Гравюра»: общая система стилей */
:root{
  --paper:#F5F0E6; --paper-deep:#EDE6D6; --ink:#191611; --ink2:#5C554A;
  --verdigris:#14453D; --gold:#A87E3F; --loss:#B0483E;
  --hair:rgba(25,22,17,.28); --hair-soft:rgba(25,22,17,.14);
  --ease:cubic-bezier(0.22,1,0.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font:400 17px/1.65 Inter,system-ui,sans-serif;
     -webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.5;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='linear' slope='0.05'/></feComponentTransfer></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
body::after{content:"";position:fixed;inset:0;z-index:59;pointer-events:none;
  background:radial-gradient(120% 100% at 50% 40%,transparent 55%,rgba(25,22,17,.08) 100%)}
::selection{background:var(--verdigris);color:var(--paper)}
img{max-width:100%}
.serif{font-family:Cormorant,serif}
.mono{font-family:"IBM Plex Mono",monospace}

/* ---------- шапка ---------- */
header{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;
       justify-content:space-between;padding:0 40px;height:76px;
       backdrop-filter:blur(10px);background:rgba(245,240,230,.85);
       border-bottom:1px solid var(--hair)}
.logo{font:700 24px/1 Cormorant,serif;letter-spacing:.01em;text-decoration:none;color:var(--ink)}
.logo em{font-style:normal;color:var(--verdigris)}
nav{display:flex;gap:26px}
nav a{color:var(--ink2);text-decoration:none;font:500 12px/1 "IBM Plex Mono",monospace;
      letter-spacing:.14em;text-transform:uppercase;transition:color .3s}
nav a:hover{color:var(--ink)}
nav a.on{color:var(--verdigris);border-bottom:1px solid var(--verdigris);padding-bottom:3px}
.btn{display:inline-flex;align-items:center;gap:12px;padding:15px 30px;border-radius:2px;
     background:var(--ink);color:var(--paper);font:500 13px/1 "IBM Plex Mono",monospace;
     letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;
     transition:background .3s,transform .35s var(--ease)}
.btn:hover{background:var(--verdigris);transform:translateY(-2px)}
.btn .arr{transition:transform .35s var(--ease)}
.btn:hover .arr{transform:translateX(5px)}
header .btn{padding:12px 22px;font-size:12px}
@media (max-width:960px){ nav{display:none} header{padding:0 22px} }

/* ---------- общее ---------- */
.wrap{max-width:1240px;margin:0 auto;padding:0 60px}
@media (max-width:960px){ .wrap{padding:0 34px} }
.sec-head{font:500 11px/1 "IBM Plex Mono",monospace;letter-spacing:.3em;text-transform:uppercase;
          color:var(--verdigris);margin-bottom:24px}
.h2{font:600 clamp(34px,4vw,58px)/1.1 Cormorant,serif;max-width:24ch;
    text-shadow:0 1px 0 rgba(255,255,255,.55)}
.lead{color:var(--ink2);font-size:18px;max-width:60ch}
.band{height:26px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='26' viewBox='0 0 120 26'><g fill='none' stroke='%2314453D' stroke-width='0.7' opacity='0.35'><path d='M0,13 C15,4 30,4 45,13 S75,22 90,13 S115,4 130,13'/><path d='M0,9 C15,2 30,2 45,9 S75,16 90,9 S115,2 130,9' opacity='0.5'/><path d='M0,17 C15,10 30,10 45,17 S75,24 90,17 S115,10 130,17' opacity='0.5'/></g></svg>");
  background-repeat:repeat-x;background-size:auto 100%}
.microprint{position:absolute;left:0;right:0;bottom:34px;z-index:2;overflow:hidden;white-space:nowrap;
          font:400 9px/1 "IBM Plex Mono",monospace;letter-spacing:.34em;color:rgba(25,22,17,.5);
          text-transform:uppercase;user-select:none}
.rv{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ---------- герой главной ---------- */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden}
.frame{position:absolute;inset:22px;border:1px solid var(--hair);pointer-events:none;z-index:3}
.frame::before{content:"";position:absolute;inset:6px;border:1px solid var(--hair-soft)}
.frame i{position:absolute;width:14px;height:14px;border:1px solid var(--ink);transform:rotate(45deg)}
.frame i:nth-child(1){top:-8px;left:-8px}.frame i:nth-child(2){top:-8px;right:-8px}
.frame i:nth-child(3){bottom:-8px;left:-8px}.frame i:nth-child(4){bottom:-8px;right:-8px}
.hero .art{position:absolute;top:0;right:-4%;width:62%;height:100%;z-index:1}
.hero-inner{position:relative;z-index:2;max-width:1240px;width:100%;min-width:0;margin:0 auto;padding:130px 60px 120px}
.serial{font:500 11px/1.7 "IBM Plex Mono",monospace;letter-spacing:.3em;text-transform:uppercase;
        color:var(--verdigris);margin-bottom:34px}
.serial b{color:var(--ink);font-weight:500}
h1{font:600 clamp(44px,5.6vw,86px)/1.04 Cormorant,serif;letter-spacing:-.01em;
   text-shadow:0 1px 0 rgba(255,255,255,.55)}
.hero h1{max-width:15ch}
h1 em{font-style:italic;color:var(--verdigris)}
.hero-sub{margin-top:30px;max-width:44ch;color:var(--ink2);font-size:18px}
.hero-cta{margin-top:44px;display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.ghost{color:var(--ink);text-decoration:none;font:500 13px/1 "IBM Plex Mono",monospace;
       letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--hair);
       padding-bottom:4px;transition:border-color .3s}
.ghost:hover{border-color:var(--verdigris)}
.hero-note{position:absolute;right:70px;bottom:110px;z-index:2;text-align:right;
           font:500 10px/1.9 "IBM Plex Mono",monospace;letter-spacing:.26em;text-transform:uppercase;
           color:var(--ink2)}
.hero .microprint{position:absolute;left:0;right:0;bottom:34px;z-index:2}
@media (max-width:960px){
  .hero-inner{padding:120px 34px 110px}
  .hero .art{width:100%;right:0;opacity:.3}
  .hero-note{display:none}
  .frame{inset:12px}
}

/* ---------- герой внутренних страниц ---------- */
.phero{min-height:88vh;position:relative;display:flex;align-items:center;overflow:hidden}
.phero .art{position:absolute;top:0;right:0;width:56%;height:100%;z-index:1}
.phero-inner{position:relative;z-index:2;max-width:1240px;width:100%;min-width:0;margin:0 auto;padding:150px 60px 110px}
.crumbs{font:500 11px/1 "IBM Plex Mono",monospace;letter-spacing:.22em;text-transform:uppercase;
        color:var(--ink2);margin-bottom:30px}
.crumbs a{color:var(--verdigris);text-decoration:none}
.phero h1{max-width:660px}
.phero .answer{margin-top:30px;max-width:560px;font-size:19px;color:var(--ink)}
.phero .answer b{border-bottom:2px solid var(--gold)}
.price-line{margin-top:26px;display:flex;gap:34px;flex-wrap:wrap;
            font:500 13px/1.7 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase}
.price-line div{border-left:2px solid var(--verdigris);padding-left:14px}
.price-line span{display:block;color:var(--ink2);font-size:11px;letter-spacing:.2em}
.price-line b{font-size:17px;color:var(--ink);letter-spacing:.04em}
@media (max-width:960px){
  .phero-inner{padding:130px 34px 90px}
  .phero .art{width:100%;opacity:.28}
}

/* ---------- секции внутренних ---------- */
.sect{padding:110px 0}
.sect-tight{padding:80px 0}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
@media (max-width:960px){ .cols2{grid-template-columns:1fr;gap:44px} .sect{padding:80px 0} }
.pains{list-style:none;margin-top:36px;border-top:1px solid var(--ink)}
.pains li{display:grid;grid-template-columns:54px 1fr;gap:22px;padding:22px 8px;
          border-bottom:1px solid var(--hair);align-items:baseline}
.pains .n{font:500 12px/1 "IBM Plex Mono",monospace;color:var(--loss);letter-spacing:.1em}
.pains h3{font:600 22px/1.3 Cormorant,serif}
.pains p{color:var(--ink2);font-size:15px;margin-top:5px}
.artifacts{list-style:none;margin-top:30px}
.artifacts li{padding:18px 0 18px 34px;position:relative;border-bottom:1px solid var(--hair-soft);
              color:var(--ink2);font-size:16px}
.artifacts li::before{content:"";position:absolute;left:0;top:24px;width:16px;height:16px;
                      border:1px solid var(--verdigris);transform:rotate(45deg)}
.artifacts li b{color:var(--ink);font-weight:600}
.process{counter-reset:step;margin-top:40px;border-top:1px solid var(--ink)}
.process li{list-style:none;display:grid;grid-template-columns:100px 1fr;gap:26px;
            padding:26px 8px;border-bottom:1px solid var(--hair);align-items:baseline}
.process .no{font:700 30px/1 Cormorant,serif;color:var(--gold)}
.process h3{font:600 23px/1.3 Cormorant,serif;margin-bottom:6px}
.process p{color:var(--ink2);font-size:15px;max-width:64ch}

/* ---------- цена ---------- */
.pricecard{margin-top:36px;border:1px solid var(--ink);background:var(--paper-deep);position:relative}
.pricecard::before{content:"";position:absolute;inset:6px;border:1px solid var(--hair-soft);pointer-events:none}
.pricecard .row{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:baseline;
                padding:26px 34px;border-bottom:1px solid var(--hair)}
.pricecard .row:last-child{border-bottom:0}
.pricecard .what{font:600 24px/1.3 Cormorant,serif}
.pricecard .what span{display:block;font:400 14px/1.5 Inter;color:var(--ink2);margin-top:4px}
.pricecard .sum{font:500 22px/1 "IBM Plex Mono",monospace;color:var(--verdigris);white-space:nowrap}
.pricecard .sum i{display:block;font:400 10px/1 "IBM Plex Mono",monospace;font-style:normal;
                  color:var(--ink2);letter-spacing:.2em;text-transform:uppercase;margin-top:6px}
.pricefactors{margin-top:22px;color:var(--ink2);font-size:14px;max-width:70ch}
.pricefactors b{color:var(--ink)}

/* ---------- кому не подходит / почему я ---------- */
.notfor{border-left:3px solid var(--loss);padding:6px 0 6px 28px;margin-top:30px}
.notfor li{list-style:none;color:var(--ink2);padding:8px 0;font-size:16px}
.notfor li::before{content:"— ";color:var(--loss)}
.whyme{border-left:3px solid var(--verdigris);padding:6px 0 6px 28px;margin-top:30px}
.whyme li{list-style:none;padding:10px 0;color:var(--ink2);font-size:16px}
.whyme li b{color:var(--ink)}
.bigquote{font:500 clamp(28px,3.2vw,44px)/1.25 Cormorant,serif;font-style:italic;
          text-shadow:0 1px 0 rgba(255,255,255,.55);max-width:26ch}
.bigquote::before{content:"«";color:var(--gold)}
.bigquote::after{content:"»";color:var(--gold)}

/* ---------- FAQ ---------- */
.faq{margin-top:30px;border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--hair)}
.faq summary{cursor:pointer;list-style:none;padding:22px 8px;font:600 22px/1.3 Cormorant,serif;
             display:flex;justify-content:space-between;gap:20px;align-items:baseline}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 24px/1 Cormorant,serif;color:var(--verdigris)}
.faq details[open] summary::after{content:"−"}
.faq .a{padding:0 8px 24px;color:var(--ink2);font-size:16px;max-width:70ch}

/* ---------- CTA-полоса ---------- */
.cta-band{padding:110px 0;text-align:center}
.cta-band .h2{margin:0 auto 30px}
.cta-band p{color:var(--ink2);max-width:52ch;margin:0 auto 40px}

/* ---------- номиналы ---------- */
.metrics{max-width:1240px;margin:0 auto;padding:120px 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:60px}
.metric .tag{font:500 10px/1 "IBM Plex Mono",monospace;letter-spacing:.3em;text-transform:uppercase;
             color:var(--verdigris);border-top:1px solid var(--hair);padding-top:16px;margin-bottom:26px}
.metric .val{font:700 clamp(58px,7vw,104px)/0.95 Cormorant,serif;letter-spacing:-.02em;
             text-shadow:0 1px 0 rgba(255,255,255,.55)}
.metric .val em{font-style:normal;color:var(--verdigris)}
.metric.loss .val em{color:var(--loss)}
.metric .lbl{margin-top:18px;color:var(--ink2);font-size:15px;border-bottom:1px solid var(--hair);padding-bottom:20px}
@media (max-width:960px){ .metrics{grid-template-columns:1fr;gap:40px;padding:90px 34px} }

/* ---------- лестница ---------- */
.ladder{max-width:1240px;margin:0 auto;padding:30px 60px 140px}
.ladder h2{font:600 clamp(34px,4vw,58px)/1.1 Cormorant,serif;max-width:22ch;margin-bottom:64px;
           text-shadow:0 1px 0 rgba(255,255,255,.55)}
.steps{border-top:1px solid var(--ink)}
.step{display:grid;grid-template-columns:90px 1fr auto;gap:30px;align-items:baseline;
      padding:30px 8px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--hair);
      transition:background .3s}
.step:hover{background:var(--paper-deep)}
.step .n{font:500 13px/1 "IBM Plex Mono",monospace;color:var(--gold);letter-spacing:.1em}
.step h3{font:600 26px/1.25 Cormorant,serif}
.step p{color:var(--ink2);font-size:15px;margin-top:6px;max-width:62ch}
.step .go{font:500 11px/1 "IBM Plex Mono",monospace;letter-spacing:.2em;text-transform:uppercase;
          color:var(--ink2);transition:color .3s;white-space:nowrap}
.step:hover .go{color:var(--verdigris)}
@media (max-width:960px){ .ladder{padding:0 34px 100px} .step{grid-template-columns:52px 1fr} .step .go{display:none} }

/* ---------- кейсы ---------- */
.cases{max-width:1240px;margin:0 auto;padding:110px 60px}
.case{display:grid;grid-template-columns:minmax(150px,230px) 1fr;gap:40px;padding:44px 0;border-bottom:1px solid var(--hair)}
.case:first-of-type{border-top:1px solid var(--ink)}
.case .fig{font:700 clamp(34px,3.4vw,52px)/1.05 Cormorant,serif;color:var(--verdigris)}
.case .fig span{display:block;font:500 10px/1.6 "IBM Plex Mono",monospace;letter-spacing:.24em;
                text-transform:uppercase;color:var(--ink2);margin-top:8px}
.case h3{font:600 28px/1.25 Cormorant,serif;margin-bottom:10px}
.case .who{font:500 11px/1 "IBM Plex Mono",monospace;letter-spacing:.2em;text-transform:uppercase;
           color:var(--gold);margin-bottom:14px}
.case p{color:var(--ink2);font-size:16px;max-width:72ch}
@media (max-width:960px){ .cases{padding:80px 34px} .case{grid-template-columns:1fr;gap:18px} }

/* ---------- обо мне ---------- */
.about{max-width:1240px;margin:0 auto;padding:110px 60px;display:grid;
       grid-template-columns:minmax(280px,430px) 1fr;gap:80px;align-items:center}
.about .portrait img{width:100%;height:auto;display:block}
.about .portrait{position:relative}
.about .portrait::after{content:"";position:absolute;inset:-14px;border:1px solid var(--hair);pointer-events:none}
.about blockquote{font:500 clamp(28px,3vw,42px)/1.25 Cormorant,serif;font-style:italic;
                  text-shadow:0 1px 0 rgba(255,255,255,.55);margin:18px 0 26px;max-width:24ch}
.about blockquote::before{content:"«";color:var(--gold)}
.about-text{color:var(--ink2);font-size:16px;max-width:52ch}
.creds{list-style:none;margin-top:30px;border-top:1px solid var(--hair)}
.creds li{display:flex;justify-content:space-between;gap:20px;padding:13px 2px;
          border-bottom:1px solid var(--hair);
          font:500 11px/1.6 "IBM Plex Mono",monospace;letter-spacing:.18em;text-transform:uppercase}
.creds li b{color:var(--ink);font-weight:500;text-align:right}
.creds li span{color:var(--ink2)}
@media (max-width:960px){ .about{grid-template-columns:1fr;gap:44px;padding:90px 34px} }

/* ---------- контакты / форма ---------- */
.contact-grid{max-width:1240px;margin:0 auto;padding:110px 60px;display:grid;grid-template-columns:1fr 1fr;gap:80px}
.form label{display:block;font:500 11px/1 "IBM Plex Mono",monospace;letter-spacing:.24em;
            text-transform:uppercase;color:var(--ink2);margin:26px 0 10px}
.form input,.form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--hair);
            padding:12px 2px;font:400 17px/1.5 Inter;color:var(--ink);outline:none;transition:border-color .3s}
.form input:focus,.form textarea:focus{border-color:var(--verdigris)}
.form textarea{min-height:110px;resize:vertical}
.form .btn{margin-top:34px}
.form .ok{display:none;margin-top:22px;color:var(--verdigris);font:500 13px/1.6 "IBM Plex Mono",monospace}
.form .err{display:none;margin-top:22px;color:var(--loss);font:500 13px/1.6 "IBM Plex Mono",monospace}
.req{list-style:none;border-top:1px solid var(--hair);margin-top:8px}
.req li{display:flex;justify-content:space-between;gap:20px;padding:15px 2px;border-bottom:1px solid var(--hair);
        font:500 12px/1.6 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase}
.req li span{color:var(--ink2)}
@media (max-width:960px){ .contact-grid{grid-template-columns:1fr;gap:50px;padding:90px 34px} }

/* ---------- футер ---------- */
footer{border-top:1px solid var(--hair);padding:40px 60px;display:flex;justify-content:space-between;
       gap:20px;flex-wrap:wrap;color:var(--ink2);
       font:400 11px/1.8 "IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase}
footer a{color:var(--ink2);text-decoration:none}
footer a:hover{color:var(--verdigris)}
@media (prefers-reduced-motion:reduce){ *{animation:none!important;transition:none!important} }
