/* ==========================================
   PRECISION AXIS FRAMEWORK
   Pages Styles
========================================== */

/* ==========================================
   SHARED PAGE HEADING
========================================== */

.pa-page-head,
.pa-contact-heading,
.pa-careers-heading,
.pa-about-main__heading{
   max-width:860px;
   margin:0 auto 30px;
   text-align:center;
}

.pa-page-head span,
.pa-contact-heading span,
.pa-careers-heading span,
.pa-about-main__heading span{
   display:block;
   color:var(--accent);
   font-size:15px;
   text-transform:uppercase;
   letter-spacing:1.8px;
   font-weight:700;
   margin-bottom:12px;
}

.pa-page-head h1,
.pa-page-head h2,
.pa-contact-heading h1,
.pa-contact-heading h2,
.pa-careers-heading h1,
.pa-about-main__heading h1{
   font-family:var(--heading);
   color:var(--dark);
   font-size:46px;
   line-height:1.15;
   margin-bottom:12px;
}

.pa-page-head p,
.pa-contact-heading p,
.pa-careers-heading p,
.pa-about-main__heading p{
   margin:0;
   color:#475569;
   font-size:18px;
   line-height:1.68;
}

/* ==========================================
   CONTACT PAGE
========================================== */

.pa-contact-page{
   padding:28px 0 96px;
   background:linear-gradient(180deg, #f8fbff 0%, #ffffff 62%);
}

.pa-contact-heading{
   text-align:center;
   max-width:860px;
   margin:0 auto 38px;
}

.pa-contact-heading span{
   display:block;
   color:var(--accent);
   font-size:15px;
   text-transform:uppercase;
   letter-spacing:1.8px;
   font-weight:700;
   margin-bottom:12px;
}

.pa-contact-heading h1,
.pa-contact-heading h2{
   font-family:var(--heading);
   color:var(--dark);
   font-size:48px;
   line-height:1.15;
   margin-bottom:14px;
}

.pa-contact-heading p{
   font-size:18px;
   line-height:1.65;
   color:#475569;
   margin:0;
}

.pa-contact-grid{
   display:grid;
   grid-template-columns:repeat(3, minmax(0, 1fr));
   gap:20px;
   margin-bottom:24px;
}

.pa-contact-card{
   background:#fff;
   border:1px solid #dce8f5;
   border-radius:16px;
   padding:24px 22px;
   box-shadow:0 12px 30px rgba(11,35,75,.06);
}

.pa-contact-card__icon{
   width:44px;
   height:44px;
   border-radius:50%;
   background:#e9f2ff;
   color:#0a2d66;
   display:flex;
   align-items:center;
   justify-content:center;
   font-size:19px;
   margin-bottom:14px;
}

.pa-contact-card h2,
.pa-social-wrap h2{
   font-family:var(--heading);
   color:var(--dark);
   font-size:24px;
   line-height:1.25;
   margin-bottom:14px;
}

.pa-contact-card address{
   margin:0;
   font-size:16px;
   line-height:1.75;
   color:#334155;
   font-style:normal;
}

.pa-contact-card p{
   margin:0 0 8px;
   color:#334155;
   font-size:16px;
   line-height:1.7;
}

.pa-contact-card p:last-of-type{
   margin-bottom:0;
}

.pa-contact-card a{
   color:#0a2d66;
   font-weight:600;
}

.pa-contact-card a:hover{
   color:#c81e2a;
}

.pa-contact-map{
   margin:0 0 14px;
   border:1px solid #dce8f5;
   border-radius:12px;
   overflow:hidden;
   background:#f8fbff;
}

.pa-contact-map iframe{
   width:100%;
   height:180px;
   border:0;
   display:block;
}

.pa-contact-map__link{
   display:inline-flex;
   align-items:center;
   margin-top:12px;
   font-size:14px;
   font-weight:700;
}

.pa-contact-card--primary{
   background:#0a2d66;
   color:#dbeafe;
   border-color:#0a2d66;
}

.pa-contact-card--primary .pa-contact-card__icon{
   background:rgba(255,255,255,.14);
   color:#fff;
}

.pa-contact-card--primary h2,
.pa-contact-card--primary p,
.pa-contact-card--primary a{
   color:#fff;
}

.pa-contact-method{
   margin-bottom:12px;
}

.pa-contact-method:last-of-type{
   margin-bottom:0;
}

.pa-contact-method__title{
   display:flex;
   align-items:center;
   gap:8px;
   margin-bottom:6px;
}

.pa-contact-method__title i{
   font-size:14px;
}

.pa-contact-method__title strong{
   font-size:15px;
   line-height:1.3;
}

.pa-contact-method__links{
   display:flex;
   flex-direction:column;
   gap:4px;
   padding-left:22px;
}

.pa-contact-method__links a{
   display:inline-flex;
   width:fit-content;
}

.pa-contact-note{
   margin-top:14px;
   padding-top:14px;
   border-top:1px solid rgba(255,255,255,.24);
   font-size:14px;
   line-height:1.65;
   color:#dbeafe;
}

.pa-social-wrap{
   background:#fff;
   border:1px solid #dce8f5;
   border-radius:16px;
   padding:24px 22px;
   box-shadow:0 12px 30px rgba(11,35,75,.05);
}

.pa-social-wrap h2{
   margin-bottom:16px;
}

.pa-social-wrap__title{
   display:flex;
   align-items:center;
   gap:8px;
}

.pa-social-wrap__title i{
   font-size:16px;
   color:#0a2d66;
}

.pa-company-socials{
   display:grid;
   grid-column:1 / -1;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:16px;
}

.pa-social-item--placeholder{
   border-style:dashed;
   border-color:#cbd9ec;
   background:#fbfdff;
}

.pa-social-item--placeholder > i{
   background:#edf3fb;
}

.pa-social-item--placeholder span{
   color:#64748b;
}

.pa-social-grid{
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:12px;
}

.pa-social-item{
   display:flex;
   align-items:center;
   gap:12px;
   padding:12px 14px;
   border:1px solid #e2e8f0;
   border-radius:12px;
   background:#f8fafc;
   color:#0f172a;
   transition:var(--transition);
}

.pa-social-item > i{
   width:34px;
   height:34px;
   border-radius:50%;
   display:flex;
   align-items:center;
   justify-content:center;
   background:#e2ecf9;
   color:#0a2d66;
   font-size:16px;
   flex-shrink:0;
}

.pa-social-item strong{
   display:block;
   font-size:14px;
   line-height:1.2;
}

.pa-social-item__title{
   display:inline-flex;
   align-items:center;
   gap:6px;
}

.pa-social-item__title i{
   font-size:13px;
   color:#0a2d66;
}

.pa-social-item span{
   display:block;
   margin-top:3px;
   color:#475569;
   font-size:13px;
   line-height:1.3;
}

.pa-social-item:hover{
   border-color:#bfd3ea;
   background:#eef4fc;
   transform:translateY(-2px);
}

.pa-contact-layout{
   display:grid;
   grid-template-columns:minmax(0, 1.15fr) minmax(320px, .95fr);
   gap:22px;
   align-items:start;
}

.pa-contact-side{
   display:flex;
   flex-direction:column;
   gap:20px;
}

.pa-contact-grid--stacked{
   grid-template-columns:1fr;
   margin-bottom:0;
}

.pa-contact-form-wrap{
   margin-top:0;
   background:#fff;
   border:1px solid #dce8f5;
   border-radius:18px;
   padding:28px 24px;
   box-shadow:0 12px 30px rgba(11,35,75,.05);
}

.pa-contact-form__heading{
   text-align:center;
   max-width:760px;
   margin:0 auto 22px;
}

.pa-contact-form__heading span{
   display:block;
   color:var(--accent);
   font-size:14px;
   letter-spacing:1.8px;
   text-transform:uppercase;
   font-weight:700;
   margin-bottom:10px;
}

.pa-contact-form__heading h2{
   font-family:var(--heading);
   color:var(--dark);
   font-size:32px;
   line-height:1.2;
   margin:0 0 10px;
}

.pa-contact-form__heading p{
   margin:0;
   color:#475569;
   font-size:16px;
   line-height:1.7;
}

.pa-form-message{
   border-radius:14px;
   padding:14px 16px;
   margin:0 0 18px;
   font-size:15px;
   line-height:1.65;
}

.pa-form-message strong{
   display:block;
   margin-bottom:6px;
}

.pa-form-message ul{
   list-style:disc;
   margin:0;
   padding-left:20px;
}

.pa-form-message li + li{
   margin-top:4px;
}

.pa-form-message--error{
   background:#fef2f2;
   border:1px solid #fecaca;
   color:#991b1b;
}

.pa-form-message--success{
   background:#ecfdf5;
   border:1px solid #bbf7d0;
   color:#166534;
}

.pa-contact-form{
   display:flex;
   flex-direction:column;
   gap:18px;
}

.pa-contact-form__grid{
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:16px;
}

.pa-contact-form__field{
   display:flex;
   flex-direction:column;
   gap:8px;
}

.pa-contact-form__field--full,
.pa-contact-form__field--captcha{
   grid-column:1 / -1;
}

.pa-contact-form__field label{
   font-size:14px;
   font-weight:700;
   color:#0f172a;
}

.pa-contact-form__field input,
.pa-contact-form__field textarea{
   width:100%;
   border:1px solid #cfdced;
   border-radius:12px;
   padding:14px 16px;
   font-family:var(--body);
   font-size:15px;
   color:#0f172a;
   background:#f8fbff;
   transition:var(--transition);
}

.pa-contact-form__field input:focus,
.pa-contact-form__field textarea:focus{
   outline:none;
   border-color:#0a2d66;
   box-shadow:0 0 0 3px rgba(10,45,102,.12);
   background:#fff;
}

.pa-contact-form__field textarea{
   resize:vertical;
   min-height:160px;
}

.pa-contact-captcha{
   display:grid;
   grid-template-columns:1fr 220px;
   gap:14px;
   align-items:center;
}

.pa-contact-captcha__question{
   border:1px solid #dce8f5;
   border-radius:12px;
   background:#f1f7ff;
   color:#0a2d66;
   font-weight:700;
   padding:14px 16px;
}

.pa-contact-form__hidden{
   position:absolute;
   left:-10000px;
   width:1px;
   height:1px;
   overflow:hidden;
}

.pa-contact-form__actions{
   display:flex;
   flex-wrap:wrap;
   align-items:center;
   gap:14px;
   justify-content:space-between;
}

.pa-contact-form__actions p{
   margin:0;
   color:#64748b;
   font-size:14px;
   line-height:1.6;
}

.pa-contact-form__submit{
   display:inline-flex;
   align-items:center;
   justify-content:center;
   border:none;
   border-radius:12px;
   background:#0a2d66;
   color:#fff;
   font-size:15px;
   font-weight:700;
   padding:14px 26px;
   cursor:pointer;
   transition:var(--transition);
   box-shadow:0 12px 24px rgba(10,45,102,.2);
}

.pa-contact-form__submit:hover{
   background:#08244f;
   transform:translateY(-2px);
}

.pa-contact-form__submit[disabled]{
   opacity:.68;
   cursor:not-allowed;
   background:#6482ad;
   box-shadow:none;
}

.pa-contact-form__submit[disabled]:hover{
   background:#6482ad;
   transform:none;
}

/* ==========================================
   REQUEST QUOTE PAGE
========================================== */

.pa-quote-page{
   padding:32px 0 92px;
}

.pa-quote-heading{
   max-width:860px;
   margin:0 auto 26px;
}

.pa-quote-layout{
   max-width:980px;
   margin:0 auto;
}

.pa-quote-form{
   gap:20px;
}

.pa-quote-section{
   margin:0;
   padding:22px 20px;
   border:1px solid #dce8f5;
   border-radius:16px;
   background:#f8fbff;
}

.pa-quote-section legend{
   padding:0 10px;
   font-family:var(--heading);
   font-size:22px;
   line-height:1.3;
   color:var(--dark);
}

.pa-quote-section__intro{
   margin:0 0 14px;
   color:#475569;
   font-size:15px;
   line-height:1.7;
}

.pa-quote-options{
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:12px;
}

.pa-quote-options--single-row{
   grid-template-columns:repeat(3, minmax(0, 1fr));
}

.pa-quote-option{
   display:flex;
   align-items:flex-start;
   gap:10px;
   padding:13px 14px;
   border:1px solid #dce8f5;
   border-radius:12px;
   background:#fff;
}

.pa-quote-option input{
   margin-top:4px;
   flex:0 0 auto;
}

.pa-quote-option span{
   color:#0f172a;
   font-size:15px;
   line-height:1.65;
}

.pa-quote-option--consent{
   padding:0;
   border:none;
   border-radius:0;
   background:transparent;
}

.pa-quote-help{
   margin:12px 0 0;
   color:#64748b;
   font-size:14px;
   line-height:1.65;
}

.pa-quote-examples{
   margin:0 0 14px;
   padding-left:20px;
   color:#475569;
   font-size:15px;
   line-height:1.7;
}

.pa-quote-examples li + li{
   margin-top:4px;
}

.pa-quote-form-wrap input[type="file"]{
   padding:12px 14px;
   background:#fff;
}

.pa-quote-form__actions{
   padding-top:4px;
}

/* ==========================================
   NEWS PAGE
========================================== */

.pa-news{
   padding:36px 0 92px;
   background:linear-gradient(180deg, #f8fbff 0%, #ffffff 60%);
}

.pa-section-title--left{
   text-align:left;
   max-width:760px;
   margin:0 0 28px;
}

.pa-section-title--left p{
   margin-top:12px;
   color:#475569;
   font-size:18px;
   line-height:1.65;
}

.pa-news-grid{
   display:grid;
   grid-template-columns:1fr;
   gap:20px;
   max-width:760px;
   margin:0 auto;
}

.pa-news-card{
   border:1px solid #dce8f5;
   border-radius:16px;
   background:#fff;
   padding:24px 22px;
   box-shadow:0 12px 30px rgba(11,35,75,.06);
   transition:var(--transition);
   display:flex;
   flex-direction:column;
   scroll-margin-top:110px;
   width:100%;
}

.pa-news-card:hover{
   transform:translateY(-4px);
   box-shadow:0 16px 34px rgba(11,35,75,.12);
   border-color:#c9d9ed;
}

.pa-news-card__media{
   margin:0 0 18px;
   border-radius:14px;
   overflow:hidden;
   background:#e8f0fb;
   padding:12px;
   width:100%;
}

.pa-news-media__frame{
   width:100%;
   height:100%;
   min-height:200px;
   display:flex;
   align-items:center;
   justify-content:center;
   overflow:hidden;
}

.pa-news-card__media--carousel,
.pa-news-timeline__media--carousel{
   padding:0;
   position:relative;
   width:100%;
   height:clamp(220px, 24vw, 320px);
   max-width:100%;
}

.pa-news-card__media--carousel .carousel-inner,
.pa-news-timeline__media--carousel .carousel-inner{
   height:100%;
}

.pa-news-card__media--carousel .carousel-item,
.pa-news-timeline__media--carousel .carousel-item{
   height:100%;
}

.pa-news-card__media--carousel .carousel-item > .pa-news-media__frame,
.pa-news-timeline__media--carousel .carousel-item > .pa-news-media__frame{
   min-height:100%;
}

.pa-news-card__media img,
.pa-news-timeline__media img,
.pa-news-card__media--carousel img,
.pa-news-timeline__media--carousel img{
   width:auto;
   height:auto;
   max-width:100%;
   max-height:100%;
   object-fit:contain;
   display:block;
}

.pa-news-card__date{
   display:inline-block;
   font-size:12px;
   font-weight:700;
   text-transform:uppercase;
   letter-spacing:1px;
   color:#0a2d66;
   background:#e8f0fb;
   border-radius:20px;
   padding:6px 12px;
   margin-bottom:14px;
}

.pa-news-card h3{
   font-family:var(--heading);
   color:var(--dark);
   font-size:24px;
   line-height:1.3;
   margin-bottom:12px;
}

.pa-news-card p{
   margin:0;
   color:#475569;
   font-size:16px;
   line-height:1.7;
}

.pa-news-card p + p{
   margin-top:10px;
}

.pa-news-card__link{
   display:inline-flex;
   align-items:center;
   margin-top:14px;
   color:#0a2d66;
   font-size:14px;
   font-weight:700;
}

.pa-news-card__link:hover{
   color:#c81e2a;
}

.pa-news-timeline{
   max-width:980px;
   margin:0 auto;
   position:relative;
   display:flex;
   flex-direction:column;
   gap:14px;
   padding-left:34px;
}

.pa-news-timeline::before{
   content:"";
   position:absolute;
   left:12px;
   top:8px;
   bottom:8px;
   width:2px;
   background:linear-gradient(180deg, #bfd3ea 0%, #dce8f5 100%);
}

.pa-news-timeline__item{
   position:relative;
   border:1px solid #dce8f5;
   border-radius:16px;
   background:#fff;
   padding:20px 20px 18px;
   box-shadow:0 12px 30px rgba(11,35,75,.06);
   transition:var(--transition);
}

.pa-news-timeline__item::before{
   content:"";
   position:absolute;
   left:-28px;
   top:24px;
   width:12px;
   height:12px;
   border-radius:50%;
   background:#0a2d66;
   border:2px solid #e8f0fb;
}

.pa-news-timeline__item:hover{
   transform:translateY(-2px);
   box-shadow:0 16px 34px rgba(11,35,75,.1);
   border-color:#c9d9ed;
}

.pa-news-timeline__media{
   margin:0 0 16px;
   border-radius:12px;
   overflow:hidden;
   background:#e8f0fb;
   padding:12px;
   width:100%;
}

.pa-news-timeline__media .pa-news-media__frame{
   min-height:180px;
}

.pa-news-card__media--carousel .carousel-control-prev,
.pa-news-card__media--carousel .carousel-control-next,
.pa-news-timeline__media--carousel .carousel-control-prev,
.pa-news-timeline__media--carousel .carousel-control-next{
   width:2.8rem;
   opacity:.9;
   align-items:center;
}

.pa-news-card__media--carousel .carousel-control-prev-icon,
.pa-news-card__media--carousel .carousel-control-next-icon,
.pa-news-timeline__media--carousel .carousel-control-prev-icon,
.pa-news-timeline__media--carousel .carousel-control-next-icon{
   background-color:rgba(10,45,102,.9);
   border-radius:999px;
   background-size:60% 60%;
   box-shadow:0 8px 18px rgba(11,35,75,.18);
}

.pa-news-timeline__date{
   display:inline-block;
   font-size:12px;
   font-weight:700;
   text-transform:uppercase;
   letter-spacing:1px;
   color:#0a2d66;
   background:#e8f0fb;
   border-radius:20px;
   padding:6px 12px;
   margin-bottom:12px;
}

.pa-news-timeline__item h3{
   font-family:var(--heading);
   color:var(--dark);
   font-size:24px;
   line-height:1.3;
   margin:0 0 10px;
}

.pa-news-timeline__item p{
   margin:0;
   color:#475569;
   font-size:16px;
   line-height:1.7;
}

.pa-news-timeline__link{
   display:inline-flex;
   align-items:center;
   margin-top:12px;
   color:#0a2d66;
   font-size:14px;
   font-weight:700;
}

.pa-news-timeline__link:hover{
   color:#c81e2a;
}

/* ==========================================
   CAREERS PAGE
========================================== */

.pa-careers-page{
   padding:32px 0 92px;
   background:linear-gradient(180deg, #f8fbff 0%, #ffffff 62%);
}

.pa-careers-heading{
   max-width:860px;
   margin:0 auto 30px;
   text-align:center;
}

.pa-careers-heading span{
   display:block;
   color:var(--accent);
   font-size:15px;
   text-transform:uppercase;
   letter-spacing:1.8px;
   font-weight:700;
   margin-bottom:12px;
}

.pa-careers-heading h1{
   font-family:var(--heading);
   color:var(--dark);
   font-size:46px;
   line-height:1.15;
   margin-bottom:12px;
}

.pa-careers-heading p{
   margin:0;
   color:#475569;
   font-size:18px;
   line-height:1.68;
}

.pa-careers-grid{
   display:grid;
   grid-template-columns:repeat(3, minmax(0, 1fr));
   gap:18px;
}

.pa-career-card{
   background:#fff;
   border:1px solid #dce8f5;
   border-radius:16px;
   padding:20px;
   box-shadow:0 12px 30px rgba(11,35,75,.06);
   transition:var(--transition);
   display:flex;
   flex-direction:column;
   scroll-margin-top:110px;
}

.pa-career-card:hover{
   transform:translateY(-4px);
   box-shadow:0 16px 32px rgba(11,35,75,.12);
   border-color:#c8d9ee;
}

.pa-career-card__icon{
   width:42px;
   height:42px;
   border-radius:50%;
   display:flex;
   align-items:center;
   justify-content:center;
   background:#e7f0fd;
   color:#0a2d66;
   font-size:18px;
   margin-bottom:12px;
}

.pa-career-card h2{
   font-family:var(--heading);
   color:var(--dark);
   font-size:24px;
   line-height:1.25;
   margin:0 0 10px;
}

.pa-career-meta{
   display:flex;
   flex-wrap:wrap;
   gap:8px;
   margin:0 0 12px;
}

.pa-career-meta__chip{
   display:inline-flex;
   align-items:center;
   border-radius:999px;
   padding:6px 10px;
   background:#eef4fb;
   border:1px solid #d8e6f7;
   color:#0a2d66;
   font-size:12px;
   font-weight:700;
   line-height:1;
}

.pa-career-card p{
   margin:0 0 14px;
   color:#475569;
   font-size:15px;
   line-height:1.65;
}

.pa-careers-grid--detail .pa-career-card p + p{
   margin-top:-4px;
}

.pa-career-card__actions{
   margin-top:auto;
}

.pa-career-card a{
   display:inline-flex;
   align-items:center;
   color:#0a2d66;
   font-size:14px;
   font-weight:700;
}

.pa-career-card a:hover{
   color:#c81e2a;
}

/* ==========================================
   PROJECTS PAGE
========================================== */

.pa-projects-page{
   padding:32px 0 92px;
   background:linear-gradient(180deg, #f8fbff 0%, #ffffff 62%);
}

.pa-projects-home-grid{
   display:grid;
   grid-template-columns:repeat(3, minmax(0, 1fr));
   gap:20px;
   min-width:0;
}

.pa-projects-home-swiper{
   width:100%;
   max-width:100%;
   min-width:0;
   overflow:hidden;
   padding-bottom:34px;
}

.pa-projects-home-swiper .swiper-slide{
   height:auto;
}

.pa-projects-home-swiper .swiper-pagination-bullet{
   background:#0a2d66;
   opacity:.25;
}

.pa-projects-home-swiper .swiper-pagination-bullet-active{
   opacity:1;
}

.pa-project-home-card{
   border:1px solid #dce8f5;
   border-radius:16px;
   background:#fff;
   box-shadow:0 12px 30px rgba(11,35,75,.06);
   overflow:hidden;
   transition:var(--transition);
   min-width:0;
   max-width:100%;
}

.pa-project-home-card__media{
   height:270px;
   border-bottom:1px solid #e2eaf4;
   overflow:hidden;
   background:#f3f7fc;
   padding:10px;
}

.pa-project-home-card__media-frame{
   width:100%;
   height:100%;
   display:flex;
   align-items:center;
   justify-content:center;
   overflow:hidden;
}

.pa-project-home-card__media img{
   width:auto;
   height:auto;
   max-width:100%;
   max-height:100%;
   object-fit:contain;
   display:block;
}

.pa-project-home-card:hover{
   transform:translateY(-4px);
   box-shadow:0 16px 34px rgba(11,35,75,.12);
   border-color:#c9d9ed;
}

.pa-projects-swiper--detail{
   width:100%;
   max-width:100%;
   min-width:0;
   overflow:hidden;
}

.pa-projects-swiper--detail .swiper-wrapper{
   min-width:0;
   max-width:100%;
}

.pa-projects-swiper--detail .swiper-slide{
   height:100%;
   min-width:0;
   max-width:100%;
}

.pa-projects-swiper--detail img{
   width:100%;
   height:100%;
   object-fit:cover;
   display:block;
}

.pa-projects-swiper .swiper-pagination-bullet{
   background:#ffffff;
   opacity:.5;
}

.pa-projects-swiper .swiper-pagination-bullet-active{
   background:#ffffff;
   opacity:1;
}

.pa-project-home-card__body{
   padding:16px;
}

.pa-project-home-card__meta,
.pa-project-item__meta{
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:10px;
   margin:0 0 12px;
}

.pa-project-meta__item{
   border:1px solid #dce8f5;
   border-radius:12px;
   background:#f8fbff;
   padding:10px 12px;
   min-width:0;
}

.pa-project-meta__label{
   display:block;
   color:#64748b;
   font-size:11px;
   font-weight:700;
   text-transform:uppercase;
   letter-spacing:1px;
   margin-bottom:4px;
}

.pa-project-meta__value{
   display:block;
   color:#0f172a;
   font-size:14px;
   line-height:1.45;
}

.pa-project-home-card__company,
.pa-project-item__company{
   display:inline-block;
   font-size:12px;
   font-weight:700;
   text-transform:uppercase;
   letter-spacing:1px;
   color:#0a2d66;
   background:#e8f0fb;
   border-radius:20px;
   padding:6px 12px;
   margin-bottom:10px;
}

.pa-project-home-card h3{
   font-family:var(--heading);
   color:var(--dark);
   font-size:24px;
   line-height:1.25;
   margin:0 0 10px;
}

.pa-project-home-card p{
   margin:0 0 12px;
   color:#475569;
   font-size:15px;
   line-height:1.65;
}

.pa-project-home-card a{
   display:inline-flex;
   align-items:center;
   color:#0a2d66;
   font-size:14px;
   font-weight:700;
}

.pa-project-home-card a:hover{
   color:#c81e2a;
}

.pa-projects-list{
   display:grid;
   gap:24px;
   min-width:0;
}

.pa-project-item{
   border:1px solid #dce8f5;
   border-radius:18px;
   background:#fff;
   box-shadow:0 12px 30px rgba(11,35,75,.06);
   padding:22px;
   scroll-margin-top:110px;
   min-width:0;
   max-width:100%;
   overflow:hidden;
}

.pa-project-item__header h2{
   font-family:var(--heading);
   color:var(--dark);
   font-size:34px;
   line-height:1.2;
   margin:0 0 12px;
}

.pa-project-item__header{
   margin-bottom:14px;
}

.pa-projects-swiper--detail{
   border-radius:14px;
   overflow:hidden;
   height:420px;
   max-height:65vh;
   margin-bottom:14px;
}

.pa-projects-swiper--detail .swiper-slide{
   display:flex;
   align-items:center;
   justify-content:center;
   background:#f3f7fc;
}

.pa-projects-swiper--detail img{
   object-fit:contain;
}

.pa-project-item__content p{
   margin:0;
   color:#475569;
   font-size:16px;
   line-height:1.72;
}

.pa-project-item__content p + p{
   margin-top:10px;
}

/* ==========================================
   SEARCH PAGE
========================================== */

.pa-search-page{
   padding:32px 0 92px;
   background:linear-gradient(180deg, #f7faff 0%, #ffffff 60%);
}

.pa-search-hero{
   max-width:860px;
   margin:0 auto 28px;
   text-align:center;
}

.pa-search-hero span{
   display:block;
   color:var(--accent);
   font-size:15px;
   text-transform:uppercase;
   letter-spacing:1.8px;
   font-weight:700;
   margin-bottom:12px;
}

.pa-search-hero h1{
   font-family:var(--heading);
   color:var(--dark);
   font-size:46px;
   line-height:1.15;
   margin:0 0 12px;
}

.pa-search-hero p{
   margin:0;
   color:#475569;
   font-size:18px;
   line-height:1.68;
}

.pa-search-form{
   max-width:860px;
   margin:0 auto 24px;
   padding:18px;
   background:#fff;
   border:1px solid #dce8f5;
   border-radius:18px;
   box-shadow:0 14px 34px rgba(11,35,75,.06);
   display:grid;
   grid-template-columns:1fr auto;
   gap:14px;
   align-items:end;
}

.pa-search-form__label{
   position:absolute;
   width:1px;
   height:1px;
   padding:0;
   margin:-1px;
   overflow:hidden;
   clip:rect(0, 0, 0, 0);
   border:0;
}

.pa-search-form__field{
   display:flex;
   align-items:center;
   gap:12px;
   padding:0 16px;
   min-height:56px;
   border:1px solid #d6e3f4;
   border-radius:14px;
   background:#f8fbff;
}

.pa-search-form__field i{
   color:#0a2d66;
   font-size:18px;
   flex-shrink:0;
}

.pa-search-form__field input{
   width:100%;
   border:none;
   background:transparent;
   color:#0f172a;
   font-size:16px;
   outline:none;
}

.pa-search-form button{
   min-width:140px;
   min-height:56px;
   border:none;
   border-radius:14px;
   background:#0a2d66;
   color:#fff;
   font-size:15px;
   font-weight:700;
   transition:var(--transition);
}

.pa-search-form button:hover{
   background:#c81e2a;
}

.pa-search-meta,
.pa-search-empty{
   max-width:860px;
   margin:0 auto 18px;
   padding:18px 20px;
   background:#fff;
   border:1px solid #dce8f5;
   border-radius:16px;
   box-shadow:0 10px 24px rgba(11,35,75,.05);
}

.pa-search-meta{
   color:#334155;
   font-size:15px;
   line-height:1.6;
}

.pa-search-meta strong{
   color:#0a2d66;
}

.pa-search-empty h2{
   font-family:var(--heading);
   color:var(--dark);
   font-size:26px;
   line-height:1.2;
   margin:0 0 10px;
}

.pa-search-empty p{
   margin:0;
   color:#475569;
   font-size:16px;
   line-height:1.7;
}

.pa-search-tags{
   display:flex;
   flex-wrap:wrap;
   gap:10px;
}

.pa-search-tag{
   display:inline-flex;
   align-items:center;
   border-radius:999px;
   padding:8px 12px;
   background:#eef4fb;
   color:#0a2d66;
   font-size:13px;
   font-weight:700;
   line-height:1;
}

.pa-search-results{
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:20px;
}

.pa-search-card{
   background:#fff;
   border:1px solid #dce8f5;
   border-radius:18px;
   padding:22px;
   box-shadow:0 12px 30px rgba(11,35,75,.06);
   display:flex;
   flex-direction:column;
   gap:14px;
}

.pa-search-card__meta{
   color:var(--accent);
   font-size:13px;
   font-weight:700;
   letter-spacing:1.6px;
   text-transform:uppercase;
}

.pa-search-card h2{
   font-family:var(--heading);
   color:var(--dark);
   font-size:24px;
   line-height:1.25;
   margin:0;
}

.pa-search-card p{
   margin:0;
   color:#475569;
   font-size:15px;
   line-height:1.7;
}

.pa-search-card a{
   display:inline-flex;
   align-items:center;
   color:#0a2d66;
   font-size:14px;
   font-weight:700;
}

.pa-search-card a:hover{
   color:#c81e2a;
}

/* ==========================================
   FAQ PAGE
========================================== */

.pa-faq-page{
   padding:32px 0 92px;
   background:
      radial-gradient(circle at 92% 8%, rgba(10,45,102,.07) 0%, rgba(10,45,102,0) 46%),
      linear-gradient(180deg, #f8fbff 0%, #ffffff 62%);
}

.pa-faq-heading{
   margin-bottom:24px;
}

.pa-faq-highlight{
   display:grid;
   grid-template-columns:repeat(3, minmax(0, 1fr));
   gap:14px;
   margin-bottom:18px;
}

.pa-faq-highlight__item{
   display:flex;
   gap:10px;
   align-items:flex-start;
   border:1px solid #dce8f5;
   border-radius:14px;
   background:#fff;
   box-shadow:0 12px 28px rgba(11,35,75,.05);
   padding:14px 14px;
}

.pa-faq-highlight__item i{
   width:34px;
   height:34px;
   border-radius:50%;
   background:#e9f2ff;
   color:#0a2d66;
   display:flex;
   align-items:center;
   justify-content:center;
   font-size:15px;
   flex-shrink:0;
}

.pa-faq-highlight__item strong{
   display:block;
   font-size:15px;
   color:#0f172a;
   margin-bottom:2px;
}

.pa-faq-highlight__item p{
   margin:0;
   color:#475569;
   font-size:14px;
   line-height:1.55;
}

.pa-faq-grid{
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:18px;
}

.pa-faq-panel{
   border:1px solid #dce8f5;
   border-radius:18px;
   background:#fff;
   box-shadow:0 14px 32px rgba(11,35,75,.06);
   padding:20px;
}

.pa-faq-panel h2{
   margin:0 0 14px;
   font-family:var(--heading);
   color:var(--dark);
   font-size:28px;
   line-height:1.2;
}

.pa-faq-item{
   border:1px solid #dbe8f7;
   border-radius:12px;
   background:#f8fbff;
   padding:0 14px;
}

.pa-faq-item + .pa-faq-item{
   margin-top:10px;
}

.pa-faq-item summary{
   list-style:none;
   cursor:pointer;
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:12px;
   font-size:16px;
   font-weight:700;
   color:#0f172a;
   line-height:1.4;
   padding:14px 0;
}

.pa-faq-item summary::-webkit-details-marker{
   display:none;
}

.pa-faq-item summary::after{
   content:"+";
   flex-shrink:0;
   width:22px;
   height:22px;
   border-radius:50%;
   background:#e9f2ff;
   color:#0a2d66;
   display:flex;
   align-items:center;
   justify-content:center;
   font-size:18px;
   line-height:1;
   font-weight:700;
}

.pa-faq-item[open] summary::after{
   content:"-";
}

.pa-faq-item p{
   margin:0;
   padding:0 0 14px;
   color:#475569;
   font-size:15px;
   line-height:1.68;
}

.pa-faq-list{
   margin:0;
   padding:0 0 14px 20px;
   list-style:disc;
   list-style-position:outside;
   color:#475569;
   font-size:15px;
   line-height:1.68;
}

.pa-faq-item p + .pa-faq-list{
   padding-top:0;
}

.pa-faq-list li + li{
   margin-top:4px;
}

/* ==========================================
   ABOUT PAGE
========================================== */

.pa-about-main{
   padding:32px 0 92px;
   background:linear-gradient(180deg, #f7faff 0%, #ffffff 58%);
}

.pa-about-main__heading{
   max-width:880px;
   margin:0 auto 30px;
   text-align:center;
}

.pa-about-main__heading span{
   display:block;
   color:var(--accent);
   font-size:15px;
   text-transform:uppercase;
   letter-spacing:1.8px;
   font-weight:700;
   margin-bottom:12px;
}

.pa-about-main__heading h1{
   font-family:var(--heading);
   color:var(--dark);
   font-size:46px;
   line-height:1.15;
   margin-bottom:14px;
}

.pa-about-main__heading p{
   margin:0;
   color:#475569;
   font-size:18px;
   line-height:1.68;
}

.pa-company-profile-main{
   border:1px solid #dce8f5;
   border-radius:18px;
   background:#fff;
   box-shadow:0 14px 34px rgba(11,35,75,.07);
   padding:26px;
}

.pa-company-profile-main{
   scroll-margin-top:110px;
}

.pa-company-profile-main__header{
   display:flex;
   align-items:center;
   gap:16px;
   position:relative;
   overflow:hidden;
   padding-right:170px;
   padding-bottom:18px;
   margin-bottom:22px;
   border-bottom:1px solid #e4ecf7;
}

.pa-company-profile-main__header::after{
   content:"";
   position:absolute;
   right:0;
   top:0;
   width:150px;
   height:100%;
   background-image:var(--pa-company-watermark);
   background-repeat:no-repeat;
   background-position:right center;
   background-size:120px auto;
   opacity:.14;
   pointer-events:none;
}

.pa-company-profile-main__header > *{
   position:relative;
   z-index:1;
}

.pa-company-profile-main__logo{
   width:82px;
   height:82px;
   border-radius:14px;
   border:1px solid #e3eaf4;
   background:#f8fbff;
   display:flex;
   align-items:center;
   justify-content:center;
   flex-shrink:0;
}

.pa-company-profile-main__logo img{
   max-width:64px;
   max-height:64px;
   object-fit:contain;
}

.pa-company-profile-main__header h2{
   font-family:var(--heading);
   color:var(--dark);
   font-size:34px;
   line-height:1.2;
   margin:0 0 8px;
}

.pa-company-profile-main__header p{
   margin:0;
   width:100%;
   color:#475569;
   font-size:16px;
   line-height:1.6;
}

.pa-company-profile-main__grid{
   display:flex;
   flex-direction:column;
   gap:12px;
}

.pa-company-row--top{
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:12px;
}

.pa-company-row--overview .pa-company-meta-block{
   width:100%;
}

.pa-company-row--director{
   display:grid;
   grid-template-columns:130px minmax(0, 1fr);
   gap:12px;
   align-items:stretch;
}

.pa-company-meta-block{
   border:1px solid #e5edf8;
   border-radius:14px;
   background:#fbfdff;
   padding:14px;
}

.pa-company-meta-block h3,
.pa-director-message h3{
   font-family:var(--heading);
   color:var(--dark);
   font-size:22px;
   line-height:1.24;
   margin:0 0 8px;
}

.pa-company-meta-block p,
.pa-director-message p{
   margin:0;
   color:#334155;
   font-size:14px;
   line-height:1.62;
}

.pa-company-meta-block p + p,
.pa-director-message p + p{
   margin-top:10px;
}

.pa-company-meta-block ul{
   list-style:disc;
   margin:0;
   padding-left:20px;
}

.pa-company-meta-block li{
   color:#334155;
   font-size:14px;
   line-height:1.55;
   margin-bottom:4px;
}

.pa-company-meta-block li:last-child{
   margin-bottom:0;
}

.pa-director-message{
   border:1px solid #dce8f5;
   border-radius:14px;
   background:#ffffff;
   padding:14px;
}

.pa-director-media{
   width:100%;
   max-width:130px;
   aspect-ratio:3/4;
   border-radius:10px;
   border:1px solid #d9e4f2;
   background:#f8fbff;
   overflow:hidden;
}

.pa-director-media img{
   width:100%;
   height:100%;
   object-fit:cover;
}

