/* Johto Data — /services/ page. Palette: black/white/silver + #7cd4ff + pastel card backgrounds. */
.sv-hero{padding:56px 0 28px;text-align:center}
.sv-hero h1{font-size:clamp(2.1rem,6vw,3.6rem);letter-spacing:-.04em;line-height:1.05;margin:10px 0 16px}
.sv-lead{font-size:clamp(1.02rem,1.6vw,1.18rem);max-width:60ch;margin:0 auto 18px;color:#0a0a0a;line-height:1.55}
.sv-std{max-width:62ch;margin:0 auto 10px;color:var(--muted);line-height:1.55}
.sv-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0a0a0a;margin-bottom:4px}
.sv-umb{font-weight:600;margin:0 auto 24px}
.sv-proof{padding:0 0 12px}
.sv-proof-list{list-style:none;margin:0 auto;padding:16px 20px;max-width:880px;display:grid;gap:8px;background:linear-gradient(180deg,#fbfbfc,#eceef1);border:1px solid #d9dde3;border-radius:18px;font-size:.95rem}
.sv-proof-list li{overflow-wrap:anywhere}
.sv-steps{max-width:720px;margin:0 auto;padding-left:22px;display:grid;gap:10px}
.sv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:18px}
.sv-card{background:linear-gradient(180deg,#fff,#f4f5f7);border:1px solid #d9dde3;border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:12px;min-width:0;box-shadow:0 1px 2px rgba(10,10,10,.04),0 14px 30px -22px rgba(10,10,10,.3)}
.sv-card:nth-child(4n+1){background:linear-gradient(180deg,#fff,#eceef1)}
.sv-card:nth-child(4n+2){background:linear-gradient(180deg,#fff,#dff4ff)}
.sv-card:nth-child(4n+3){background:linear-gradient(180deg,#fff,#dff5ee)}
.sv-card:nth-child(4n+4){background:linear-gradient(180deg,#fff,#ece6fb)}
.sv-top{display:flex;align-items:center;gap:12px}
.sv-top h3{margin:0;font-size:1.15rem;letter-spacing:-.01em}
.sv-ico{flex:0 0 auto;color:#0a0a0a}
.sv-desc,.sv-note{margin:0}
.sv-note{color:var(--muted);font-size:.9rem}
.sv-tbl{overflow-x:auto;max-width:100%}
.sv-tbl table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff;border:1px solid #e2e5ea;border-radius:12px;overflow:hidden}
.sv-tbl th,.sv-tbl td{text-align:left;padding:9px 10px;border-bottom:1px solid #eceef1;vertical-align:top}
.sv-tbl thead th{background:#0a0a0a;color:#fff;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
.sv-tbl tbody th{font-weight:500}
.sv-price{font-weight:800;white-space:nowrap}
.sv-h4{margin:4px 0 0;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.sv-get{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.93rem}
.sv-get li{display:flex;gap:8px;align-items:flex-start}
.sv-i{flex:0 0 auto;margin-top:3px;color:#0a0a0a}
.sv-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:6px}
.sv-pay{max-width:720px;margin:0 auto;padding-left:22px;display:grid;gap:8px}
.sv-form-card{max-width:640px;margin:0 auto;background:linear-gradient(180deg,#fbfbfc,#eceef1);border:1px solid #c9ced6;border-radius:22px;padding:28px}
.sv-form-card h2{margin:0 0 6px}
.sv-intro{color:var(--muted);margin:0 0 18px}
.sv-err{background:#fff;border:1px solid #0a0a0a;border-radius:12px;padding:10px 14px}
.sv-form .field{margin-bottom:14px}
.sv-form input[type=text],.sv-form input[type=email],.sv-form select,.sv-form textarea{width:100%;max-width:100%;box-sizing:border-box}
.sv-consent label{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.sv-consent input{margin-top:4px}
@media (max-width:560px){.sv-hero{padding-top:36px}.sv-card{padding:16px}.sv-form-card{padding:18px}.sv-act .btn{flex:1 1 100%;justify-content:center;text-align:center}.sv-hero .btn{width:100%}.fgrid2{grid-template-columns:1fr}}
.sv-form .fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:560px){.sv-form .fgrid2{grid-template-columns:1fr}}
/* t593u item 12: cinematic services hero, sample work, reveal (silver + #7cd4ff only) */
.sv-hero2{position:relative;overflow:hidden;padding:clamp(72px,12vw,140px) 0 clamp(56px,9vw,110px);text-align:left;background:#0b0d10;color:#fff;min-height:min(78vh,640px);display:flex;align-items:center}
.sv2-bg{position:absolute;inset:0;z-index:0}
.sv2-bg img{width:100%;height:100%;object-fit:cover;animation:sv2kb 18s ease-in-out infinite alternate}
.sv2-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,10,.88) 0%,rgba(5,7,10,.62) 48%,rgba(5,7,10,.2) 100%),linear-gradient(0deg,rgba(5,7,10,.6),rgba(5,7,10,0) 40%)}
.sv2-in{position:relative;z-index:1;max-width:1100px}
.sv-hero2 h1{color:#fff;font-weight:800;font-size:clamp(2.2rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.03em;margin:10px 0 16px;max-width:14ch;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.sv2-acc{color:#7cd4ff;text-shadow:0 0 24px rgba(124,212,255,.45)}
.sv2-eb{color:#cfe9f7}
.sv-hero2 .sv-lead{color:#e6ebf0;max-width:58ch;font-size:clamp(1rem,1.6vw,1.15rem)}
.sv-hero2 .kw{color:#7cd4ff}
.sv2-cta{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 18px}
.sv2-silver{background:repeating-linear-gradient(90deg,rgba(255,255,255,.25) 0 1px,rgba(0,0,0,.02) 1px 3px),linear-gradient(180deg,#fbfcfd,#e6ebf0 45%,#d4dbe2 80%,#eef2f6);color:#0a0a0a;border:1px solid #fff;box-shadow:0 0 0 1px rgba(124,212,255,.35),0 10px 24px -10px rgba(0,0,0,.8)}
.sv2-silver:hover{box-shadow:0 0 0 1px #7cd4ff,0 0 22px rgba(124,212,255,.55);text-decoration:none}
.sv2-ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.45)}
.sv2-ghost:hover{border-color:#7cd4ff;box-shadow:0 0 16px rgba(124,212,255,.4);text-decoration:none}
.sv2-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sv2-facts li{padding:6px 12px;border-radius:999px;border:1px solid rgba(124,212,255,.45);background:rgba(124,212,255,.08);color:#e6f6ff;font-size:.88rem;font-weight:600}
.sv-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.sv-card:hover{transform:translateY(-3px);border-color:#7cd4ff;box-shadow:0 0 0 1px rgba(124,212,255,.4),0 18px 40px -24px rgba(10,20,30,.5),0 0 24px -6px rgba(124,212,255,.35)}
.sv2-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sv2-panel{margin:0;min-width:0;border-radius:16px;background:linear-gradient(180deg,#0e1115,#07090b);border:1px solid #2a3038;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 48px -28px rgba(0,0,0,.6);overflow:hidden;color:#e6ebf0}
.sv2-panel figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid #20262d;font:600 .85rem/1.3 ui-monospace,Menlo,Consolas,monospace;color:#cfe9f7}
.sv2-dot{width:8px;height:8px;border-radius:50%;background:#7cd4ff;box-shadow:0 0 8px #7cd4ff}
.sv2-tag{font-weight:500;color:#8a96a3}
.sv2-scroll{overflow-x:auto}
.sv2-tbl{width:100%;border-collapse:collapse;font:.82rem/1.4 ui-monospace,Menlo,Consolas,monospace}
.sv2-tbl th,.sv2-tbl td{padding:8px 12px;text-align:left;white-space:nowrap;border-bottom:1px solid #1b2026}
.sv2-tbl th{color:#7cd4ff;font-weight:600}
.sv2-json{margin:0;padding:14px 16px;overflow-x:auto;font:.8rem/1.5 ui-monospace,Menlo,Consolas,monospace;color:#d8e4ee;white-space:pre}
.sv2-src{margin:0;padding:10px 16px 14px;font-size:.88rem}
.sv2-src a{color:#7cd4ff}
.sv2-deliver{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.sv2-deliver>div{padding:20px;border-radius:16px;background:linear-gradient(180deg,#fff,#f1f4f7);border:1px solid #d4dbe2}
.sv2-deliver h3{margin:0 0 6px}
.sv2-deliver p{margin:0 0 12px;color:#3a434d}
.js-reveal [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js-reveal [data-reveal].is-in{opacity:1;transform:none}
@keyframes sv2kb{from{transform:scale(1)}to{transform:scale(1.07)}}
@media (max-width:820px){.sv2-panels,.sv2-deliver{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.sv2-bg img{animation:none}.js-reveal [data-reveal]{opacity:1;transform:none;transition:none}.sv-card{transition:none}}
/* [Stage B / D49] growth pricing, tailor-your-quote form, SEO service pages */
.gp-intro{max-width:760px}
.gp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 8px}
.gp-card{background:linear-gradient(180deg,#fbfbfc,#eceef1);border:1px solid #c9ced6;border-radius:18px;padding:22px;min-width:0}
.gp-card h3{margin:0 0 6px;font-size:1.05rem}
.gp-price{font-size:1.35rem;font-weight:700;margin:0 0 4px;line-height:1.25}
.gp-sub{margin:0 0 10px;color:#4a5160}
.gp-full{background:linear-gradient(180deg,#f2f3f5,#dfe2e7)}
.gp-cta{margin-top:12px}
.gp-tailor{font-weight:600;margin:10px 0}
.gp-addons,.gp-know,.gp-pages{margin-top:26px}
.gp-alist,.gp-plist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 22px;padding-left:18px;margin:8px 0}
.gp-plist a{overflow-wrap:anywhere}
.qf-set{border:0;padding:0;margin:0 0 16px;min-width:0}
.qf-set legend{font-weight:700;margin-bottom:8px}
.qf-sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.qf-opt{display:flex;gap:10px;align-items:flex-start;border:1px solid #c9ced6;border-radius:14px;padding:12px;background:#fff;cursor:pointer;min-width:0}
.qf-opt span{display:flex;flex-direction:column;gap:2px;min-width:0}
.qf-opt em{font-style:normal;font-size:.88rem;color:#4a5160}
.qf-opt input:checked+span b{text-decoration:underline}
.qf-addons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
.qf-chk{display:flex;gap:8px;align-items:flex-start;font-size:.95rem;min-width:0}
.qf-est{background:#fff;border:1px dashed #9aa1ad;border-radius:12px;padding:12px;font-weight:600;margin:0 0 16px}
.qf-opt-l{font-weight:400;color:#5a6170}
.qf-msg{border-radius:12px;padding:12px 14px;margin:10px 0}
.qf-err{background:#fdecec;border:1px solid #e3a3a3}
.qf-ok{background:#eef7ef;border:1px solid #9fcca6}
.qf-alt{text-align:center;margin:12px 0 0}
.svp-hero{padding:40px 0 24px}
.svp-crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 16px;font-size:.88rem}
.svp-crumbs li+li::before{content:"/";margin-right:6px;color:#8a909b}
.svp-hgrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}
.svp-htext h1{margin:6px 0 12px;overflow-wrap:anywhere}
.svp-lead{font-size:1.08rem;max-width:680px}
.svp-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:16px}
.svp-alt{font-size:.92rem;text-decoration:underline}
.svp-panel{background:linear-gradient(160deg,#f4f5f7,#d9dde3);border:1px solid #c0c6cf;border-radius:20px;padding:22px;min-width:0}
.svp-pk{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:#4a5160}
.svp-pv{margin:2px 0 8px;font-size:1.4rem;font-weight:700;line-height:1.25}
.svp-ps,.svp-pw{margin:0 0 8px;font-size:.95rem}
.svp-w{max-width:820px}
.svp-sec h3{margin:18px 0 6px;font-size:1.05rem}
.svp-list{padding-left:20px}
.svp-rel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px;padding-left:18px}
.st-band{background:#f4f5f7}
.st-cav{font-weight:600;margin:0 0 12px}
.st-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;list-style:none;padding:0;margin:0}
.st-card{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #c9ced6;border-radius:16px;padding:18px;min-width:0}
.st-v{font-size:1.6rem;font-weight:700;line-height:1.15}
.st-b{font-size:.82rem;color:#5a6170;overflow-wrap:anywhere}
.svp-end{text-align:left}
@media (max-width:820px){.svp-hgrid,.gp-grid{grid-template-columns:1fr}}
@media (max-width:560px){.qf-sizes,.qf-addons,.gp-alist,.gp-plist,.svp-rel,.st-grid{grid-template-columns:1fr}.svp-cta .btn{width:100%;justify-content:center;text-align:center}}
