:root{
  --bg:#0a0a0b;
  --bg-2:#111214;
  --panel:#15171a;
  --line:rgba(255,255,255,.12);
  --line-dark:rgba(10,10,11,.12);
  --text:#f6f7f8;
  --muted:#a7abb2;
  --paper:#f4f3ef;
  --ink:#111214;
  --accent:#a6d5ff;
  --accent-2:#d5eaff;
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.container{width:min(1440px,calc(100% - 64px));margin:0 auto}
.site-header{position:fixed;z-index:60;top:0;left:0;right:0;background:linear-gradient(to bottom,rgba(8,8,9,.86),rgba(8,8,9,.48),transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.nav{height:84px;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:28px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;width:112px;height:54px;font-size:0;letter-spacing:0}.brand-mark{width:112px;height:54px;border:0;background:url("assets/titan-logo-footer.png") center/contain no-repeat;position:relative}.brand-mark:after{display:none}
.nav-links{display:flex;justify-content:center;gap:28px;font-size:14px;color:#d3d6db}.nav-links a{padding:10px 0;position:relative}.nav-links a.is-core{color:#fff}.nav-links a.is-core:after{content:"";position:absolute;height:2px;background:var(--accent);left:0;right:0;bottom:3px}.nav-cta{border:1px solid rgba(255,255,255,.32);padding:12px 18px;border-radius:999px;font-size:13px;transition:.2s}.nav-cta:hover{background:#fff;color:#111}.burger{display:none;background:none;border:0;color:white;font-size:24px}
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;padding:120px 0 72px;background:radial-gradient(circle at 70% 35%,rgba(166,213,255,.16),transparent 24%),radial-gradient(circle at 52% 58%,rgba(255,255,255,.07),transparent 26%),#08090a}
.hero-media{position:absolute;inset:84px 0 0;overflow:hidden;background:url("https://fctitan.ru/themes/dmdev-blank/assets/img/bc-header.jpg") center/cover no-repeat}.hero-media:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,10,.76) 0%,rgba(8,9,10,.38) 38%,rgba(8,9,10,.08) 68%,rgba(8,9,10,.34) 100%),linear-gradient(0deg,rgba(8,9,10,1) 0%,transparent 30%)}
.hero-art{position:absolute;inset:0;border-radius:0;background:transparent;filter:none;box-shadow:none}
.hero-art:before,.hero-art:after{display:none}
.hero-copy{position:relative;z-index:2;max-width:1050px}.eyebrow{display:flex;align-items:center;gap:12px;color:#c8cbd0;text-transform:uppercase;font-size:11px;letter-spacing:.18em;margin-bottom:24px}.eyebrow:before{content:"";width:38px;height:1px;background:currentColor}.hero h1{font-size:clamp(56px,7.2vw,120px);line-height:.9;letter-spacing:-.055em;margin:0;max-width:1050px;font-weight:560}.hero h1 span{display:block;color:#c4c9cf}.hero-bottom{margin-top:34px;display:flex;justify-content:space-between;align-items:end;gap:40px}.hero-lead{max-width:600px;color:#d5d8dc;font-size:18px;line-height:1.5}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:14px}.text-link .arrow{transition:.2s}.text-link:hover .arrow{transform:translateX(5px)}
.section{padding:120px 0}.section-light{background:var(--paper);color:var(--ink)}.section-dark{background:var(--bg)}.section-alt{background:#0f1113}.section-head{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;align-items:start;margin-bottom:56px}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#81868e}.section-title{font-size:clamp(40px,5.2vw,78px);line-height:.98;letter-spacing:-.045em;font-weight:560;margin:0}.section-intro{font-size:18px;line-height:1.55;color:#545962;max-width:620px;margin:12px 0 0}.section-dark .section-intro,.section-alt .section-intro{color:#aeb3bb}
.ecosystem{position:relative;min-height:720px;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);display:grid;grid-template-columns:1.2fr .8fr;gap:26px;padding:30px 0}.core-card{border-radius:var(--radius);background:#0d0f11;min-height:660px;padding:36px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;color:#fff}.core-card:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(166,213,255,.32),rgba(166,213,255,.05) 56%,transparent 70%);right:-80px;bottom:15px}.core-label{font-size:12px;color:#9da3aa;text-transform:uppercase;letter-spacing:.14em}.core-card h3{font-size:clamp(52px,6vw,88px);line-height:.92;letter-spacing:-.05em;font-weight:530;margin:0;position:relative;z-index:2}.core-object{position:absolute;right:8%;bottom:13%;width:42%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 42% 36%,#e9edf0,#7b838b 22%,#24282c 46%,#111 68%);box-shadow:0 0 70px rgba(166,213,255,.15),inset 0 0 60px rgba(255,255,255,.12)}.core-route{display:flex;gap:18px;align-items:center;font-size:13px;color:#d4d9df;position:relative;z-index:2}.side-directions{display:grid;grid-template-rows:repeat(3,1fr);gap:14px}.direction{border:1px solid rgba(0,0,0,.16);border-radius:24px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;transition:.2s;background:rgba(255,255,255,.32)}.direction:hover{transform:translateY(-2px);background:#fff}.direction .num{font-size:11px;letter-spacing:.12em;color:#83878d}.direction h4{font-size:29px;margin:0 0 8px;letter-spacing:-.03em}.direction p{margin:0;color:#646970;line-height:1.45;font-size:14px}.flow-line{margin-top:26px;font-size:13px;color:#6b7077;display:flex;align-items:center;gap:12px}.flow-line b{color:#101214;font-weight:600}
.center-teaser{display:grid;grid-template-columns:.85fr 1.15fr;min-height:620px;border:1px solid var(--line);border-radius:32px;overflow:hidden}.center-copy{padding:54px;display:flex;flex-direction:column;justify-content:space-between}.center-copy h2{font-size:clamp(46px,5vw,72px);line-height:.96;letter-spacing:-.045em;margin:14px 0 24px;font-weight:560}.center-copy p{color:#aeb3bb;line-height:1.6;font-size:17px;max-width:520px}.route-list{margin-top:44px;border-top:1px solid var(--line)}.route-row{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-size:15px}.route-row:hover{color:var(--accent)}.center-visual{position:relative;background:radial-gradient(circle at 52% 42%,rgba(255,255,255,.16),transparent 22%),linear-gradient(135deg,#1d2227,#090a0b 62%)}.center-visual:before{content:"";position:absolute;inset:15% 12%;border-radius:28px;background:linear-gradient(135deg,#dce2e5,#747b82 30%,#1d2125 68%,#0a0b0c);clip-path:polygon(18% 4%,83% 10%,95% 45%,75% 92%,19% 88%,5% 51%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 28px 70px rgba(0,0,0,.42)}.center-visual:after{content:"Предметная съёмка конструкции / фрезеровки";position:absolute;right:28px;bottom:24px;color:#80868d;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.flagship{position:relative;overflow:hidden;background:linear-gradient(180deg,#f8f8f6,#edece8);color:#101214}.flagship-grid{display:grid;grid-template-columns:.88fr 1.12fr;min-height:760px}.flagship-copy{padding:112px 70px 100px max(32px,calc((100vw - min(1440px,calc(100vw - 64px)))/2));display:flex;flex-direction:column;justify-content:center}.flag-badge{display:inline-flex;width:max-content;border:1px solid rgba(0,0,0,.22);border-radius:999px;padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:28px}.flagship h2{font-size:clamp(58px,7vw,112px);line-height:.86;letter-spacing:-.055em;margin:0 0 30px;font-weight:560}.flagship h2 span{display:block;color:#6e747b}.flagship p{max-width:560px;color:#565c63;font-size:18px;line-height:1.55}.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px}.spec{border-top:1px solid rgba(0,0,0,.18);padding-top:14px}.spec strong{display:block;font-size:15px;margin-bottom:5px}.spec small{color:#777c82;font-size:12px;line-height:1.4}.flagship-media{position:relative;overflow:hidden;background:radial-gradient(circle at 52% 48%,rgba(166,213,255,.7),rgba(166,213,255,.12) 30%,transparent 58%),#111316}.flagship-media:before{content:"";position:absolute;width:58%;aspect-ratio:1;left:23%;top:21%;border-radius:46% 54% 52% 48%;background:radial-gradient(circle at 46% 34%,#f6f5ef,#b4bbc0 17%,#dfe2e2 26%,#6f7479 42%,#f4f3ef 58%,#959ca2 67%,#ddd 77%);box-shadow:0 34px 90px rgba(0,0,0,.42)}.flagship-media:after{content:"Макросъёмка флагманского материала";position:absolute;right:28px;bottom:24px;color:#afb5ba;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.known-materials{position:absolute;left:50%;transform:translateX(-50%);bottom:0;z-index:4;width:min(1440px,calc(100% - 64px));display:flex;justify-content:flex-end}.known-panel{width:min(690px,58vw);background:rgba(15,16,18,.9);color:white;border-radius:24px 24px 0 0;padding:20px 24px;backdrop-filter:blur(16px)}.known-title{font-size:12px;color:#aab0b6;text-transform:uppercase;letter-spacing:.13em;margin-bottom:12px}.known-list{display:flex;flex-wrap:wrap;gap:9px}.pill{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:9px 12px;font-size:12px;color:#d5d9dd}.pill:first-child{border-color:rgba(166,213,255,.55);color:#fff;background:rgba(166,213,255,.08)}
.gallery{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:340px 340px;gap:16px}.work{border-radius:26px;position:relative;overflow:hidden;background:linear-gradient(135deg,#25292e,#0b0c0d)}.work:nth-child(1){grid-row:1/3}.work:before{content:"";position:absolute;inset:12%;border-radius:30px;background:radial-gradient(circle at 50% 45%,#d9dee2,#747a80 24%,#1e2226 58%,transparent 72%);opacity:.86}.work:nth-child(2):before{transform:rotate(18deg) scale(.8)}.work:nth-child(3):before{transform:rotate(-10deg) scale(.74)}.work-caption{position:absolute;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between;align-items:end;gap:20px}.work h4{margin:0;font-size:24px;letter-spacing:-.03em}.work small{color:#aeb3ba}.work-index{font-size:12px;color:#8b9198}
.cta-band{padding:110px 0 38px}.cta-card{border-top:1px solid var(--line);padding-top:54px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}.cta-card h2{font-size:clamp(58px,7vw,104px);letter-spacing:-.055em;line-height:.9;margin:0;font-weight:560}.cta-actions{justify-self:end;text-align:right}.cta-actions p{color:#aeb3bb;max-width:480px;line-height:1.55;margin:0 0 22px auto}.primary-btn{display:inline-flex;align-items:center;gap:12px;background:#fff;color:#111;padding:14px 20px;border-radius:999px;font-size:14px;margin-left:8px}.ghost-btn{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);padding:14px 20px;border-radius:999px;font-size:14px}.footer{padding:26px 0 38px;color:#777e86;font-size:12px}.footer-row{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);padding-top:20px}
/* Materials page */
.page-hero{min-height:82svh;padding:160px 0 74px;background:linear-gradient(180deg,#0b0c0d,#111316);position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;width:56vw;height:56vw;border-radius:50%;right:-12vw;top:4vh;background:radial-gradient(circle at 36% 36%,rgba(166,213,255,.34),rgba(166,213,255,.07) 35%,transparent 66%)}.page-title{position:relative;z-index:2;max-width:1050px}.page-title h1{font-size:clamp(68px,9vw,142px);letter-spacing:-.06em;line-height:.85;margin:18px 0 26px;font-weight:560}.page-title h1 span{color:#727981}.page-title p{max-width:650px;color:#c1c6cc;font-size:19px;line-height:1.55}.breadcrumb{font-size:12px;color:#8c939a}.materials-flag{padding:0 0 120px;background:#111316}.materials-flag-card{background:#f1f0ec;color:#0e1011;border-radius:34px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;min-height:700px}.materials-flag-copy{padding:68px}.materials-flag-copy h2{font-size:clamp(52px,6vw,90px);line-height:.9;letter-spacing:-.05em;margin:24px 0}.materials-flag-copy p{color:#596067;font-size:17px;line-height:1.6;max-width:560px}.fact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:38px}.fact{border-top:1px solid rgba(0,0,0,.18);padding:14px 0}.fact b{display:block;margin-bottom:5px}.fact span{font-size:12px;color:#70767c}.materials-flag-visual{background:radial-gradient(circle at 50% 44%,rgba(166,213,255,.7),rgba(166,213,255,.12) 32%,transparent 62%),#131518;position:relative}.materials-flag-visual:before{content:"";position:absolute;width:62%;aspect-ratio:1;left:19%;top:20%;border-radius:49%;background:radial-gradient(circle at 48% 35%,#f8f7f1,#b9c0c5 17%,#e9e8e2 28%,#797e83 43%,#ecebe5 58%,#9aa0a4 68%,#d9d9d4 80%);box-shadow:0 30px 100px rgba(0,0,0,.4)}.materials-flag-visual:after{content:"Флагман — первое, что видит пользователь";position:absolute;left:28px;bottom:24px;color:#d1d5d8;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.catalog{background:var(--paper);color:var(--ink)}.catalog-top{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end}.catalog-tabs{display:flex;gap:8px;justify-content:flex-end}.tab{border:1px solid rgba(0,0,0,.18);border-radius:999px;padding:10px 14px;background:transparent;font-size:13px}.tab.active{background:#111;color:white}.material-list{margin-top:44px;border-top:1px solid rgba(0,0,0,.15)}.material-item{display:grid;grid-template-columns:70px 1fr 1fr 40px;gap:18px;align-items:center;padding:26px 0;border-bottom:1px solid rgba(0,0,0,.14)}.material-item .m-index{font-size:12px;color:#888d92}.material-item h3{font-size:28px;margin:0;letter-spacing:-.03em}.material-item p{font-size:14px;color:#62686f;line-height:1.45;margin:0}.material-item .go{font-size:20px;text-align:right}.material-item.flag{background:#111;color:#fff;margin:0 -24px;padding-left:24px;padding-right:24px}.material-item.flag p,.material-item.flag .m-index{color:#aab0b6}
/* FAQ — живой блок вопросов и ответов (логику вешает script.js) */
.faq{background:#0d0f11;position:relative;overflow:hidden}.faq:before{content:"";position:absolute;width:48vw;height:48vw;left:-16vw;top:-12vw;border-radius:50%;background:radial-gradient(circle,rgba(166,213,255,.11),transparent 62%);pointer-events:none}
.faq-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:start;position:relative}.faq-side{position:sticky;top:124px}.faq-side .section-title{margin-top:14px}.faq-side .section-title span{color:#727981}
.faq-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:30px;font-size:12px;color:#8d939a}.faq-legend span{display:inline-flex;align-items:center;gap:8px}.faq-dot{width:9px;height:9px;border-radius:50%;background:#e8ebee}.faq-dot.is-note{background:transparent;border:1px dashed var(--accent)}
.faq-note{margin-top:20px;border:1px dashed rgba(166,213,255,.38);border-radius:22px;padding:22px;background:rgba(166,213,255,.035)}.faq-note-head{display:flex;align-items:center;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}.faq-note-mark{width:20px;height:20px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-size:11px;letter-spacing:0;text-transform:none;font-weight:600}.faq-note p{margin:14px 0;color:#c1c6cc;font-size:14px;line-height:1.55}
.faq-note ul,.faq-rules{margin:0;padding:0;list-style:none;display:grid;gap:9px}.faq-note li,.faq-rules li{font-size:13px;color:#9aa0a7;line-height:1.45;padding-left:20px;position:relative}.faq-note li:before,.faq-rules li:before{content:"";position:absolute;left:0;top:.66em;width:10px;height:1px;background:var(--accent)}.faq-note li b,.faq-rules li b{color:#e8ebee;font-weight:500}.faq-rules li{font-size:14px}.faq-ask{margin-top:30px}
.faq-toolbar{display:grid;gap:14px;margin-bottom:24px}.faq-search{display:flex;align-items:center;gap:12px;height:56px;padding:0 22px;border:1px solid var(--line);border-radius:999px;background:#121417;transition:border-color .2s,background .2s}.faq-search:focus-within{border-color:rgba(166,213,255,.55);background:#15181b}.faq-search svg{width:18px;height:18px;color:#7d838a;flex:none}.faq-search input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--text);font-size:15px}.faq-search input::placeholder{color:#6c737a}
.faq-filters{display:flex;flex-wrap:wrap;gap:8px}.faq-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:transparent;color:#c3c8ce;border-radius:999px;padding:9px 14px;font-size:13px;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}.faq-chip:hover{border-color:rgba(255,255,255,.32);color:#fff}.faq-chip i{font-style:normal;font-size:11px;color:#7d838a;font-variant-numeric:tabular-nums}.faq-chip.active{background:#fff;border-color:#fff;color:#111}.faq-chip.active i{color:#6b7077}.faq-chip.is-note{border-style:dashed;border-color:rgba(166,213,255,.42);color:var(--accent)}.faq-chip.is-note.active{background:var(--accent);border-color:var(--accent);color:#0b0c0d}
.faq-list{border-top:1px solid var(--line)}.faq-item{position:relative;border-bottom:1px solid var(--line);transition:background .4s;animation:faq-in .6s var(--ease-out) both;animation-delay:var(--d,0ms)}.faq-item:before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease-out)}.faq-item.open{background:linear-gradient(90deg,rgba(166,213,255,.06),rgba(166,213,255,0) 70%)}.faq-item.open:before{transform:scaleY(1)}.faq-item.is-note:before{background:repeating-linear-gradient(180deg,var(--accent) 0 6px,transparent 6px 10px)}
@keyframes faq-in{from{opacity:0;translate:0 12px}}
.faq-item h3{margin:0;font:inherit}.faq-q{width:100%;display:grid;grid-template-columns:44px 1fr 42px;gap:18px;align-items:center;padding:26px 18px 26px 22px;background:none;border:0;color:var(--text);text-align:left;cursor:pointer}.faq-num{font-size:12px;color:#6f767d;letter-spacing:.06em;font-variant-numeric:tabular-nums}.faq-q-text{font-size:clamp(18px,1.6vw,23px);line-height:1.25;letter-spacing:-.02em;font-weight:500;transition:color .2s}.faq-q:hover .faq-q-text{color:var(--accent-2)}.faq-q:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:12px}
.faq-tag{font-size:11px;color:#8d939a;border:1px solid var(--line);border-radius:999px;padding:6px 10px;white-space:nowrap}.faq-item.is-note .faq-tag{border-style:dashed;border-color:rgba(166,213,255,.45);color:var(--accent)}
.faq-icon{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);position:relative;color:#e8ebee;transition:transform .55s var(--ease-out),background .3s,border-color .3s,color .3s}.faq-icon:before,.faq-icon:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:currentColor;translate:-50% -50%}.faq-icon:after{rotate:90deg;transition:rotate .55s var(--ease-out)}.faq-q:hover .faq-icon{border-color:rgba(255,255,255,.35)}.faq-item.open .faq-icon{background:#fff;border-color:#fff;color:#111;transform:rotate(180deg)}.faq-item.open .faq-icon:after{rotate:0deg}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease-out)}.faq-item.open .faq-a{grid-template-rows:1fr}.faq-a-inner{overflow:hidden;min-height:0}.faq-a-body{padding:0 78px 30px 84px;opacity:0;translate:0 -8px;transition:opacity .35s,translate .5s var(--ease-out)}.faq-item.open .faq-a-body{opacity:1;translate:0 0;transition-delay:.1s}
.faq-short{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:8px}.faq-lead{font-size:17px;line-height:1.55;color:#e4e7ea;margin:0 0 18px;max-width:700px}.faq-a-body p:not(.faq-lead){color:#a7adb4;font-size:15px;line-height:1.6;margin:18px 0 0;max-width:700px}.ph{color:#7d848b}span.ph,small.ph{border-bottom:1px dashed #4d535a}
.faq-anatomy,.faq-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;list-style:none}.faq-steps{grid-template-columns:repeat(4,1fr)}.faq-anatomy>div,.faq-steps li{position:relative;border:1px solid var(--line);border-radius:18px;padding:16px;background:rgba(255,255,255,.02);display:flex;flex-direction:column;align-items:flex-start;gap:6px}.faq-anatomy span,.faq-steps span{font-size:11px;color:var(--accent);letter-spacing:.08em}.faq-anatomy b,.faq-steps b{font-size:14px;font-weight:500}.faq-anatomy small,.faq-steps small{font-size:12px;color:#8d939a;line-height:1.4}.faq-steps li:not(:last-child):after{content:"";position:absolute;right:-11px;top:24px;width:10px;height:1px;background:rgba(166,213,255,.5)}
.faq-mats{display:grid;border-top:1px solid var(--line)}.faq-mat{display:grid;grid-template-columns:minmax(170px,.8fr) 1.2fr 24px;gap:16px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line);font-size:14px;transition:padding .3s var(--ease-out)}.faq-mat b{font-weight:500}.faq-mat span{color:#9aa0a7;font-size:13px}.faq-mat em{font-style:normal;text-align:right;color:#7d838a;transition:translate .3s var(--ease-out),color .2s}.faq-mat:hover{padding-left:12px}.faq-mat:hover em{translate:4px 0;color:#fff}.faq-mat.is-flag b{color:var(--accent-2)}
.faq-table{border:1px solid var(--line);border-radius:18px;overflow:hidden;font-size:13px}.faq-tr{display:grid;grid-template-columns:1.3fr 1fr 1fr}.faq-tr>div{padding:12px 16px;border-left:1px solid var(--line)}.faq-tr>div:first-child{border-left:0;color:#dfe2e5}.faq-tr+.faq-tr{border-top:1px solid var(--line)}.faq-th{background:#16191c;font-size:12px}.faq-th>div,.faq-th>div:first-child{color:#8d939a}
.faq-formats{display:flex;flex-wrap:wrap;gap:8px}.faq-formats span{border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#dfe2e5;background:rgba(255,255,255,.02)}.faq-formats span.ph{border:1px dashed var(--line);color:#7d848b}
.faq-link{margin-top:18px}.faq-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.1);font-size:12px;color:#737a81}.faq-src.is-note{color:var(--accent)}.faq-rate{display:inline-flex;align-items:center;gap:6px}.faq-rate button{border:1px solid var(--line);background:none;color:#c3c8ce;border-radius:999px;padding:5px 12px;font-size:12px;cursor:pointer;transition:.2s}.faq-rate button:hover{background:#fff;border-color:#fff;color:#111}.faq-thanks{color:var(--accent);animation:faq-in .5s var(--ease-out) both}
.faq-empty{display:grid;justify-items:start;gap:8px;padding:34px 28px;margin-top:18px;border:1px dashed var(--line);border-radius:22px;color:#9aa0a7;font-size:14px;animation:faq-in .5s var(--ease-out) both}.faq-empty[hidden]{display:none}.faq-empty b{color:#fff;font-size:18px;font-weight:500}.faq-empty .text-link{margin-top:8px;color:#fff}
@media(prefers-reduced-motion:reduce){.faq-item,.faq-empty,.faq-thanks{animation:none}.faq-a,.faq-a-body,.faq-icon,.faq-icon:after,.faq-item:before{transition:none}}
.mobile-menu{display:none}
@media(max-width:980px){
  .container{width:min(100% - 36px,1440px)}
  .nav{grid-template-columns:1fr auto;height:72px}.nav-links,.nav-cta{display:none}.burger{display:block}.mobile-menu.open{display:block;position:fixed;inset:72px 0 auto;background:#0d0e10;border-bottom:1px solid var(--line);z-index:59;padding:20px}.mobile-menu a{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
  .hero{padding:100px 0 46px}.hero-media{inset:72px 0 0;background-position:58% center}.hero-art{inset:0}.hero-copy{padding-top:38vh}.hero h1{font-size:clamp(50px,13vw,82px)}.hero-bottom{display:block}.hero-lead{font-size:16px}.hero-bottom .text-link{margin-top:22px}
  .section{padding:82px 0}.section-head{grid-template-columns:1fr;gap:18px;margin-bottom:36px}.section-intro{font-size:16px}.ecosystem{grid-template-columns:1fr;min-height:auto}.core-card{min-height:520px}.side-directions{grid-template-rows:none;grid-template-columns:1fr}.direction{min-height:170px}.center-teaser{grid-template-columns:1fr}.center-copy{padding:34px}.center-visual{min-height:420px}
  .flagship-grid{grid-template-columns:1fr}.flagship-copy{padding:82px 24px 136px}.flagship-media{min-height:520px;order:-1}.known-materials{width:calc(100% - 36px)}.known-panel{width:100%}.gallery{grid-template-columns:1fr;grid-template-rows:520px 300px 300px}.work:nth-child(1){grid-row:auto}.cta-card{grid-template-columns:1fr}.cta-actions{justify-self:start;text-align:left}.cta-actions p{margin-left:0}.footer-row{gap:20px;flex-direction:column}
  .page-hero{padding:130px 0 54px}.materials-flag-card{grid-template-columns:1fr}.materials-flag-visual{min-height:520px;order:-1}.materials-flag-copy{padding:36px}.catalog-top{grid-template-columns:1fr}.catalog-tabs{justify-content:flex-start}.material-item{grid-template-columns:45px 1fr 36px}.material-item p{grid-column:2/3;margin-top:-6px}
  .faq-grid{grid-template-columns:1fr;gap:44px}.faq-side{position:static}.faq-a-body{padding:0 22px 28px 84px}.faq-steps{grid-template-columns:repeat(2,1fr)}.faq-steps li:after{display:none}
}
@media(max-width:620px){
  .container{width:calc(100% - 28px)}.hero h1{font-size:49px}.hero-copy{padding-top:34vh}.eyebrow{font-size:10px}.hero-lead{font-size:15px}.section-title{font-size:42px}.core-card{min-height:430px;padding:24px}.core-card h3{font-size:48px}.core-object{width:58%;right:-4%;bottom:18%}.center-copy{padding:28px 22px}.center-visual{min-height:340px}.flagship-copy{padding:62px 18px 150px}.flagship h2{font-size:56px}.flagship-media{min-height:420px}.specs{grid-template-columns:1fr}.known-panel{padding:18px}.gallery{grid-template-rows:430px 260px 260px}.cta-card h2{font-size:58px}.primary-btn,.ghost-btn{margin:8px 6px 0 0}.page-title h1{font-size:64px}.materials-flag-visual{min-height:400px}.materials-flag-copy{padding:28px 20px}.fact-grid{grid-template-columns:1fr}.catalog-tabs{overflow-x:auto;padding-bottom:4px}.material-item h3{font-size:23px}
  .faq-filters{flex-wrap:nowrap;overflow-x:auto;margin-right:-14px;padding-right:14px;padding-bottom:4px;scrollbar-width:none}.faq-search{height:50px;padding:0 18px}.faq-search input{font-size:14px}
  .faq-q{grid-template-columns:28px 1fr 38px;gap:6px 12px;padding:22px 4px 22px 14px;align-items:start}.faq-num{padding-top:5px}.faq-tag{grid-column:2;grid-row:2;justify-self:start;margin-top:6px}.faq-icon{grid-column:3;grid-row:1/3;width:38px;height:38px}
  .faq-a-body{padding:0 14px 24px 54px}.faq-lead{font-size:16px}.faq-anatomy{grid-template-columns:1fr}.faq-mat{grid-template-columns:1fr 20px;gap:4px 12px}.faq-mat span{grid-column:1}.faq-mat em{grid-column:2;grid-row:1/3}.faq-tr{grid-template-columns:1.1fr 1fr 1fr}.faq-tr>div{padding:10px}
}

/* Photography — заменяет композиционные плейсхолдеры (источник: visiolign.com) */
.core-card:after{display:none}
.core-object{right:-3%;bottom:-2%;width:66%;aspect-ratio:4/3;border-radius:0;background:none;box-shadow:none;pointer-events:none}
.core-object img{display:block;width:100%;height:100%;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse closest-side at 50% 52%,#000 74%,transparent 100%);mask-image:radial-gradient(ellipse closest-side at 50% 52%,#000 74%,transparent 100%)}
.center-visual{background:#0b0c0d;overflow:hidden}
.center-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:32% 50%}
.center-visual:before{inset:0;border-radius:0;clip-path:none;box-shadow:none;z-index:1;background:linear-gradient(90deg,rgba(10,10,11,.6),transparent 20%),linear-gradient(0deg,rgba(8,9,10,.8),transparent 30%)}
.center-visual:after{z-index:2;content:"Фрезеровка · CAD/CAM";color:#c9ced3}
.flagship-media{background:#141517}
.flagship-media img{position:absolute;left:0;top:-14%;width:100%;height:114%;object-fit:cover;object-position:50% 50%}
.flagship-media:before{inset:0;width:auto;aspect-ratio:auto;border-radius:0;box-shadow:none;z-index:1;background:linear-gradient(0deg,rgba(10,11,12,.72),transparent 28%),linear-gradient(90deg,rgba(10,11,12,.3),transparent 16%)}
.flagship-media:after{z-index:2;content:"Опалесценция · макросъёмка";top:28px;bottom:auto;color:#d3d7da}
.work{background:#0b0c0d}
.work img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.work:before,.work:nth-child(2):before,.work:nth-child(3):before{inset:0;border-radius:0;transform:none;opacity:1;z-index:1;background:linear-gradient(0deg,rgba(8,9,10,.85) 0%,rgba(8,9,10,.3) 32%,transparent 55%)}
.work-caption{z-index:2}
.work:nth-child(1) img{object-position:50% 38%}
.work:nth-child(2) img{object-position:60% 50%}
.work:nth-child(3) img{height:116%;object-position:55% 35%}
.page-hero:before{display:none}
.page-hero-media{position:absolute;top:84px;right:0;bottom:0;width:46%;z-index:0;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%),linear-gradient(180deg,transparent 0%,#000 16%,#000 72%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,#000 38%),linear-gradient(180deg,transparent 0%,#000 16%,#000 72%,transparent 100%);mask-composite:intersect}
.page-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:8% 45%;filter:brightness(.86)}
.materials-flag-visual{background:#131518;overflow:hidden}
.materials-flag-visual img{position:absolute;left:0;top:0;width:100%;height:116%;object-fit:cover;object-position:62% 0}
.materials-flag-visual:before{inset:0;width:auto;aspect-ratio:auto;border-radius:0;box-shadow:none;z-index:1;background:linear-gradient(0deg,rgba(10,11,12,.75),transparent 26%)}
.materials-flag-visual:after{z-index:2;content:"Флагманский композит · макро"}
.direction{position:relative;overflow:hidden;background:#0d0f11;border-color:transparent;color:#fff}
.direction:hover{background:#0d0f11}
.direction .num{position:relative;z-index:2;color:#8d939a}
.direction>div:last-child{position:relative;z-index:2;text-shadow:0 1px 22px rgba(0,0,0,.65)}
.direction p{color:#a3a9b0}
.direction:nth-child(1) .direction-media{top:-16%;bottom:16%;right:-10%}
.direction-media{position:absolute;top:0;right:-5%;bottom:0;width:54%;z-index:0;pointer-events:none}
.direction-media img{display:block;width:100%;height:100%;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 52%,transparent 100%);mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 52%,transparent 100%)}

/* Motion — плавное появление + параллакс от курсора (классы вешает script.js) */
:root{--ease-out:cubic-bezier(.16,1,.3,1)}
.fx-media{scale:1.1;translate:var(--px,0px) var(--py,0px);rotate:var(--rz,0deg);transition:scale 1.8s var(--ease-out),translate 1.2s var(--ease-out),rotate 1.2s var(--ease-out),opacity 1.2s ease;will-change:scale,translate}
.fx.is-in .fx-media{scale:1.03}
.fx-obj.fx-media{scale:.94;opacity:0}
.fx.is-in .fx-obj.fx-media{scale:1;opacity:1}
@media(hover:hover){
  .fx.is-in:hover .fx-media{scale:1.08}
  .fx.is-in:hover .fx-obj.fx-media{scale:1.05}
  .fx-still.is-in:hover .fx-media{scale:1.03}
}
@media(prefers-reduced-motion:reduce){.fx-media{transition:none;scale:1;translate:none;rotate:none;opacity:1}}
@media(max-width:980px){
  .core-object{width:80%;right:-10%;bottom:-4%}
  .direction-media{width:58%;right:-2%}
  .center-visual img{object-position:28% 50%}
  .page-hero-media{top:72px;width:78%;opacity:.55}
  .page-hero-media img{object-position:30% 40%}
}
@media(max-width:620px){
  .core-object{width:76%;right:-22%;bottom:6%}
}
