/* Swift UP — editorial glass, restrained orange light, original content. */
:root{--container:1480px;--muted:#5d5d61;--muted-dark:#c4c2c0}
.section-label,.section-kicker{font-size:.8125rem;letter-spacing:.22em}
.label-rule{width:64px}
.intro,.services{position:relative;isolation:isolate;overflow:hidden}
.intro{padding-block:64px 92px;background:radial-gradient(ellipse at 63% 73%,#fff5ee 0,transparent 38%),linear-gradient(115deg,#fff 15%,#faf9f8 100%)}
.intro::before,.intro::after{position:absolute;z-index:-1;border:1px solid rgba(207,92,31,.13);border-radius:50%;content:"";pointer-events:none}
.intro::before{width:1050px;height:470px;right:-690px;top:70px;transform:rotate(-55deg)}
.intro::after{width:1180px;height:500px;left:31%;bottom:-470px;transform:rotate(-14deg)}
.intro-grid{grid-template-columns:minmax(0,.97fr) minmax(0,1.03fr);gap:clamp(36px,4.3vw,76px)}
.intro h2{margin:30px 0;font-size:clamp(42px,4.25vw,74px);letter-spacing:-.045em;line-height:1.14;font-weight:700}
.intro-body p{font-size:clamp(17px,1.28vw,21px);line-height:1.65}
.intro-body p+p{margin-top:24px}
.intro-cta{width:auto;min-height:62px;margin-top:34px;padding:6px 7px 6px 26px;gap:25px;border:1px solid #ded0c7;border-radius:99px;background:linear-gradient(130deg,#fff,rgba(255,240,228,.42));font-size:1rem;box-shadow:inset 0 1px 0 #fff;transition:border-color .2s,box-shadow .2s}
.intro-cta-icon{display:grid;place-items:center;flex:0 0 auto;width:48px;height:48px;border-radius:50%;color:var(--orange);background:#fceade}
.intro-cta:hover,.intro-cta:focus-visible{border-color:var(--orange);box-shadow:0 8px 24px #bf652116}
.intro-cta svg{width:24px;height:24px}
.intro-panel{aspect-ratio:1.25;border:1px solid #303030;border-radius:20px;box-shadow:0 24px 45px #18130f29,0 4px 14px #e87c2520;background:#101010}
.intro-panel img{filter:grayscale(1) contrast(1.12) brightness(.94);object-fit:cover}
.intro-panel figcaption{top:7%;left:5.5%;max-width:88%;color:#f1f0ee;font-size:clamp(12px,.76vw,14px);line-height:1.5;letter-spacing:.22em}
.intro-panel.has-premium-art img{filter:none}
.solutions-rail{border-bottom:1px solid #e5e2df}
.solutions-rail a{font-size:clamp(14px,1vw,17px)}
.approach{padding-block:80px 94px;background:radial-gradient(ellipse at 75% -15%,#382a22 0,transparent 36%),radial-gradient(ellipse at 0 90%,#201813 0,transparent 25%),#0e0f10}
.approach::before{width:730px;height:730px;top:-555px;right:-200px;border-color:#c97b454f;box-shadow:inset 0 -1px 0 #f5bd8840,0 1px 0 #f0b78222}
.approach::after{position:absolute;width:680px;height:680px;bottom:-420px;left:-490px;border:1px solid #cb743733;border-radius:50%;content:"";pointer-events:none}
.approach-heading .section-kicker{display:flex;align-items:center;justify-content:center;gap:26px;color:#fb9e61}
.approach-heading .section-kicker::after{width:60px;height:1px;background:#cc7a46;content:""}
.approach-heading h2{margin:22px 0 17px;font-size:clamp(44px,4vw,68px);letter-spacing:-.042em;line-height:1.1}
.approach-heading h2 span{color:#ddd}
.approach-heading>p:last-child{font-size:clamp(17px,1.25vw,20px);color:#c8c7c5}
.approach-steps{margin-top:28px;gap:30px}
.approach-steps::before{left:8%;right:8%;top:36px;background:linear-gradient(90deg,transparent,#c57a44 20%,#e3985b 50%,#c57a44 80%,transparent);box-shadow:0 0 13px #d772222c}
.step-number{color:#ff9b5b;font-size:1rem;line-height:24px}
.step-dot{width:12px;height:12px;margin-top:6px;border:2px solid #ffdbb6;background:#fff7ec;box-shadow:0 0 8px #ffad65,0 0 21px #e67d3c88}
.step-icon{display:grid;place-items:center;position:relative;width:80px;height:80px;margin-top:22px;border:1px solid #bd774c91;border-radius:50%;background:radial-gradient(ellipse at 70% 85%,#b7632a35,transparent 58%),linear-gradient(130deg,#6a432b4d,#181717 48%,#302218);box-shadow:inset 2px 2px 9px #f8b07612,inset -2px -2px 6px #b9774140,0 7px 21px #0004}
.step-icon::after{position:absolute;inset:0;border-radius:inherit;background:conic-gradient(from 115deg,transparent 0deg,#ffb26e 9deg,transparent 40deg,transparent 250deg,#e69a5d 274deg,transparent 298deg);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;padding:1px;content:"";pointer-events:none}
.step-icon svg{width:40px;height:40px;fill:none;stroke:#ffad70;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #f0913d55)}
.approach-step h3{margin:15px 0 8px;font-size:clamp(20px,1.5vw,24px);font-weight:600}
.approach-step p{max-width:310px;font-size:1rem;line-height:1.55;color:#c6c4c2}
.approach-values{margin-top:38px;padding-top:28px;border-color:#b280583f}
.approach-values>h3{display:flex;align-items:center;gap:28px;margin-bottom:32px;font-size:clamp(22px,1.7vw,27px);font-weight:500}
.approach-values>h3::after{height:1px;flex:1;background:linear-gradient(90deg,#a776494d,transparent);content:""}
.principles-grid{gap:0}
.principles-grid>div{align-items:flex-start;gap:16px;padding-inline:22px;border-color:#b18a683d}
.principles-grid svg{width:52px;height:52px;padding:11px;border:1px solid #b27a494f;border-radius:12px;background:radial-gradient(ellipse at 5% 0,#c2824433,transparent 60%),linear-gradient(135deg,#221b17,#111);stroke:#f59a5c;stroke-width:2.7;box-shadow:inset 1px 1px 4px #edb98e12,0 4px 10px #0003}
.principles-grid h4{margin-top:5px;font-size:1rem;font-weight:500}
.principles-grid p{font-size:.875rem;line-height:1.6;color:#c6c4c2}
.principles-grid p br{display:none}
@media(min-width:1600px){.container{width:min(86%,var(--container))}.intro{padding-block:52px 96px}.principles-grid>div{padding-inline:26px}}
@media(max-width:1180px){.intro-grid{gap:34px}.intro h2{font-size:clamp(40px,4.2vw,52px)}.principles-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 0}.principles-grid>div:nth-child(3){border-right:0}.principles-grid>div:nth-child(4){padding-left:0}.approach-step p{max-width:260px}}
@media(max-width:900px){.intro{padding-block:72px}.intro-grid{grid-template-columns:1fr;gap:42px}.intro h2{font-size:clamp(42px,6.3vw,58px)}.intro-body p{max-width:650px;font-size:1.125rem}.intro-panel{max-width:none}.approach{padding-block:72px}.approach-heading h2{font-size:clamp(44px,6vw,58px)}.approach-step h3{font-size:1.125rem}.approach-step p{font-size:1rem}.principles-grid svg{width:48px;height:48px;padding:9px}.principles-grid>div{gap:13px;padding-inline:18px}}
@media(max-width:600px){
 .section-label,.section-kicker{font-size:.75rem;letter-spacing:.16em}.label-rule{width:44px}
 .intro{padding-block:54px 64px}.intro-grid{gap:34px}.intro h2{margin:24px 0;font-size:clamp(31px,8.9vw,47px);letter-spacing:-.04em}.intro-body p{font-size:1rem;line-height:1.65}.intro-body p+p{margin-top:20px}
 .intro-cta{padding-left:20px;min-height:56px;margin-top:28px;gap:18px;font-size:.9375rem}.intro-cta-icon{width:42px;height:42px}.intro-panel{border-radius:16px}.intro-panel figcaption{font-size:.75rem;letter-spacing:.13em;top:6%;left:6%}
 .approach{padding-block:62px 66px}.approach-heading .section-kicker{gap:14px}.approach-heading .section-kicker::after{width:30px}.approach-heading h2{font-size:clamp(34px,9vw,48px)}.approach-heading>p:last-child{font-size:1rem;line-height:1.6}
 .approach-steps{grid-template-columns:1fr;gap:32px;margin-top:36px;text-align:left}.approach-steps::before{top:9px;bottom:10px;left:5px;right:auto;width:1px;height:auto;background:linear-gradient(#cc864c,#75482c,#cc864c)}
 .approach-step{display:grid;grid-template-columns:20px 64px minmax(0,1fr);align-items:start;gap:0 14px}.step-number{grid-column:3;grid-row:1;margin:0;line-height:22px;font-size:.875rem}.step-dot{grid-column:1;grid-row:1 / span 3;width:11px;height:11px;margin-top:6px}
 .step-icon{grid-column:2;grid-row:1 / span 3;width:64px;height:64px;margin:0}.step-icon svg{width:30px;height:30px}.approach-step h3{grid-column:3;grid-row:2;margin:5px 0 8px;font-size:1.1875rem;line-height:1.3}.approach-step p{grid-column:3;grid-row:3;max-width:none;font-size:1rem}
 .approach-values{margin-top:38px;padding-top:25px}.approach-values>h3{font-size:1.375rem;line-height:1.4;gap:12px;margin-bottom:24px}.approach-values>h3::after{display:none}
 .principles-grid{grid-template-columns:1fr;gap:0}.principles-grid>div,.principles-grid>div:nth-child(4){padding:16px 0;gap:18px;border-right:0;border-bottom:1px solid #b18a6826}.principles-grid>div:last-child{border-bottom:0;padding-bottom:0}.principles-grid svg{width:48px;height:48px}.principles-grid h4{margin:2px 0 4px;font-size:1rem}.principles-grid p{font-size:.9375rem}
}
@media(prefers-reduced-motion:reduce){.intro-cta{transition:none}}
