/* Contact Us: head-office cards + departments (added sections; existing page untouched) */
.ct-extra{--blue:#1A73E8;--navy:#0D47A1;--yellow:#FFC107;--line:#dbe6f7;--muted:#5f6b7a;--serif:"Playfair Display",Georgia,serif;font-family:"Poppins","Inter",sans-serif;color:#1f2937;padding:24px 0 96px;background:#fff}
.ct-title{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.2vw,42px);color:var(--navy);text-align:center;margin:0 0 10px;line-height:1.2}
.ct-underline{display:block;width:70px;height:4px;border-radius:2px;margin:14px auto 40px;background:linear-gradient(90deg,var(--blue),var(--yellow))}

/* head office / telephone / connect */
.ct-info{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:84px}
.ct-card{position:relative;display:flex;flex-direction:column;padding:34px 34px 36px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,#fff,#f3f7ff);box-shadow:0 10px 28px rgba(13,71,161,.07);transition:transform .3s,box-shadow .3s}
.ct-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(13,71,161,.14)}
.ct-card-ico{display:grid;place-items:center;width:54px;height:54px;margin-bottom:18px;border-radius:50%;background:#e8f0fe;color:var(--blue);font-size:22px}
.ct-card h3{margin:0 0 16px;padding-bottom:16px;font-size:21px;font-weight:500;color:var(--navy);border-bottom:2px solid #ffe08a}
.ct-card p{margin:0 0 6px;font-size:16.5px;line-height:1.85;color:#475569}
.ct-card p.ct-label{margin-top:12px;font-weight:600;color:#1f2937}
.ct-card a{color:var(--blue);text-decoration:none;word-break:break-word}
.ct-card a:hover{text-decoration:underline}
.ct-phone{font-size:19px;font-weight:600}
.ct-social{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.ct-social a{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--blue);color:#fff;font-size:20px;transition:transform .2s,background .2s}
.ct-social a i{display:block;font-size:19px;line-height:1;width:1em;text-align:center}
.ct-social a:hover{background:var(--navy);box-shadow:0 8px 18px rgba(13,71,161,.28);text-decoration:none}
.ct-social a.wa{background:#25d366}
.ct-social a.wa:hover{background:#1da851}
.ct-card .ct-note{margin-top:18px;font-size:14.5px;color:var(--muted)}

/* departments */
.ct-dept{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ct-dept article{display:flex;flex-direction:column;padding:30px 30px 28px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:transform .3s,box-shadow .3s,border-color .3s}
.ct-dept article:hover{transform:translateY(-5px);border-color:#bcd0f3;box-shadow:0 18px 38px rgba(13,71,161,.12)}
.ct-dept h4{margin:0 0 14px;padding-bottom:14px;font-size:17px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#1f2937;border-bottom:2px solid #ffe08a}
.ct-dept .ct-role{margin:0 0 14px;font-size:15.5px;color:var(--muted)}
.ct-dept a{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:15.5px;color:var(--blue);text-decoration:none;word-break:break-word}
.ct-dept a i{width:18px;text-align:center;font-size:14px;color:#8aa7d6}
.ct-dept a:hover{text-decoration:underline}

@media(max-width:1000px){
  .ct-info,.ct-dept{grid-template-columns:repeat(2,1fr)}
  .ct-info .ct-card:last-child{grid-column:1/-1}
}
@media(max-width:640px){
  .ct-extra{padding:8px 0 56px}
  .ct-info,.ct-dept{grid-template-columns:1fr;gap:18px}
  .ct-info{margin-bottom:56px}
  .ct-card{padding:26px 22px}
}


/* ===== Large screens: scale the whole Contact page consistently (existing form + campus area + new sections) ===== */
@media(min-width:1500px){
  body .contact-inner-area > .container,.ct-extra > .container{max-width:1440px}
  body .contact-inner-area .contact-inner-boxarea{padding:64px 72px}
  body .contact-inner-area .contact-input-section h3{font-size:2.7em}
  body .contact-inner-area .contact-input-section p{font-size:1.28em;line-height:1.8}
  body .contact-inner-area .input-area input,
  body .contact-inner-area .input-area textarea,
  body .contact-inner-area .input-area .nice-select{font-size:18px;padding-top:18px;padding-bottom:18px;min-height:62px}
  body .contact-inner-area .input-area textarea{min-height:170px}
  body .contact-inner-area .input-area .nice-select .current{font-size:18px}
  body .contact-inner-area .header-btn4{font-size:1.25em;padding:18px 46px}
  body .contact-inner-area .contact-box{padding:26px 28px!important;margin-bottom:22px}
  body .contact-inner-area .contact-box .icons img{width:38px}
  body .contact-inner-area .contact-box .content p{font-size:1.1em;font-weight:600}
  body .contact-inner-area .contact-box .content a{font-size:19px!important;line-height:1.55!important}

  body .contact-inner-area .location-nav{gap:18px}
  body .contact-inner-area .location-nav-item{flex:1 1 0;min-width:170px;padding:26px 16px}
  body .contact-inner-area .location-icon{font-size:2.5em}
  body .contact-inner-area .location-name{font-size:1.28em}
  body .contact-inner-area .location-phone{font-size:1.08em}
  body .contact-inner-area .location-title{font-size:2.8em}
  body .contact-inner-area .contact-info-box h4{font-size:1.75em}
  body .contact-inner-area .contact-detail{font-size:1.2em;margin-bottom:22px}
  body .contact-inner-area .contact-detail i{font-size:1.35em}
  body .contact-inner-area .btn-area1 a{font-size:1.15em;padding:16px 26px}
  body .contact-inner-area .maps-area iframe{height:760px}

  .ct-extra{padding-bottom:110px}
  .ct-title{font-size:clamp(34px,3vw,48px)}
  .ct-card{padding:40px 40px 42px}
  .ct-card h3{font-size:24px}
  .ct-card p{font-size:18.5px}
  .ct-phone{font-size:22px!important}
  .ct-card-ico{width:62px;height:62px;font-size:25px}
  .ct-social a{width:54px;height:54px;font-size:22px}
  .ct-dept article{padding:36px 36px 34px}
  .ct-dept h4{font-size:19px}
  .ct-dept .ct-role,.ct-dept a{font-size:17.5px}
}
@media(min-width:1800px){
  body .contact-inner-area > .container,.ct-extra > .container{max-width:1600px}
  body .contact-inner-area .location-nav-item{min-width:190px}
}

/* ===== Campus tabs -> campus panel: breathing room, no clipping ===== */
body .contact-inner-area .location-nav-container{padding:18px 18px 10px!important;margin:0 0 56px!important;overflow:visible}
body .contact-inner-area .location-nav{padding:8px 4px 22px!important;margin:0!important;scrollbar-width:thin}
body .contact-inner-area .location-nav-item{margin-bottom:2px}
body .contact-inner-area .location-section{padding:48px 48px 52px;border:1px solid #e6edf8;box-shadow:0 18px 44px rgba(13,71,161,.1)}
body .contact-inner-area .location-section .location-title{margin:0 0 34px!important;padding-bottom:12px;line-height:1.25;display:inline-block}
@media(max-width:768px){
  body .contact-inner-area .location-nav-container{padding:12px 10px 6px!important;margin-bottom:36px!important}
  body .contact-inner-area .location-section{padding:26px 20px 30px}
}

/* Tab bar scrolls with the page (it used to stick and cover the opened panel); leave room under the fixed header */
body .contact-inner-area .location-nav-container{position:relative!important;top:auto!important;scroll-margin-top:110px}
