/* Turnkey-specific composition; existing product sections and shared controls are reused. */
.turnkey-page .tk-hero { padding-block:80px; }
.turnkey-page .tk-hero h1 { font-size:clamp(42px,4.2vw,62px); line-height:1.08; }
.turnkey-page .tk-hero .demetra-intro { margin-block:26px 18px; }
.tk-hero-more { max-width:540px; margin:0 0 30px; color:#6d5b77; font-size:15px; line-height:1.8; }
.tk-visual { position:relative; min-width:0; padding-block:30px 54px; isolation:isolate; }
.tk-visual::before { content:''; position:absolute; z-index:-1; inset:-45px -20px; border-radius:50%; background:radial-gradient(ellipse,#b56de638,transparent 65%); }
.tk-console { overflow:hidden; border:1px solid #654273; border-radius:24px; background:radial-gradient(ellipse at 70% 20%,#622d8d33,transparent 65%),#150b20; color:#fff; box-shadow:0 30px 60px #36124926; transform:rotate(-2deg); }
.tk-console-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid #ffffff1c; color:#bf9dce; font:9px var(--mono); letter-spacing:.08em; }
.tk-console-bar>span { display:flex; gap:5px; }
.tk-console-bar i { width:5px; height:5px; border-radius:50%; background:#9570a8; }
.tk-console-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 24px 4px; }
.tk-console-heading strong { font-size:17px; line-height:1.6; }
.tk-console-heading svg { flex:none; width:30px; height:30px; fill:none; stroke:#cc69e7; stroke-width:1.5; }
.tk-system-map { position:relative; height:310px; margin:20px; border:1px solid #ffffff14; border-radius:16px; background:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px); background-size:26px 26px; }
.tk-map-lines { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:#a559be; stroke-width:1; }
.tk-map-lines circle { stroke:#ba61d43b; }
.tk-map-core { position:absolute; left:50%; top:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:100px; height:94px; border:1px solid #b357d2; border-radius:18px; background:radial-gradient(ellipse,#8230b1,#321348); box-shadow:0 0 0 8px #c363ed08,0 0 30px #a238ca28; transform:translate(-50%,-50%); }
.tk-map-core svg { width:30px; height:30px; fill:none; stroke:#edbaff; stroke-width:1.5; }
.tk-map-core b { font-size:16px; }
.tk-node { position:absolute; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:110px; min-height:80px; padding:12px 8px; border:1px solid #674177; border-radius:13px; background:#261232; text-align:center; box-shadow:0 10px 20px #0003; }
.tk-node svg { width:25px; height:25px; fill:none; stroke:#c789df; stroke-width:1.5; }
.tk-node strong { font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.tk-node-platform { inset-inline-start:16px; top:16px; }
.tk-node-operations { inset-inline-end:16px; top:16px; }
.tk-node-content { inset-inline-start:16px; bottom:16px; }
.tk-node-payments { inset-inline-end:16px; bottom:16px; }
.tk-console-footer { margin:0 20px; padding:16px 0 22px; border-top:1px solid #ffffff1c; color:#c4aad0; font:10px/1.7 var(--mono); }
.tk-configuration-chip { position:absolute; inset-inline-start:-6px; bottom:34px; display:flex; align-items:center; gap:12px; max-width:90%; padding:15px 20px; border:1px solid #d5b8e3; border-radius:14px; background:#fff; box-shadow:0 12px 30px #38144c15; font-size:13px; font-weight:800; color:#49235f; }
.tk-configuration-chip svg { width:26px; height:26px; fill:none; stroke:#9c41c5; stroke-width:1.5; flex:none; }
.tk-visual-caption { margin:26px 0 -30px; text-align:center; color:#786283; font:10px var(--mono); }
.tk-about { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:80px; align-items:start; }
.tk-body-text { margin:22px 0 0; color:#6b5776; font-size:16px; line-height:1.85; }
.tk-about>div:last-child .tk-body-text:first-child { margin-top:0; }
.tk-feature-grid li { overflow-wrap:anywhere; }
.tk-feature-grid h3 { overflow-wrap:anywhere; }
.tk-requirements { padding-bottom:32px; }
.tk-requirements-card { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:center; gap:48px; padding:48px; border:1px solid #d3a7e4; border-radius:26px; background:radial-gradient(ellipse at 90% 20%,#c488eb38,transparent 55%),linear-gradient(140deg,#f2e5fa,#eae0f3); }
.turnkey-page .tk-requirements-card h2 { font-size:clamp(32px,3vw,44px); }
.tk-module-qualifier { margin:0 0 20px; color:#7b4e92; font:11px/1.6 var(--mono); }
.tk-module-core { display:flex; align-items:center; gap:16px; padding:22px; border:1px solid #6c367e; border-radius:16px; background:linear-gradient(135deg,#301446,#64297a); color:#fff; }
.tk-module-core svg { width:32px; height:32px; fill:none; stroke:#d695f0; stroke-width:1.5; flex:none; }
.tk-module-core strong { font-size:17px; }
.tk-module-list { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.tk-module-list>span { display:flex; align-items:center; gap:10px; width:100%; min-width:0; padding:14px 18px; border:1px solid #dcc3e9; border-radius:12px; background:#ffffffb0; color:#624075; font-size:13px; font-weight:700; }
.tk-module-list svg { width:22px; height:22px; fill:none; stroke:#a157bd; stroke-width:1.5; flex:none; }
.tk-module-list>span>span { min-width:0; overflow-wrap:anywhere; }
.tk-comparison-grid a { position:relative; min-width:0; padding:30px; border:1px solid #dfd2e8; border-radius:20px; background:#fff; text-decoration:none; transition:background .2s,border-color .2s; }
.tk-comparison-grid a:hover { border-color:#ab67c6; background:#f2e6fa; }
.tk-comparison-grid a.tk-selected { border-color:#b75adc; background:linear-gradient(140deg,#f1e0fc,#f8f1fc); }
.tk-comparison-grid svg { width:34px; height:34px; margin-bottom:24px; fill:none; stroke:#9d40c8; stroke-width:1.5; }
.tk-comparison-grid a>strong { display:block; margin:0 0 14px; color:#713b8c; font-size:14px; line-height:1.6; }
.tk-comparison-grid a>span { position:absolute; top:30px; inset-inline-end:24px; color:#9d40c8; }
.tk-comparison-grid p { margin:0; color:#785f85; font-size:14px; line-height:1.8; }
.turnkey-page .tk-audience h2 { max-width:1000px; }
.tk-related a p { margin:16px 0 0; color:#786283; font-size:14px; line-height:1.7; }
.tk-form-intro { padding-top:48px; }
.tk-form-intro .tk-body-text { max-width:790px; }
[dir="rtl"] .turnkey-page .tk-hero h1 { line-height:1.45; letter-spacing:0; }
@media(max-width:1000px) {
 .tk-system-map { margin:16px; height:300px; }
 .tk-console-heading { padding-inline:20px; }
 .tk-console-heading strong { font-size:15px; }
 .tk-node { width:92px; }
 .tk-node-platform,.tk-node-content { inset-inline-start:10px; }
 .tk-node-operations,.tk-node-payments { inset-inline-end:10px; }
 .tk-about { gap:40px; }
 .tk-requirements-card { padding:32px; gap:32px; }
}
@media(max-width:800px) {
 .turnkey-page .tk-hero { padding-block:56px; }
 .turnkey-page .tk-hero h1 { font-size:clamp(40px,6.4vw,54px); }
 .tk-hero-more { max-width:650px; }
 .tk-visual { width:min(100%,560px); margin-inline:auto; }
 .tk-node { width:110px; }
 .tk-about { grid-template-columns:1fr; gap:12px; }
 .tk-requirements-card { grid-template-columns:1fr; gap:32px; }
 .tk-module-list { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .tk-module-list>span:last-child { grid-column:1/-1; }
 .tk-comparison-grid a { padding:24px; }
}
@media(max-width:600px) {
 .turnkey-page .tk-hero h1 { font-size:40px; }
 .tk-console-bar { padding:16px 12px; font-size:8px; }
 .tk-console-bar b { letter-spacing:0; }
 .tk-console-heading { padding:20px 14px 4px; }
 .tk-system-map { height:290px; margin:12px; }
 .tk-node { width:84px; min-height:76px; padding:10px 6px; }
 .tk-node svg { width:22px; height:22px; }
 .tk-node strong { font-size:11px; }
 .tk-map-core { width:78px; height:80px; border-radius:14px; }
 .tk-map-core b { font-size:13px; }
 .tk-map-core svg { width:24px; height:24px; }
 .tk-node-platform,.tk-node-operations { top:12px; }
 .tk-node-content,.tk-node-payments { bottom:12px; }
 .tk-node-platform,.tk-node-content { inset-inline-start:8px; }
 .tk-node-operations,.tk-node-payments { inset-inline-end:8px; }
 .tk-console-footer { font-size:10px; }
 .tk-configuration-chip { inset-inline-start:0; padding:12px 16px; font-size:12px; }
 .tk-body-text { font-size:16px; line-height:1.8; }
 .tk-requirements-card { padding:28px 22px; border-radius:22px; }
 .tk-module-core { padding:20px 16px; }
 .tk-module-list { grid-template-columns:1fr; }
 .tk-module-list>span { padding:14px; }
 .tk-comparison-grid a { padding:28px; }
 .tk-form-intro { padding-top:40px; }
}
@media(prefers-reduced-motion:reduce) { .tk-comparison-grid a { transition:none; } }
