.elementor-7661 .elementor-element.elementor-element-1eb8a03e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7661 .elementor-element.elementor-element-12a28594{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:160px;--padding-bottom:96px;--padding-left:48px;--padding-right:48px;}.elementor-7661 .elementor-element.elementor-element-6e04f262{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-122a1197{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-10ca3486{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-7661 .elementor-element.elementor-element-79dcba91{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:12px 12px;--row-gap:12px;--column-gap:12px;}.elementor-7661 .elementor-element.elementor-element-3032cc9a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-7661 .elementor-element.elementor-element-7d2d5976{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-7661 .elementor-element.elementor-element-5a733814{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-5ba98f32{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:rgba(11,23,40,.1);--border-color:rgba(11,23,40,.1);--border-radius:16px 16px 16px 16px;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-7661 .elementor-element.elementor-element-5ba98f32:not(.elementor-motion-effects-element-type-background), .elementor-7661 .elementor-element.elementor-element-5ba98f32 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-field-type-html{padding-bottom:0px;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-button[type="submit"]{color:#ffffff;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-7661 .elementor-element.elementor-element-19ef2bf5{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-7661 .elementor-element.elementor-element-4dad6353{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:rgba(11,23,40,0.1);--border-color:rgba(11,23,40,0.1);--padding-top:112px;--padding-bottom:112px;--padding-left:48px;--padding-right:48px;}.elementor-7661 .elementor-element.elementor-element-4dad6353:not(.elementor-motion-effects-element-type-background), .elementor-7661 .elementor-element.elementor-element-4dad6353 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-7661 .elementor-element.elementor-element-48e693b8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-1998fb87{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-513a5358{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:24px 24px;--row-gap:24px;--column-gap:24px;}.elementor-7661 .elementor-element.elementor-element-5846725e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-11b60e7a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:rgba(11,23,40,0.1);--border-color:rgba(11,23,40,0.1);}.elementor-7661 .elementor-element.elementor-element-30918691{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:rgba(11,23,40,0.1);--border-color:rgba(11,23,40,0.1);--padding-top:24px;--padding-bottom:24px;--padding-left:0px;--padding-right:0px;}.elementor-7661 .elementor-element.elementor-element-277ef139{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-722aeb7f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-3e1b0d90{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:rgba(11,23,40,0.1);--border-color:rgba(11,23,40,0.1);--padding-top:24px;--padding-bottom:24px;--padding-left:0px;--padding-right:0px;}.elementor-7661 .elementor-element.elementor-element-fa9e72f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-46bbbea6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-3173a100{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:rgba(11,23,40,0.1);--border-color:rgba(11,23,40,0.1);--padding-top:24px;--padding-bottom:24px;--padding-left:0px;--padding-right:0px;}.elementor-7661 .elementor-element.elementor-element-1fcd86a0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-4c6bdb68{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-2b226fcb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:rgba(11,23,40,0.1);--border-color:rgba(11,23,40,0.1);--padding-top:24px;--padding-bottom:24px;--padding-left:0px;--padding-right:0px;}.elementor-7661 .elementor-element.elementor-element-125cde6a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-77caa1ae{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-7e23f66{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:rgba(11,23,40,0.1);--border-color:rgba(11,23,40,0.1);--padding-top:24px;--padding-bottom:24px;--padding-left:0px;--padding-right:0px;}.elementor-7661 .elementor-element.elementor-element-8ff185{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7661 .elementor-element.elementor-element-59a1cb7b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1024px){.elementor-7661 .elementor-element.elementor-element-12a28594{--padding-top:160px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-7661 .elementor-element.elementor-element-5ba98f32{--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}.elementor-7661 .elementor-element.elementor-element-4dad6353{--padding-top:96px;--padding-bottom:96px;--padding-left:32px;--padding-right:32px;}.elementor-7661 .elementor-element.elementor-element-513a5358{--gap:24px 24px;--row-gap:24px;--column-gap:24px;}}@media(max-width:767px){.elementor-7661 .elementor-element.elementor-element-12a28594{--padding-top:120px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-7661 .elementor-element.elementor-element-5ba98f32{--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-7661 .elementor-element.elementor-element-4dad6353{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-7661 .elementor-element.elementor-element-513a5358{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}}/* Start custom CSS for container, class: .elementor-element-79dcba91 */.elementor-7661 .elementor-element.elementor-element-79dcba91{margin-top:40px}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7d2d5976 */.elementor-7661 .elementor-element.elementor-element-7d2d5976{margin-top:12px}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3032cc9a */.elementor-7661 .elementor-element.elementor-element-3032cc9a{margin-top:40px}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-122a1197 */@media(min-width:1024px){.elementor-7661 .elementor-element.elementor-element-122a1197{grid-column:span 5/span 5}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5a733814 */@media(min-width:1024px){.elementor-7661 .elementor-element.elementor-element-5a733814{grid-column:span 7/span 7}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6e04f262 */.elementor-7661 .elementor-element.elementor-element-6e04f262{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px}
@media(max-width:1023.98px){.elementor-7661 .elementor-element.elementor-element-6e04f262{grid-template-columns:repeat(1,minmax(0,1fr));gap:48px}}
@media(max-width:767px){.elementor-7661 .elementor-element.elementor-element-6e04f262{grid-template-columns:repeat(1,minmax(0,1fr));gap:48px}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1998fb87 */@media(min-width:1024px){.elementor-7661 .elementor-element.elementor-element-1998fb87{grid-column:span 4/span 4}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-277ef139 */@media(min-width:768px){.elementor-7661 .elementor-element.elementor-element-277ef139{grid-column:span 5/span 5}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-722aeb7f */@media(min-width:768px){.elementor-7661 .elementor-element.elementor-element-722aeb7f{grid-column:span 7/span 7}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-30918691 */.elementor-7661 .elementor-element.elementor-element-30918691{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
@media(max-width:767px){.elementor-7661 .elementor-element.elementor-element-30918691{grid-template-columns:repeat(1,minmax(0,1fr));gap:8px}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fa9e72f */@media(min-width:768px){.elementor-7661 .elementor-element.elementor-element-fa9e72f{grid-column:span 5/span 5}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-46bbbea6 */@media(min-width:768px){.elementor-7661 .elementor-element.elementor-element-46bbbea6{grid-column:span 7/span 7}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3e1b0d90 */.elementor-7661 .elementor-element.elementor-element-3e1b0d90{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
@media(max-width:767px){.elementor-7661 .elementor-element.elementor-element-3e1b0d90{grid-template-columns:repeat(1,minmax(0,1fr));gap:8px}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1fcd86a0 */@media(min-width:768px){.elementor-7661 .elementor-element.elementor-element-1fcd86a0{grid-column:span 5/span 5}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c6bdb68 */@media(min-width:768px){.elementor-7661 .elementor-element.elementor-element-4c6bdb68{grid-column:span 7/span 7}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3173a100 */.elementor-7661 .elementor-element.elementor-element-3173a100{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
@media(max-width:767px){.elementor-7661 .elementor-element.elementor-element-3173a100{grid-template-columns:repeat(1,minmax(0,1fr));gap:8px}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-125cde6a */@media(min-width:768px){.elementor-7661 .elementor-element.elementor-element-125cde6a{grid-column:span 5/span 5}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-77caa1ae */@media(min-width:768px){.elementor-7661 .elementor-element.elementor-element-77caa1ae{grid-column:span 7/span 7}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b226fcb */.elementor-7661 .elementor-element.elementor-element-2b226fcb{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
@media(max-width:767px){.elementor-7661 .elementor-element.elementor-element-2b226fcb{grid-template-columns:repeat(1,minmax(0,1fr));gap:8px}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8ff185 */@media(min-width:768px){.elementor-7661 .elementor-element.elementor-element-8ff185{grid-column:span 5/span 5}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-59a1cb7b */@media(min-width:768px){.elementor-7661 .elementor-element.elementor-element-59a1cb7b{grid-column:span 7/span 7}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7e23f66 */.elementor-7661 .elementor-element.elementor-element-7e23f66{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
@media(max-width:767px){.elementor-7661 .elementor-element.elementor-element-7e23f66{grid-template-columns:repeat(1,minmax(0,1fr));gap:8px}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5846725e */@media(min-width:1024px){.elementor-7661 .elementor-element.elementor-element-5846725e{grid-column:span 8/span 8}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-48e693b8 */.elementor-7661 .elementor-element.elementor-element-48e693b8{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px}
@media(max-width:1023.98px){.elementor-7661 .elementor-element.elementor-element-48e693b8{grid-template-columns:repeat(1,minmax(0,1fr));gap:48px}}
@media(max-width:767px){.elementor-7661 .elementor-element.elementor-element-48e693b8{grid-template-columns:repeat(1,minmax(0,1fr));gap:48px}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1eb8a03e *//* Nipuna - CSS for the shared inner-page opener (sections/PageHero.tsx).

   Prepended to the wrapper Custom CSS of every page that opens with a
   PageHero. The home page does not, so it does not carry these rules and
   the audit's dead-.elementor-7661 .elementor-element.elementor-element-1eb8a03e check stays meaningful there.

   Values resolved from dist/assets/index-*.css via tw_lookup.py. */

/* absolute inset-x-0 top-0 h-[28rem]
   bg-[radial-gradient(50%_60%_at_80%_0%,rgba(0,130,202,0.10),transparent_70%)] */
.np-ov-phero{inset:0 0 auto 0;height:448px;
  background:radial-gradient(50% 60% at 80% 0%,rgba(0,130,202,.10),transparent 70%)}
/* the same bg-grid as everywhere else, but PageHero asks for opacity-50 and
   the Site Settings rule is the .6 the homepage hero uses */
.np-ov-grid.np-ov-phero-grid{opacity:.5}


/* Nipuna - CONTACT PAGE styles. Travels inside nipuna-contact.json as the
   wrapper container's Custom CSS, so importing the page brings its styling
   and Site Settings is not touched. Preceded at build time by common.css (the
   closing CTA band is NOT on this page, but the file also carries shared
   pieces) and pagehero.css (the opener's glow and grid).

   Most of this file styles markup I did not write: Elementor Pro's Form
   widget. The fields are real widget settings so they stay editable in the
   panel, which means the design is reproduced by dressing Elementor's own
   classes rather than by replacing them.

   Values resolved from dist/assets/index-*.css via tw_lookup.py. */

/* ---------- 0. The Elementor defaults this page has to undo ---------- */
/* Identical to the other inner pages' section 0, scoped to `.elementor-7661 .elementor-element.elementor-element-1eb8a03e` -- this
   page's wrapper -- which is what keeps the reset off the header and footer. */
.elementor-7661 .elementor-element.elementor-element-1eb8a03e{line-height:1.5}
[class*="elementor-kit-"] p{margin-block-end:0}
.elementor-7661 .elementor-element.elementor-element-1eb8a03e .e-con{--container-default-padding-top:0px;
  --container-default-padding-right:0px;
  --container-default-padding-bottom:0px;
  --container-default-padding-left:0px}
/* Site Settings stretches EVERY button below 640px. The design does that for
   the submit -- its row is a flex-col there -- so that one is re-asserted
   below at 0,3,0 rather than being left to the blanket rule. */
@media(max-width:639px){.np-btn,.np-btn .elementor-button{width:auto}}
@media(min-width:640px) and (max-width:767px){
  .elementor-7661 .elementor-element.elementor-element-1eb8a03e > .e-con{--padding-right:32px;--padding-left:32px}}

/* ---------- 1. The opener's left column ---------- */
.np-ct-eyebrow{margin-bottom:24px!important}                     /* mt-6 */
.np-ct-title{margin-bottom:24px!important}
.np-ct-lead p{max-width:44ch}

/* group inline-flex items-center gap-3 text-[1.0625rem] font-semibold.
   Tag .elementor-7661 .elementor-element.elementor-element-1eb8a03e for 0,1,1: Site Settings' `.elementor-kit-N a{color:#006AA8}`
   beats a bare class, so this would otherwise come out blue. */
a.np-ct-reach{display:inline-flex;align-items:center;gap:12px;font-size:17px;
  line-height:1.5;font-weight:600;color:var(--ink-900);text-decoration:none}
/* h-10 w-10 rounded-md border hairline bg-white text-ink-500 */
.np-ct-icon{display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:10px;border:1px solid var(--line);
  background:#fff;color:var(--ink-500);flex:none;transition:color .3s}
.np-ct-icon svg{display:block}
a.np-ct-reach:hover .np-ct-icon{color:var(--blue-700)}
/* link-underline, drawn on hover of the whole row */
.np-ct-reach-t{background-image:linear-gradient(currentColor,currentColor);
  background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;
  transition:background-size .45s var(--ease)}
a.np-ct-reach:hover .np-ct-reach-t{background-size:100% 1px}

/* OfficeLine: flex items-start justify-between gap-4 border-t hairline py-4 */
.np-ct-office{display:flex;align-items:flex-start;justify-content:space-between;
  gap:16px;border-top:1px solid var(--line);padding-block:16px}
.np-ct-office-l{display:block;min-width:0}
.np-ct-city{display:block;font-size:15px;line-height:1.5;font-weight:600;
  color:var(--ink-900)}
.np-ct-addr{display:block;font-size:14px;line-height:1.5;color:var(--ink-500)}
.np-ct-hours{display:block;font-family:var(--mono);font-size:11.52px;
  line-height:1.5;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-400)}
/* shrink-0 font-mono text-[0.8rem] text-ink-700 */
.np-ct-time{flex:none;font-family:var(--mono);font-size:12.8px;line-height:1.5;
  color:var(--ink-700);font-variant-numeric:tabular-nums}

/* ---------- 2. The form (Elementor Pro's Form widget) ---------- */
/* grid gap-5 md:grid-cols-2. Elementor's field wrapper is already a flex row
   of percentage columns, so only the 20px gutter is added -- and the halves
   are narrowed by half of it, or two 50% columns plus a gap would not fit.

   Written here rather than through the widget's own Row/Column Gap controls
   on purpose: those compile into the page CSS at import time, which the
   preview cannot reproduce, so a check could not see whether they had
   landed. The gutter is one number in one place instead. */
.elementor-7661 .elementor-element.elementor-element-1eb8a03e .np-form .elementor-form-fields-wrapper{margin:0;gap:20px}
.elementor-7661 .elementor-element.elementor-element-1eb8a03e .np-form .elementor-field-group{margin-bottom:0;padding:0}
.elementor-7661 .elementor-element.elementor-element-1eb8a03e .np-form .elementor-column.elementor-col-50{width:calc(50% - 10px)}
.elementor-7661 .elementor-element.elementor-element-1eb8a03e .np-form .elementor-column.elementor-col-100{width:100%}
@media(max-width:767px){
  .elementor-7661 .elementor-element.elementor-element-1eb8a03e .np-form .elementor-column.elementor-col-50{width:100%}}

/* Field: flex flex-col gap-2, label above.
   text-small font-semibold text-ink-800, with the optional hint pushed to the
   right of the same line -- which is why the label is a flex row. */
/* flex-basis is load-bearing: Elementor makes .elementor-field-group a flex
   row, so the label is a flex ITEM and shrinks to its text. The design's
   label is a full-width block, which is what puts the Optional hint against
   the right edge of the field rather than against the label's last word. */
.np-form .elementor-field-label{display:flex;align-items:baseline;
  justify-content:space-between;flex-basis:100%;width:100%;
  margin-bottom:8px;font-size:14px;
  line-height:1.5;font-weight:600;color:var(--ink-800)}
/* the design's `hint="Optional"`. Elementor has no hint control, so it is
   drawn from the field's own group class -- which keeps the label itself
   editable in the panel without HTML in it. */
.np-form .elementor-field-group-company .elementor-field-label::after,
.np-form .elementor-field-group-topic .elementor-field-label::after,
.np-form .elementor-field-group-timeline .elementor-field-label::after,
.np-form .elementor-field-group-budget .elementor-field-label::after{
  content:"Optional";font-family:var(--mono);font-size:10.88px;
  line-height:1.5;font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-400)}

/* w-full rounded-md border hairline bg-white px-4 py-3 text-[0.9375rem]
   text-ink-900, with a blue focus ring.

   `.elementor-7661 .elementor-element.elementor-element-1eb8a03e` is load-bearing here. Site Settings > Theme Style > Form Fields
   compiles to a .elementor-7661 .elementor-element.elementor-element-1eb8a03e LIST, and one of its members is

       .elementor-kit-5 input:not([type="button"]):not([type="submit"])

   which is 0,3,1 -- each :not() contributes its argument's specificity. A
   plain `.np-form .elementor-field-textual` is 0,2,0 and loses, so the fields
   kept the kit's 10px 14px padding. Prefixing with `.elementor-7661 .elementor-element.elementor-element-1eb8a03e` (the page
   wrapper, 0,3,0) takes it to 0,5,0. */
.elementor-7661 .elementor-element.elementor-element-1eb8a03e .np-form .elementor-field-textual{width:100%;border-radius:10px;
  border:1px solid var(--line);background:#fff;padding:12px 16px;
  font-family:"Manrope",sans-serif;font-size:15px;line-height:1.5;
  color:var(--ink-900);
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.elementor-7661 .elementor-element.elementor-element-1eb8a03e .np-form .elementor-field-textual::placeholder{color:var(--ink-400);opacity:1}
.elementor-7661 .elementor-element.elementor-element-1eb8a03e .np-form .elementor-field-textual:focus{border-color:var(--blue-600);
  outline:none;box-shadow:0 0 0 4px rgba(0,130,202,.15)}
/* resize-y on the message */
.elementor-7661 .elementor-element.elementor-element-1eb8a03e .np-form textarea.elementor-field-textual{resize:vertical;min-height:132px}
/* appearance-none select-chevron pr-10 -- Elementor draws its own caret in a
   wrapper div, so the chevron is that, restyled, rather than a background
   image on the select. */
.np-form .elementor-select-wrapper{position:relative}
.elementor-7661 .elementor-element.elementor-element-1eb8a03e .np-form .elementor-select-wrapper select{appearance:none;
  -webkit-appearance:none;padding-right:40px}
.np-form .select-caret-down-wrapper{position:absolute;right:14px;top:50%;
  transform:translateY(-50%);width:12px;pointer-events:none;
  color:var(--ink-400)}
.np-form .select-caret-down-wrapper svg{display:block;width:12px;height:12px;
  fill:currentColor}

/* mt-7 flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between --
   the note is an HTML field so that it sits on the button's row inside the
   form; `order` puts the button first, as the design has it. */
.np-form .e-form__buttons{margin-top:8px;align-items:center}
.np-form .elementor-field-group-note{margin-top:8px;display:flex;
  align-items:center}
p.np-ct-note{font-size:14px;line-height:1.5;color:var(--ink-500);margin:0}
/* The design puts the button left and the note right on one row. Both are
   flex items of Elementor's own field wrapper, so the swap is by `order` --
   but only between these two: `order:-1` on the button moved it ahead of
   every field as well, and Name ended up in the second column. */
@media(min-width:640px){
  .np-form .e-form__buttons{order:1;justify-content:flex-start}
  .np-form .elementor-field-group-note{order:2;justify-content:flex-end;
    text-align:right}}
@media(max-width:639px){
  /* the design's flex-col here stretches the button, which Site Settings
     would do anyway -- but section 0 above cancels that, so it is restated */
  .np-form .e-form__buttons,.np-form .elementor-field-group-note{width:100%}
  .np-form .elementor-button{width:100%}}

/* ---------- 3. FAQ ---------- */
/* text-h4 text-ink-900 */
.np-ct-q .elementor-heading-title{font-family:"Manrope",sans-serif;
  font-size:18px;line-height:1.35;letter-spacing:-.012em;font-weight:600;
  color:var(--ink-900)}
/* text-body text-ink-500 */
.np-ct-a p{font-size:16px;line-height:1.65;color:var(--ink-500)}/* End custom CSS */