#phillforce-contact-root{
  --ink: #11140f;
  --panel: #090c08;
  --lime: #d9ff57;
  --lime-deep: #bce72a;
  --ivory: #f4f1e8;
  --paper: #fffdf6;
  --sage: #6d7468;
  --sage-light: #aeb3a8;
  --orange: #ff6846;
  --line-dark: rgba(217,255,87,.17);
  --line-light: rgba(17,20,15,.13);
  --background: var(--ivory);
  --foreground: var(--ink);
  --card: var(--paper);
  --card-foreground: var(--ink);
  --primary: var(--lime);
  --primary-foreground: var(--ink);
  --secondary: #e8e6dc;
  --secondary-foreground: var(--ink);
  --muted: #e8e6dc;
  --muted-foreground: var(--sage);
  --accent: var(--lime);
  --accent-foreground: var(--ink);
  --border: rgba(17,20,15,.14);
  --input: rgba(17,20,15,.14);
  --ring: var(--lime-deep);
  --radius: .9rem;
}
#phillforce-contact-root *{ box-sizing: border-box; }
#phillforce-contact-root{ display: block; width: 100%; }
#phillforce-contact-root #phillforce-elementor{ margin: 0; overflow-x: hidden; background: var(--ivory); color: var(--ink); font-family: "Avenir Next", "Segoe UI Variable", "Helvetica Neue", Arial, sans-serif; font-size: 16px; }
#phillforce-contact-root button,#phillforce-contact-root a{ font: inherit; }
#phillforce-contact-root a{ color: inherit; text-decoration: none; }
#phillforce-contact-root button{ color: inherit; }
#phillforce-contact-root ::selection{ background: var(--lime); color: var(--ink); }
#phillforce-contact-root .sectionInner{ position: relative; z-index: 2; width: min(1220px, calc(100% - 48px)); margin: 0 auto; }
#phillforce-contact-root .sectionDark{ background: var(--ink); color: var(--ivory); }
#phillforce-contact-root .sectionIvory{ background: var(--ivory); color: var(--ink); }
#phillforce-contact-root .arrowLink{ display: inline-flex; align-items: center; justify-content: center; gap: 13px; font-weight: 680; }
#phillforce-contact-root .arrowLink svg{ transition: transform .25s ease; }
#phillforce-contact-root .arrowLink:hover svg{ transform: translateX(4px); }
#phillforce-contact-root .kicker{ color: var(--lime); font-size: .76rem; font-weight: 780; text-transform: uppercase; letter-spacing: .16em; }
#phillforce-contact-root .sectionIvory .kicker{ display: inline-flex; width: fit-content; align-items: center; min-height: 32px; padding: 6px 10px; border: 1px solid rgba(17,20,15,.1); border-radius: 5px; background: rgba(217,255,87,.72); color: #11140f; font-weight: 850; box-shadow: 0 8px 22px rgba(80,96,31,.07); }
#phillforce-contact-root .sectionHeader{ margin-bottom: 58px; }
#phillforce-contact-root .sectionHeader.split{ display: grid; grid-template-columns: 1fr .72fr; gap: 100px; align-items: end; }
#phillforce-contact-root .sectionHeader.centered{ max-width: 760px; margin-left: auto; margin-right: auto; text-align: center; }
#phillforce-contact-root .sectionHeader h2{ margin: 14px 0 0; font-size: clamp(2.45rem,4.5vw,4.65rem); line-height: 1.02; letter-spacing: -.06em; font-weight: 640; text-wrap: balance; }
#phillforce-contact-root .sectionHeader p{ margin: 0; color: var(--sage); font-size: 1.02rem; line-height: 1.75; }
#phillforce-contact-root .sectionDark .sectionHeader p{ color: #aeb4a6; }
#phillforce-contact-root .faqItem{ border-bottom: 1px solid var(--line-light); }
#phillforce-contact-root .faqItem button{ width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 25px 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
#phillforce-contact-root .faqItem button span{ font-size: 1.08rem; font-weight: 690; letter-spacing: -.02em; line-height: 1.4; }
#phillforce-contact-root .faqItem button svg{ flex: none; color: #63712f; transform: rotate(45deg); transition: transform .35s cubic-bezier(.2,.75,.25,1),color .25s ease; }
#phillforce-contact-root .faqItem.open button svg{ color: var(--ink); transform: rotate(90deg); }
#phillforce-contact-root .reveal{ opacity: 0; filter: blur(5px); transform: translateY(36px) scale(.986); transition: opacity .86s ease,filter .86s ease,transform .86s cubic-bezier(.2,.75,.25,1); }
#phillforce-contact-root .reveal.isVisible{ opacity: 1; filter: blur(0); transform: translate3d(0,0,0) scale(1); }
@keyframes headerReveal { from { opacity: 0; transform: translateY(-100%); }
 to { opacity: 1; transform: translateY(0); }
 }
@keyframes brandReveal { from { opacity: 0; transform: translateX(-16px); }
 to { opacity: 1; transform: translateX(0); }
 }
@keyframes heroCopyReveal { from { opacity: 0; transform: translateY(22px); filter: blur(5px); }
 to { opacity: 1; transform: translateY(0); filter: blur(0); }
 }
@keyframes dashboardReveal { from { opacity: 0; transform: translateY(62px) scale(.96); filter: blur(8px); }
 to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
 }
@keyframes ticker { to { transform: translateX(-50%); }
 }
@keyframes statusPulse { 50% { opacity: .35; transform: scale(.75); }
 }
@keyframes ringDraw { from { stroke-dashoffset: 264; }
 }
@keyframes donutDraw { from { stroke-dashoffset: 214; }
 }
@keyframes barRise { from { transform: scaleY(0); opacity: 0; }
 }
@keyframes mapFlow { to { stroke-dashoffset: -130; }
 }
@keyframes screenSweep { 0%,58% { transform: translateX(-130%); }
 82%,100% { transform: translateX(130%); }
 }
@keyframes desktopBreath { 0%,100% { transform: rotateY(-2deg) rotateX(1deg) translateY(0); }
 50% { transform: rotateY(-1deg) rotateX(.5deg) translateY(-5px); }
 }
@keyframes desktopFloatFlat { 0%,100% { transform: translateY(0); }
 50% { transform: translateY(-5px); }
 }
@keyframes radarPulse { 0%,100% { transform: scale(.97); opacity: .78; }
 50% { transform: scale(1.02); opacity: 1; }
 }
@keyframes floatOne { 0%,100% { transform: translateY(0) rotate(-1deg); }
 50% { transform: translateY(-10px) rotate(1deg); }
 }
@keyframes floatTwo { 0%,100% { transform: translateY(0) rotate(1deg); }
 50% { transform: translateY(9px) rotate(-1deg); }
 }
@keyframes visualDraw { to { stroke-dashoffset: 0; }
 }
@keyframes processTravel { 0% { transform: scaleX(0); transform-origin: left; }
 45%,55% { transform: scaleX(1); transform-origin: left; }
 100% { transform: scaleX(0); transform-origin: right; }
 }
@keyframes gridDrift { to { background-position: 56px 56px; }
 }
@keyframes testimonialDrift { 0%,100% { transform: translate3d(0,0,0) scale(1); }
 50% { transform: translate3d(-55px,45px,0) scale(1.08); }
 }
@keyframes testimonialGridMove { to { background-position: 62px 62px; }
 }
@keyframes testimonialEnter { from { opacity: 0; transform: translate3d(0,26px,0) rotateX(2deg) scale(.975); filter: blur(5px); }
 to { opacity: 1; transform: translate3d(var(--story-x),var(--story-y),0) rotateX(var(--story-rx)) rotateY(var(--story-ry)) scale(1); filter: blur(0); }
 }
@keyframes testimonialProgress { from { transform: scaleX(0); }
 to { transform: scaleX(1); }
 }
@keyframes quoteFloat { 0%,100% { transform: translateY(0) rotate(0); }
 50% { transform: translateY(7px) rotate(2deg); }
 }
@keyframes signalOrbit { to { transform: rotate(360deg); }
 }
@keyframes signalOrbitReverse { to { transform: rotate(-360deg); }
 }
@keyframes audienceEnter { from { opacity: 0; transform: translateY(14px); }
 to { opacity: 1; transform: translateY(0); }
 }
@keyframes offerOrbit { to { transform: rotate(360deg); }
 }
@media (max-width:900px) {#phillforce-contact-root .sectionHeader.split{ grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width:640px) {#phillforce-contact-root .sectionInner{ width: min(100% - 30px,1220px); }
#phillforce-contact-root .sectionHeader{ margin-bottom: 39px; }
#phillforce-contact-root .sectionHeader h2{ font-size: 2.75rem; }
}
@media (prefers-reduced-motion:reduce) {#phillforce-contact-root{ scroll-behavior: auto; }
#phillforce-contact-root *,#phillforce-contact-root *:before,#phillforce-contact-root *:after{ animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
#phillforce-contact-root .reveal{ opacity: 1; transform: none; }
}
#phillforce-contact-root{display:block;width:100%;max-width:none}
#phillforce-contact-root #phillforce-elementor{width:100%;min-height:100vh;isolation:isolate}
#phillforce-contact-root #phillforce-elementor main{display:block}
#phillforce-contact-root #phillforce-elementor:not(.pf-reveal-ready) .reveal{
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}
#phillforce-contact-root .contactHero{padding:145px 0 100px}
#phillforce-contact-root .contactLayout{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:start}
#phillforce-contact-root .contactIntro h1{font-size:clamp(40px,5vw,68px);line-height:1.03;letter-spacing:-.055em;margin:25px 0}
#phillforce-contact-root .contactIntro h1 em{font-style:normal;color:#526a1a}
#phillforce-contact-root .contactLead{font-size:19px;line-height:1.75;color:#46503f;max-width:460px}
#phillforce-contact-root .contactEmail{display:flex;align-items:center;gap:20px;font-size:clamp(18px,2vw,25px);font-weight:650;margin:30px 0 48px;color:#11170e}
#phillforce-contact-root .contactNext{padding-top:30px;border-top:1px solid #d1d5c5}
#phillforce-contact-root .contactNext article{display:flex;gap:20px;padding-top:25px}
#phillforce-contact-root .contactNext article>span{color:#526a1a;font-size:14px;padding-top:5px}
#phillforce-contact-root .contactNext h3{font-size:18px;margin:0 0 8px}
#phillforce-contact-root .contactNext p{font-size:16px;line-height:1.7;color:#46503f;margin:0}
#phillforce-contact-root .contactForm{background:#fffdf6;padding:40px;border:1px solid #d1d5c5;border-radius:24px;box-shadow:0 25px 65px #18200812;border-top:5px solid #d9ff57}
#phillforce-contact-root .contactFormHeading h2{font-size:36px;line-height:1.1;letter-spacing:-.04em;margin:20px 0}
#phillforce-contact-root .contactFormHeading p{font-size:16px;line-height:1.7;color:#46503f;margin-bottom:30px}
#phillforce-contact-root .contactForm fieldset{border:0;padding:0;margin:0;min-width:0}
#phillforce-contact-root .contactFields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#phillforce-contact-root .contactForm label{display:block;font-size:15px;font-weight:650;margin-bottom:22px;color:#182012}
#phillforce-contact-root .contactForm label>span{font-weight:400}
#phillforce-contact-root .contactForm label>span:not(:last-child){font-size:13px;color:#526048}
#phillforce-contact-root .contactForm input:not([type=checkbox]),#phillforce-contact-root .contactForm select,#phillforce-contact-root .contactForm textarea{display:block;box-sizing:border-box;width:100%;margin-top:10px;background:#f4f3eb;color:#11170e;border:1px solid #bfc7b3;border-radius:10px;padding:14px;font:inherit;font-size:16px;line-height:1.5}
#phillforce-contact-root .contactForm textarea{resize:vertical}
#phillforce-contact-root .contactForm input::placeholder,#phillforce-contact-root .contactForm textarea::placeholder{color:#626c58;opacity:1}
#phillforce-contact-root .contactForm :is(input,select,textarea):focus{outline:2px solid #668224;outline-offset:2px}
#phillforce-contact-root .contactForm .contactConsent{display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:400;line-height:1.6}
#phillforce-contact-root .contactConsent input{width:19px;height:19px;flex:none;accent-color:#526a1a;margin-top:3px}
#phillforce-contact-root .contactConsent a{text-decoration:underline}
#phillforce-contact-root .contactSubmit{width:100%;display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border:0;border-radius:11px;background:#11170e;color:#d9ff57;font-size:17px;font-weight:650;cursor:pointer;transition:transform .25s,background .25s}
#phillforce-contact-root .contactSubmit:hover{background:#28361c;transform:translateY(-2px)}
#phillforce-contact-root fieldset:disabled{opacity:.65}
#phillforce-contact-root .contactFormNote{font-size:13px;color:#526048;line-height:1.6;margin:20px 0 0}
#phillforce-contact-root .contactTrap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#phillforce-contact-root .contactNotice:empty{display:none}
#phillforce-contact-root .contactNotice{padding:16px;margin-top:20px;border-radius:10px;line-height:1.7;font-size:15px}
#phillforce-contact-root .contactNotice.sent{background:#e5edce;color:#203b12}
#phillforce-contact-root .contactNotice.error{background:#ffe6dd;color:#7a2716}
#phillforce-contact-root .contactRoutes{padding:95px 0}
#phillforce-contact-root .contactRouteGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
#phillforce-contact-root .contactRoute{border:1px solid #384128;border-radius:20px;padding:30px;display:flex;flex-direction:column;align-items:flex-start}
#phillforce-contact-root .contactRoute>svg,#phillforce-contact-root .contactRoute>.arrowLink{color:#d9ff57}
#phillforce-contact-root .contactRoute h3{font-size:25px;line-height:1.2;letter-spacing:-.03em;margin:25px 0 15px}
#phillforce-contact-root .contactRoute p{font-size:16px;line-height:1.8;color:#c3cbb9;margin:0 0 28px}
#phillforce-contact-root .contactRoute>.arrowLink{margin-top:auto}
@media(max-width:850px){#phillforce-contact-root .contactLayout{gap:35px}
#phillforce-contact-root .contactForm{padding:28px}
#phillforce-contact-root .contactFields{grid-template-columns:1fr;gap:0}
}
@media(max-width:650px){#phillforce-contact-root .contactHero{padding:115px 0 65px}
#phillforce-contact-root .contactLayout,#phillforce-contact-root .contactRouteGrid{grid-template-columns:1fr}
#phillforce-contact-root .contactFormHeading h2{font-size:30px}
#phillforce-contact-root .contactForm{padding:25px}
#phillforce-contact-root .contactRoutes{padding:65px 0}
}
@media(prefers-reduced-motion:reduce){#phillforce-contact-root *,#phillforce-contact-root *::before,#phillforce-contact-root *::after{animation:none!important;transition:none!important}
#phillforce-contact-root .reveal{opacity:1!important;filter:none!important;transform:none!important}
}
