/* ==========================================
   PRECISION AXIS FRAMEWORK
   Pages Styles
========================================== */

/* ==========================================
   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-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-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-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 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);
}

/* ==========================================
   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:repeat(3, minmax(0, 1fr));
   gap:20px;
}

.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);
}

.pa-news-card:hover{
   transform:translateY(-4px);
   box-shadow:0 16px 34px rgba(11,35,75,.12);
   border-color:#c9d9ed;
}

.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;
}

/* ==========================================
   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);
}

.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-card p{
   margin:0 0 14px;
   color:#475569;
   font-size:15px;
   line-height:1.65;
}

.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;
}

/* ==========================================
   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__header{
   display:flex;
   align-items:center;
   gap:16px;
   padding-bottom:18px;
   margin-bottom:22px;
   border-bottom:1px solid #e4ecf7;
}

.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;
   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;
}