/* Contact page visual system based on the supplied reference. */
.contact-page{background:#fff;color:#142f50}
.contact-page .contact-hero{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:253px;padding:18px clamp(24px,3vw,44px) 30px;
  background:
    linear-gradient(90deg,rgba(245,249,254,.98) 0%,rgba(239,246,253,.95) 54%,rgba(232,241,251,.68) 100%),
    url("../assets/institute-building.jpg") right 44%/auto 118% no-repeat,
    #eff5fc;
  border-bottom:1px solid #dce6f1;
}
.contact-page .contact-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,.22) 55%,rgba(255,255,255,.55))}
.contact-hero-inner{width:min(1320px,100%);margin:0 auto;position:relative;z-index:1}
.contact-breadcrumb{display:flex;align-items:center;gap:15px;margin:0 0 32px;color:#132f54;font-size:14px;font-weight:600}
.contact-breadcrumb a{display:inline-flex;align-items:center;gap:12px;color:#132f54;text-decoration:none}
.contact-breadcrumb svg{width:18px;height:18px;fill:#12345b;stroke:#12345b;stroke-width:1.5}
.contact-breadcrumb>span{color:#17395e}
.contact-hero-heading{border-left:5px solid #c51d2b;padding:1px 0 0 25px}
.contact-eyebrow{margin:0 0 12px;color:#c21d29;font-size:14px;font-weight:800;letter-spacing:.055em}
.contact-hero-heading h1{margin:0 0 8px;color:#12345d;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,3.7vw,48px);line-height:1.08;letter-spacing:-.035em}
.contact-hero-heading>p:last-child{margin:0;color:#385575;font-size:18px;line-height:1.45}
.contact-content{width:min(1320px,calc(100% - 64px));margin:0 auto;padding:42px 0 54px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:34px;align-items:stretch}
.contact-panel{min-width:0;border:1px solid #cbd9e9;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(25,58,91,.07)}
.contact-panel-heading{min-height:110px;padding:20px 30px;display:flex;align-items:center;gap:28px;background:linear-gradient(110deg,#f8fbff 0%,#edf3fb 100%);border-bottom:1px solid #edf1f6}
.contact-panel-icon{width:65px;height:65px;flex:0 0 65px;border-radius:12px;display:grid;place-items:center;color:#fff;box-shadow:0 3px 8px rgba(14,39,65,.1)}
.contact-panel-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-panel-icon-red{background:#bd1725}
.contact-panel-icon-blue{background:#0e4775}
.contact-panel-heading h2{margin:0 0 4px;color:#12345d;font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,2.35vw,33px);line-height:1.12;letter-spacing:-.025em}
.contact-panel-heading p{margin:0;color:#4d6077;font-size:16px;line-height:1.4}
.contact-panel-body{padding:10px 32px 28px}
.contact-info-row{display:grid;grid-template-columns:66px minmax(0,1fr);gap:15px;padding:20px 0;border-bottom:1px solid #dce2e9}
.contact-info-icon{width:52px;height:52px;margin:2px auto 0;border-radius:50%;display:grid;place-items:center;background:#fde9e9;color:#ae1724}
.contact-info-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-info-row h3{margin:0 0 3px;color:#112f55;font-size:21px;line-height:1.25;font-weight:800}
.contact-info-row p{margin:0;color:#47586d;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.contact-info-row a{color:#ad1723;font-weight:750;text-decoration:none}
.contact-info-row a:hover{text-decoration:underline}
.contact-text-link{display:inline-flex;align-items:center;gap:9px;margin-top:13px;font-size:16px}
.contact-text-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-phone-list{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.contact-course-row{border-bottom:0;padding-bottom:18px}
.contact-visit-note{display:flex;align-items:flex-start;gap:16px;margin:12px -6px 0;padding:16px 20px;border-radius:11px;background:#eaf2fc;color:#153c68}
.contact-visit-note>svg{width:29px;height:29px;flex:0 0 29px;margin-top:2px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-visit-note strong{display:block;margin:0 0 2px;font-size:18px;color:#12345d}
.contact-visit-note p{margin:0;color:#294b70;font-size:15px;line-height:1.45}
.contact-enquiry-panel{display:flex;flex-direction:column}
.contact-form-body{padding:24px 32px 25px;display:flex;flex-direction:column;align-items:stretch}
.contact-form-body label{margin:0 0 8px;color:#102e53;font-size:16px;font-weight:800}
.contact-form-body label:not(:first-child){margin-top:18px}
.contact-form-body label b{color:#d21e2b}
.contact-form-body input,.contact-form-body select,.contact-form-body textarea{display:block;width:100%;min-width:0;min-height:48px;padding:11px 16px;border:1.5px solid #c9d4e1;border-radius:7px;background:#fff;color:#263b54;font:400 16px/1.4 Arial,"Noto Sans Telugu",sans-serif;box-shadow:inset 0 1px 2px rgba(18,45,73,.025)}
.contact-form-body input::placeholder,.contact-form-body textarea::placeholder{color:#858d98;opacity:1}
.contact-form-body input:focus,.contact-form-body select:focus,.contact-form-body textarea:focus{outline:3px solid rgba(42,103,158,.13);border-color:#3976a9}
.contact-form-body select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23152f50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:44px}
.contact-form-body textarea{min-height:130px;resize:vertical}
.contact-submit-button{min-height:55px;margin-top:26px;padding:12px 18px;border:1px solid #a91120;border-radius:8px;background:linear-gradient(100deg,#a71927,#b20d20);color:#fff;display:flex;align-items:center;justify-content:center;gap:14px;font:800 17px Arial,"Noto Sans Telugu",sans-serif;cursor:pointer;box-shadow:0 4px 10px rgba(159,20,34,.16);transition:filter .18s,transform .18s}
.contact-submit-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.contact-submit-button svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-form-disclaimer{margin:10px 0 0;text-align:center;color:#788596;font-size:11px;line-height:1.4}
.contact-form-body .form-feedback{margin:8px 0 0;color:#17633a;font-size:13px;font-weight:700}
@media(max-width:1050px){
 .contact-content{width:calc(100% - 40px);gap:20px}
 .contact-panel-heading{padding:18px 22px;gap:18px}
 .contact-panel-body,.contact-form-body{padding-left:23px;padding-right:23px}
 .contact-info-row{grid-template-columns:55px minmax(0,1fr);gap:12px}
 .contact-info-row h3{font-size:19px}
 .contact-info-row p,.contact-panel-heading p{font-size:14px}
 .contact-text-link{font-size:14px}
}
@media(max-width:760px){
 .contact-page .contact-hero{min-height:225px;padding:16px 20px 25px;background-position:66% center;background-size:auto 110%}
 .contact-breadcrumb{margin-bottom:25px;font-size:13px}
 .contact-hero-heading{padding-left:17px}
 .contact-eyebrow{font-size:12px;margin-bottom:9px}
 .contact-hero-heading h1{font-size:clamp(29px,6vw,39px)}
 .contact-hero-heading>p:last-child{font-size:15px;max-width:560px}
 .contact-content{width:calc(100% - 28px);padding:25px 0 38px;grid-template-columns:1fr;gap:20px}
 .contact-panel-heading{min-height:94px;padding:16px 19px;gap:16px}
 .contact-panel-icon{width:54px;height:54px;flex-basis:54px;border-radius:10px}
 .contact-panel-icon svg{width:29px;height:29px}
 .contact-panel-heading h2{font-size:26px}
 .contact-panel-heading p{font-size:13px}
 .contact-panel-body{padding:8px 20px 22px}
 .contact-info-row{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:17px 0}
 .contact-info-icon{width:46px;height:46px}
 .contact-info-row h3{font-size:18px}
 .contact-info-row p{font-size:14px}
 .contact-text-link{font-size:14px}
 .contact-visit-note{margin:10px 0 0;padding:14px}
 .contact-visit-note strong{font-size:16px}
 .contact-visit-note p{font-size:13px}
 .contact-form-body{padding:20px}
 .contact-form-body label{font-size:14px}
 .contact-form-body input,.contact-form-body select,.contact-form-body textarea{font-size:15px}
 .contact-submit-button{min-height:51px;font-size:15px;margin-top:21px}
}
@media(max-width:390px){
 .contact-page .contact-hero{padding-inline:15px}
 .contact-hero-heading h1{font-size:28px}
 .contact-content{width:calc(100% - 20px)}
 .contact-panel-heading{padding-inline:14px;gap:12px}
 .contact-panel-heading h2{font-size:23px}
 .contact-panel-heading p{font-size:12px}
 .contact-panel-body,.contact-form-body{padding-left:15px;padding-right:15px}
 .contact-info-row{grid-template-columns:44px minmax(0,1fr);gap:9px}
 .contact-info-icon{width:40px;height:40px}
 .contact-info-row p{font-size:13px}
}

/* Keep Contact aligned with the compact typography used across inner pages. */
.contact-page .contact-hero{min-height:210px;padding:16px clamp(22px,3vw,44px) 24px}.contact-breadcrumb{margin-bottom:24px;font-size:12px}.contact-eyebrow{font-size:11px;margin-bottom:8px}.contact-hero-heading h1{font-size:clamp(28px,3.2vw,38px)}.contact-hero-heading>p:last-child{font-size:14px}.contact-content{padding:30px 0 44px;gap:24px}.contact-panel-heading{min-height:88px;padding:16px 22px;gap:18px}.contact-panel-icon{width:54px;height:54px;flex-basis:54px}.contact-panel-icon svg{width:29px;height:29px}.contact-panel-heading h2{font-size:24px}.contact-panel-heading p{font-size:13px}.contact-panel-body,.contact-form-body{padding:18px 24px 24px}.contact-info-row{padding:14px 0;grid-template-columns:52px minmax(0,1fr);gap:12px}.contact-info-icon{width:44px;height:44px}.contact-info-row h3{font-size:16px}.contact-info-row p{font-size:13px}.contact-text-link{font-size:13px}.contact-visit-note{padding:13px 16px}.contact-visit-note strong{font-size:15px}.contact-visit-note p{font-size:13px}.contact-form-body label{font-size:13px}.contact-form-body input,.contact-form-body select,.contact-form-body textarea{min-height:43px;padding:9px 12px;font-size:14px}.contact-form-body textarea{min-height:105px}.contact-submit-button{min-height:48px;font-size:14px;margin-top:20px}
