.philly-page{background:var(--ink);color:var(--paper);overflow:hidden}
.philly-page em{font-family:Georgia,serif;font-weight:400;color:#8ddadd}
.philly-page h2{font-size:clamp(38px,4.5vw,66px);line-height:1.04;letter-spacing:-.035em;margin:20px 0 24px}
.philly-page h3{letter-spacing:-.02em;line-height:1.2}
.philly-page .section-index{color:#9bc8d2}
.philly-page p{line-height:1.65}
.philly-hero,.philly-hero .hero__content{min-height:790px}
.philly-skyline{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center}
.philly-hero::after{background:linear-gradient(90deg,rgba(0,27,66,.96),rgba(0,27,66,.85) 35%,rgba(0,27,66,.18) 80%),linear-gradient(0deg,#001b42,transparent 45%)}
.philly-hero .hero__content{padding-block:150px 80px;justify-content:center}
.philly-hero .hero__title{max-width:740px;font-size:clamp(48px,5.6vw,82px);line-height:1;letter-spacing:-.03em}
.philly-hero .hero__eyebrow{margin-bottom:26px}
.philly-hero .hero__lede{max-width:510px;font-size:19px;margin:28px 0 32px;color:#e0e7ee}
.philly-hero .hero__actions{gap:20px}
.philly-location{font-size:12px;color:#c2d1df;margin-top:28px}
.philly-section{padding:88px 0}
.philly-heading{max-width:760px}.philly-heading>p:last-child{max-width:550px;font-size:18px;color:#bacbdd}
.philly-services{background:radial-gradient(ellipse at 85% 35%,#02909d20,transparent 55%)}
.philly-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:48px}
.philly-service{position:relative;display:block;padding:28px;border:1px solid #a3eef233;border-radius:22px;background:linear-gradient(145deg,#ffffff0d,#ffffff02);box-shadow:inset 0 1px 0 #c5ffff20,0 20px 50px #0002;transition:transform .4s,border-color .4s}
.philly-service:hover{transform:translateY(-6px);border-color:#8ddadd80}.philly-service h3{font-size:27px;margin:16px 0}.philly-service>p:not(.section-index){font-size:16px;color:#c1d0df;min-height:80px}.philly-service .text-link{display:inline-block;margin-top:16px;font-size:11px}.philly-number{font-size:12px;color:#90b2c6}
.philly-stack{height:155px;position:relative;perspective:700px;margin:10px auto 28px;max-width:210px}
.philly-stack i{position:absolute;width:115px;height:90px;left:calc(50% - 57px);top:35px;border:1px solid #a7f4ed90;border-radius:15px;background:linear-gradient(135deg,#a7f4ed40,#02909d10 55%,#b6f3ff38);box-shadow:inset 0 0 14px #b4f0ff18,7px 9px 0 #083b56,8px 10px 0 #79c6d14a,0 24px 35px #0005;transform:rotateX(52deg) rotateZ(-28deg);animation:philly-float 8s ease-in-out infinite}
.philly-stack i:nth-child(1){top:65px;opacity:.55}.philly-stack i:nth-child(2){top:35px;animation-delay:-2s}.philly-stack i:nth-child(3){top:5px;animation-delay:-4s}
.philly-stack--training i{border-radius:50%;width:85px;height:85px;left:calc(50% - 42px)}
.philly-stack--automation i{width:65px;height:65px;left:20px;top:40px;transform:rotateX(25deg) rotateY(-30deg)}
.philly-stack--automation i:nth-child(2){left:75px;top:25px}.philly-stack--automation i:nth-child(3){left:125px;top:55px}
@keyframes philly-float{50%{translate:0 -7px}}
.philly-case{background:var(--paper);color:var(--ink)}.philly-case .section-index{color:#356175}.philly-case em{color:#047e8a}
.philly-heading--split{display:grid;grid-template-columns:1.2fr 1fr;max-width:none;align-items:center;gap:60px;margin-bottom:30px}
.philly-client{text-align:center;justify-self:end;max-width:320px}.philly-client img{width:270px;height:100px;object-fit:cover;filter:brightness(0) saturate(100%);margin:auto}.philly-client p{font-size:13px}
.philly-dashboard{margin:0;border:1px solid #839baa88;border-radius:20px;background:#052342;padding:12px 12px 0;box-shadow:0 24px 65px #001b4226;overflow:hidden}
.philly-dashboard>img{display:block;width:100%;height:auto;border-radius:8px}.philly-browser{height:32px;display:flex;align-items:center;gap:5px;color:#a7cbd6}.philly-browser span{width:5px;height:5px;border-radius:50%;background:#81b4c8}.philly-browser b{font-size:9px;font-weight:500;letter-spacing:.12em;margin-left:12px}.philly-dashboard figcaption{padding:14px 5px;color:#bcd2df;font-size:12px}
.philly-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:42px 0 26px}.philly-story article{border-top:1px solid #001b4230;padding-top:24px}.philly-story h3{font-size:24px;margin:15px 0}.philly-story p:not(.section-index){font-size:16px;color:#3f586a}
.philly-case-links{display:flex;gap:24px;flex-wrap:wrap;font-size:12px}
.philly-plan{background:radial-gradient(ellipse at 90% 50%,#02909d22,transparent 60%)}.philly-plan-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:85px;align-items:center}.philly-plan-grid>div>p:not(.section-index){color:#bacbdd;font-size:18px}
.philly-steps{list-style:none;padding:0;margin:30px 0}.philly-steps li{display:flex;gap:22px;border-top:1px solid #ffffff26;padding:20px 0}.philly-steps li>span{color:#8ddadd;font-size:12px;padding-top:4px}.philly-steps h3{font-size:21px;margin:0 0 8px}.philly-steps p{font-size:15px;color:#c2d1df;margin:0;max-width:430px}
.philly-guide{margin:0;border:1px solid #a3eef244;border-radius:22px;overflow:hidden;background:linear-gradient(145deg,#fff1,#fff0);box-shadow:0 24px 65px #0004}.philly-guide>img{width:100%;height:auto;display:block}.philly-guide figcaption{padding:25px}.philly-guide h3{font-size:28px;margin:10px 0}.philly-guide figcaption>p:last-child{font-size:14px;margin:0;color:#c2d1df}
.philly-faq{padding-top:24px}.philly-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}.philly-faq h2{font-size:42px}.philly-faq details{border-top:1px solid #ffffff26;padding:22px 0}.philly-faq summary{font-size:18px;font-weight:600;cursor:pointer;line-height:1.5}.philly-faq details p{color:#c2d1df;font-size:16px}.philly-faq a{text-decoration:underline;text-underline-offset:4px}
.philly-final{padding:64px 0;background:linear-gradient(120deg,#036c7b,#023650)}.philly-final h2{font-size:clamp(38px,5vw,68px)}.philly-final .section-index{color:#d4f3ee}.philly-final p{max-width:560px}.philly-final .button{margin:15px 0}.philly-final-note{font-size:12px;color:#c7e6e9}
.philly-credit{padding-block:22px;font-size:10px;color:#93a9bd}.philly-credit a{text-decoration:underline}
@media(max-width:900px){.philly-service{padding:22px}.philly-service h3{font-size:23px}.philly-plan-grid{gap:35px}.philly-faq-grid{gap:35px}}
@media(max-width:700px){.philly-hero,.philly-hero .hero__content{min-height:0}.philly-hero .hero__content{padding-block:125px 65px}.philly-hero .hero__title{font-size:clamp(43px,10.8vw,62px)}.philly-hero::after{background:linear-gradient(90deg,#001b42e8,#001b4299),linear-gradient(0deg,#001b42,transparent 60%)}.philly-skyline{object-position:65% center}.philly-hero .hero__lede{font-size:17px}.philly-hero .button,.philly-final .button{width:100%;gap:16px}.philly-hero .text-link{font-size:11px}.philly-section{padding:55px 0}.philly-service-grid,.philly-heading--split,.philly-story,.philly-plan-grid,.philly-faq-grid{grid-template-columns:1fr;gap:28px}.philly-service-grid{margin-top:30px}.philly-service>p:not(.section-index){min-height:0}.philly-stack{height:125px;margin-bottom:20px}.philly-heading--split{gap:10px}.philly-client{justify-self:start;text-align:left}.philly-client img{margin:0;width:230px;height:75px}.philly-client p{margin-top:0}.philly-dashboard{padding:8px 8px 0;border-radius:13px}.philly-dashboard figcaption{font-size:11px}.philly-story{margin-top:28px}.philly-story article{padding-top:20px}.philly-story h3{margin:12px 0}.philly-case-links{flex-direction:column;gap:18px}.philly-guide{max-width:420px;width:100%;justify-self:center}.philly-faq{padding-top:0}.philly-faq h2{font-size:38px}.philly-final{padding:48px 0}.philly-credit{font-size:9px}}
@media(prefers-reduced-motion:reduce){.philly-stack i{animation:none}.philly-service{transition:none}}
