:root{--ap-dark:#171717;--ap-muted:#525252;--ap-muted-light:#737373;--ap-bg:#fff;--ap-surface:#fafafa;--ap-border:#e5e5e5;--ap-border-hover:#d4d4d4;--ap-accent:#000;--ap-text:#171717;--ap-number:#00000008;--font-main:"Inter", system-ui, -apple-system, sans-serif;--radius-ap:16px}@media (prefers-color-scheme:dark){:root{--ap-dark:#fff;--ap-muted:#a3a3a3;--ap-muted-light:#737373;--ap-bg:#0a0a0a;--ap-surface:#121212;--ap-border:#262626;--ap-border-hover:#404040;--ap-accent:#fff;--ap-text:#f5f5f5;--ap-number:#ffffff08}}.approach-section{background:var(--ap-bg);color:var(--ap-text);font-family:var(--font-main);justify-content:center;padding:8rem 2rem 4rem;display:flex;position:relative;overflow:hidden}.approach-orb{pointer-events:none;filter:blur(100px);opacity:.5;will-change:transform;border-radius:50%;position:absolute}.orb-1{background:radial-gradient(circle,#0000000a 0%,#0000 70%);width:500px;height:500px;top:-100px;left:-150px}.orb-2{background:radial-gradient(circle,#00000008 0%,#0000 70%);width:400px;height:400px;bottom:0;right:-100px}.orb-3{background:radial-gradient(circle,#00000005 0%,#0000 70%);width:300px;height:300px;top:40%;left:50%;transform:translate(-50%)}@media (prefers-color-scheme:dark){.orb-1{background:radial-gradient(circle,#ffffff0a 0%,#0000 70%)}.orb-2{background:radial-gradient(circle,#ffffff08 0%,#0000 70%)}.orb-3{background:radial-gradient(circle,#ffffff05 0%,#0000 70%)}}.approach-container{z-index:1;width:100%;max-width:1280px;position:relative}.section-header{text-align:center;margin-bottom:2rem}.section-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--ap-muted);align-items:center;gap:.5rem;margin:0 0 1.4rem;font-size:.72rem;font-weight:700;display:inline-flex}.section-eyebrow:before,.section-eyebrow:after{content:"";background:linear-gradient(90deg, transparent, var(--ap-border-hover));width:28px;height:1px;display:inline-block}.section-eyebrow:after{background:linear-gradient(90deg, var(--ap-border-hover), transparent)}.section-title{font-family:var(--font-main);letter-spacing:-.04em;color:var(--ap-dark);margin:0 0 1.25rem;font-size:clamp(3rem,6vw,5rem);font-weight:900;line-height:1.05}.section-subtitle{color:var(--ap-muted-light);max-width:520px;margin:0 auto;font-size:clamp(1rem,2vw,1.2rem);font-weight:400;line-height:1.65}.approach-connector{margin:4.5rem 0 3.5rem;padding:0 1rem}.connector-line-track{background:var(--ap-border);border-radius:2px;height:1px;position:relative;overflow:hidden}.connector-line-fill{background:var(--ap-dark);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.approach-timeline{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid;position:relative}.approach-step{will-change:transform, opacity;transform-style:preserve-3d;position:relative}.step-connector-dot{background:var(--ap-bg);border:2px solid var(--ap-dark);z-index:2;width:8px;height:8px;box-shadow:0 0 0 4px var(--ap-bg);border-radius:50%;position:absolute;top:-3.75rem;left:50%;transform:translate(-50%)scale(0)}.step-inner{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--radius-ap);box-sizing:border-box;flex-direction:column;height:100%;padding:2.25rem 1.75rem 2rem;transition:border-color .35s,transform .35s,box-shadow .35s;display:flex;position:relative;overflow:hidden}.approach-step:hover .step-inner{border-color:var(--ap-border-hover);transform:translateY(-4px);box-shadow:0 12px 32px #00000008}@media (prefers-color-scheme:dark){.approach-step:hover .step-inner{box-shadow:0 12px 32px #0003}}.step-number{font-family:var(--font-main);color:#aaa9a9;letter-spacing:-.05em;pointer-events:none;will-change:transform;-webkit-user-select:none;user-select:none;z-index:0;opacity:.8;font-size:clamp(4rem,6vw,5rem);font-weight:900;line-height:1;transition:color .3s;position:absolute;top:.5rem;right:.5rem}:root{--ap-number:#0000000d}@media (prefers-color-scheme:dark){:root{--ap-number:#ffffff0d}}.approach-step:hover .step-number{color:#00000017}@media (prefers-color-scheme:dark){.approach-step:hover .step-number{color:#ffffff14}}.step-tag{letter-spacing:.15em;text-transform:uppercase;color:var(--ap-dark);z-index:1;margin-bottom:1.5rem;font-size:.7rem;font-weight:600;display:inline-block;position:relative}.step-tag:before{content:"";background:var(--ap-dark);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-top:-2px;margin-right:8px;display:inline-block}.step-icon{display:none}.step-content{z-index:1;flex-direction:column;flex-grow:1;display:flex;position:relative}.step-content h3{font-family:var(--font-main);color:var(--ap-text);letter-spacing:-.02em;margin:0 0 .85rem;font-size:1.25rem;font-weight:700}.step-content>p{color:var(--ap-muted);flex-grow:1;margin:0 0 1.5rem;font-size:.95rem;font-weight:400;line-height:1.7}.step-detail{opacity:.8;flex-wrap:wrap;gap:.4rem;display:flex}.detail-chip{color:var(--ap-muted);background:var(--ap-bg);border:1px solid var(--ap-border);white-space:nowrap;border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;transition:color .2s,border-color .2s}.approach-step:hover .detail-chip{color:var(--ap-dark);border-color:var(--ap-border-hover)}.step-glow{display:none}@media (max-width:1024px){.approach-timeline{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.approach-connector,.step-connector-dot{display:none}.section-title{font-size:3.5rem}}@media (max-width:768px){.approach-section{padding:6rem 0;overflow-x:hidden}.approach-container{padding:0 1.5rem}.approach-timeline{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;flex-direction:row;grid-template-columns:none;gap:1.25rem;margin:0 -1.5rem;padding:1rem 1.5rem 3rem;display:flex;overflow-x:auto}.approach-timeline::-webkit-scrollbar{display:none}.approach-step{scroll-snap-align:center;flex:0 0 85%;margin-bottom:0}.step-inner{flex-direction:column;justify-content:flex-start;min-height:420px;padding:2.5rem 1.75rem;display:flex}.step-number{opacity:.1;font-size:5rem;top:2rem;right:1.5rem}.section-title{font-size:2.8rem}}@media (max-width:640px){.approach-section{padding:5rem 0 3rem}.approach-container{padding:0 1.25rem}.approach-timeline{gap:1rem;margin:0 -1.25rem;padding:1rem 1.25rem 2.5rem}.approach-step{flex:0 0 90%}.step-inner{min-height:380px;padding:2rem 1.25rem}.section-title{font-size:2.2rem}.step-number{font-size:3.5rem}}
