.v2-page { background: var(--color-paper); }
.v2-page * { min-width: 0; overflow-wrap: anywhere; }
.v2-nav { display:flex; gap:28px; font-size:.9rem; }
.v2-header-cta { padding:10px 18px; }
.v2-hero { min-height:78vh; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; padding-top:84px; padding-bottom:84px; }
.v2-hero h1 { font-size:clamp(3rem,7vw,5.6rem); line-height:1.08; letter-spacing:.02em; }
.v2-lead { margin-top:28px; max-width:620px; font-size:1.08rem; color:var(--color-muted); line-height:1.9; }
.v2-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:32px; }
.v2-process-card { position:relative; overflow:hidden; border:1px solid var(--color-line); background:rgba(255,255,255,.78); padding:26px; display:flex; align-items:center; justify-content:space-between; gap:14px; box-shadow:0 12px 40px rgba(18,34,56,.06); }
.v2-process-card::before { content:""; position:absolute; inset:-20% auto -20% -20%; width:42%; background:linear-gradient(90deg, rgba(58,117,148,0), rgba(58,117,148,.08), rgba(58,117,148,0)); transform:skewX(-18deg) translateX(-140%); animation:diagramSweep 8.5s ease-in-out infinite; pointer-events:none; }
.v2-process-card .process-step { display:grid; gap:6px; min-width:0; position:relative; animation:softFloat 5.2s ease-in-out infinite; }
.v2-process-card .step-b { animation-delay:.6s; }
.v2-process-card .step-c { animation-delay:1.1s; }
.v2-process-card span,.v2-service-no { font-family:var(--font-mono); color:var(--color-blue-accent); font-size:.72rem; letter-spacing:.1em; }
.v2-process-card strong { font-family:var(--font-serif); font-size:1.1rem; }
.v2-process-card small { color:var(--color-muted); line-height:1.6; }
.v2-process-card i { font-style:normal; color:var(--color-line-dark); animation:arrowPulse 2.6s ease-in-out infinite; }
.compact { margin-bottom:34px; }
.v2-challenges,.v2-services,.v2-flow,.v2-about,.v2-pricing { padding-top:88px; padding-bottom:88px; }
.v2-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.v2-choice-grid a { min-height:160px; border:1px solid var(--color-line); background:var(--color-paper-card); padding:24px; display:grid; align-content:space-between; gap:20px; transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast); }
.v2-choice-grid a:hover { transform:translateY(-3px); border-color:var(--color-blue-accent); box-shadow:0 10px 30px rgba(18,34,56,.07); }
.v2-choice-grid .featured { background:var(--color-ink); color:#fff; }
.v2-choice-grid .featured span,.v2-choice-grid .featured small { color:rgba(255,255,255,.82); }
.v2-choice-grid strong { font-family:var(--font-serif); font-size:1.35rem; line-height:1.5; }
.v2-choice-grid small { opacity:.82; }
.v2-it-link { margin-top:18px; color:var(--color-muted); }
.v2-it-link a { color:var(--color-ink); text-decoration:underline; text-underline-offset:4px; }
.v2-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.v2-service-grid article { border-top:2px solid var(--color-ink); padding:26px 4px 10px; }
.v2-service-grid h3 { font-size:1.55rem; margin:14px 0 14px; }
.v2-service-grid p { color:var(--color-muted); min-height:5.5em; }
.v2-service-grid ul { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.v2-service-grid li { border:1px solid var(--color-line); background:var(--color-paper-card); padding:7px 10px; font-size:.8rem; }
.v2-aftercare { margin-top:34px; padding:24px 26px; border:1px solid var(--color-line); background:linear-gradient(135deg,var(--color-blue-light),rgba(255,255,255,.92)); display:grid; grid-template-columns:150px 1fr; gap:26px; align-items:start; }
.v2-aftercare > span { font-family:var(--font-mono); color:var(--color-blue-accent); font-size:.72rem; letter-spacing:.12em; padding-top:4px; }
.v2-aftercare strong { display:block; font-family:var(--font-serif); font-size:1.35rem; margin-bottom:8px; }
.v2-aftercare p { margin:0; color:var(--color-muted); line-height:1.85; max-width:760px; }
.v2-works { padding:88px 0; background:var(--color-paper-alt); }
.v2-work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.v2-work-grid article { background:var(--color-paper-card); border:1px solid var(--color-line); padding:12px 12px 22px; transition:transform var(--transition-fast), box-shadow var(--transition-fast); }
.v2-work-grid article:hover { transform:translateY(-3px); box-shadow:0 10px 30px rgba(18,34,56,.06); }
.v2-thumb { aspect-ratio:16/10; display:grid; place-items:center; text-align:center; font-family:var(--font-mono); letter-spacing:.09em; background:linear-gradient(135deg,var(--color-blue-light),#fff); color:var(--color-ink); margin-bottom:18px; }
.v2-work-grid span { font-size:.76rem; color:var(--color-blue-accent); }
.v2-work-grid h3 { margin-top:8px; font-size:1.15rem; }
.v2-flow-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--color-line); border-bottom:1px solid var(--color-line); }
.v2-flow-list li { padding:26px 20px; display:grid; gap:10px; border-right:1px solid var(--color-line); }
.v2-flow-list li:last-child { border-right:none; }
.v2-flow-list span { font-family:var(--font-mono); color:var(--color-blue-accent); }
.v2-flow-list strong { font-family:var(--font-serif); font-size:1.15rem; }
.v2-flow-list small { color:var(--color-muted); line-height:1.7; }
.v2-about { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:start; border-top:1px solid var(--color-line); }
.v2-about h2 { font-size:clamp(2.2rem,5vw,4rem); }
.v2-about > div:last-child { max-width:680px; color:var(--color-muted); font-size:1.05rem; }
.v2-pricing { display:flex; align-items:end; justify-content:space-between; gap:24px; border-top:1px solid var(--color-line); }
.v2-pricing h2 { margin-bottom:10px; }
.v2-contact { padding:96px 0; background:var(--color-ink); color:#fff; text-align:center; }
.v2-contact h2 { color:#fff; font-size:clamp(2rem,5vw,3.8rem); max-width:760px; margin:0 auto 18px; }
.v2-contact p { opacity:.75; margin-bottom:30px; }
.v2-contact .button-primary { background:#fff; color:var(--color-ink); border-color:#fff; }
.v2-footer { min-height:110px; display:flex; align-items:center; gap:22px; }
.v2-footer span { color:var(--color-muted); }
.v2-footer small { margin-left:auto; color:var(--color-muted); }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.reveal.is-visible { opacity:1; transform:none; }
.stagger-group .stagger-item { opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.reveal.is-visible .stagger-item { opacity:1; transform:none; }
.reveal.is-visible .stagger-item:nth-child(1) { transition-delay:.04s; }
.reveal.is-visible .stagger-item:nth-child(2) { transition-delay:.11s; }
.reveal.is-visible .stagger-item:nth-child(3) { transition-delay:.18s; }
.reveal.is-visible .stagger-item:nth-child(4) { transition-delay:.25s; }
.reveal.is-visible .stagger-item:nth-child(5) { transition-delay:.32s; }
.reveal.is-visible .stagger-item:nth-child(6) { transition-delay:.39s; }
.v2-page a:focus-visible,
.v2-page button:focus-visible { outline:2px solid var(--color-blue-accent); outline-offset:3px; }
@keyframes softFloat {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-5px); }
}
@keyframes arrowPulse {
  0%,100% { opacity:.45; transform:translateX(0); }
  50% { opacity:1; transform:translateX(4px); }
}
@keyframes diagramSweep {
  0%,18% { transform:skewX(-18deg) translateX(-140%); }
  45%,55% { transform:skewX(-18deg) translateX(320%); }
  100% { transform:skewX(-18deg) translateX(320%); }
}
@media (max-width:900px) {
  .v2-nav { display:none; }
  .v2-header-cta { display:inline-flex; padding:9px 14px; font-size:.82rem; }
  .v2-hero { grid-template-columns:1fr; min-height:auto; gap:36px; padding-top:64px; padding-bottom:64px; }
  .v2-process-card { display:grid; grid-template-columns:1fr; }
  .v2-process-card::before { width:60%; }
  .v2-process-card i { transform:rotate(90deg); justify-self:start; margin-left:4px; }
  .v2-service-grid,.v2-work-grid { grid-template-columns:1fr; }
  .v2-service-grid p { min-height:0; }
  .v2-aftercare { grid-template-columns:1fr; gap:10px; }
  .v2-flow-list { grid-template-columns:1fr 1fr; }
  .v2-flow-list li:nth-child(2) { border-right:none; }
  .v2-flow-list li:nth-child(-n+2) { border-bottom:1px solid var(--color-line); }
  .v2-about { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:640px) {
  .section-shell { padding-left:20px; padding-right:20px; }
  .header-inner { height:68px; padding:0 20px; }
  .brand-sub { display:none; }
  .v2-header-cta { padding:8px 12px; }
  .v2-hero { padding-top:44px; padding-bottom:52px; }
  .v2-hero h1 { font-size:clamp(2.7rem,14vw,4.3rem); }
  .v2-lead { font-size:1rem; margin-top:22px; }
  .v2-actions { display:grid; grid-template-columns:1fr; }
  .v2-actions .button { width:100%; }
  .v2-process-card { padding:20px; }
  .v2-challenges,.v2-services,.v2-flow,.v2-about,.v2-pricing { padding-top:64px; padding-bottom:64px; }
  .v2-choice-grid { grid-template-columns:1fr; }
  .v2-choice-grid a { min-height:132px; padding:20px; }
  .v2-choice-grid strong { font-size:1.2rem; }
  .v2-aftercare { padding:20px; }
  .v2-aftercare strong { font-size:1.2rem; }
  .v2-flow-list { grid-template-columns:1fr; }
  .v2-flow-list li,.v2-flow-list li:nth-child(2) { border-right:none; border-bottom:1px solid var(--color-line); }
  .v2-flow-list li:last-child { border-bottom:none; }
  .v2-pricing { align-items:stretch; flex-direction:column; }
  .v2-pricing .button { width:100%; }
  .v2-contact { padding:72px 0; }
  .v2-footer { flex-wrap:wrap; padding-top:24px; padding-bottom:24px; }
  .v2-footer small { width:100%; margin-left:0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .v2-process-card::before,
  .v2-process-card .process-step,
  .v2-process-card i { animation:none !important; }
  .reveal,
  .stagger-group .stagger-item { opacity:1 !important; transform:none !important; transition:none !important; }
  .v2-choice-grid a:hover,
  .v2-work-grid article:hover,
  .button-primary:hover { transform:none; }
}