/*

SREE JK DEVELOPERS — FINAL RESPONSIVE SYSTEM
File: global/responsive.css

STATUS:
FINAL LOCK

PURPOSE:

Mobile responsive

Tablet responsive

Desktop responsive

Prevent horizontal layout overflow

Protect grids / flex layouts

Protect images / videos / iframes

Protect Telugu text

Protect floating components

Protect common containers

IMPORTANT:

Do NOT change language.js

Do NOT change components.js

Do NOT use browser zoom

Do NOT use fixed page width
============================================================
*/

/* ============================================================
01 — GLOBAL BOX MODEL
============================================================ */

html {
width: 100%;
max-width: 100%;
margin: 0;
padding: 0;
overflow-x: clip;
}

body {
width: 100%;
max-width: 100%;
margin: 0;
padding: 0;
overflow-x: clip;
}

*,
*::before,
*::after {
box-sizing: border-box;
}

/* ============================================================
02 — ROOT PAGE CONTAINERS
============================================================ */

#header,
#main-content,
#footer,
#contact-buttons,
#floating-actions,
#bottom-nav,
#jk-ai-assistant {
width: 100%;
max-width: 100%;
min-width: 0;
}

/* ============================================================
03 — MEDIA SAFETY
============================================================ */

img,
picture,
video,
canvas,
svg,
iframe {
max-width: 100%;
}

img,
video,
canvas {
height: auto;
}

iframe {
border: 0;
}

/* ============================================================
04 — FLEX / GRID SAFETY
============================================================ */

.flex,
[class*="flex"],
.grid,
[class*="grid"] {
min-width: 0;
}

.flex > ,
[class="flex"] > *,
.grid > ,
[class="grid"] > * {
min-width: 0;
max-width: 100%;
}

/* ============================================================
05 — TEXT SAFETY
============================================================ */

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span,
button,
label,
li {
max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span,
button,
label,
li {
overflow-wrap: break-word;
}

/* ============================================================
06 — BUTTON SAFETY
============================================================ */

button,
.btn,
[class*="btn"] {
max-width: 100%;
}

button {
white-space: normal;
}

/* ============================================================
07 — FORM SAFETY
============================================================ */

input,
textarea,
select {
max-width: 100%;
min-width: 0;
}

/* ============================================================
08 — TABLE SAFETY
============================================================ */

table {
width: 100%;
max-width: 100%;
border-collapse: collapse;
}

.table-responsive,
.table-wrapper {
width: 100%;
max-width: 100%;
overflow-x: auto;
}

/* ============================================================
09 — COMMON CONTAINERS
============================================================ */

.container,
.container-fluid {
width: 100%;
max-width: 1280px;
margin-inline: auto;
min-width: 0;
}

/* ============================================================
10 — HOME PAGE
============================================================ */

.jk-home {
width: 100%;
max-width: 100%;
min-width: 0;
}

.jk-home .jk-container {
width: min(
100%,
1180px
);

max-width: 100%;
min-width: 0;

margin-inline: auto;

}

.jk-home section,
.jk-home .jk-section {
width: 100%;
max-width: 100%;
min-width: 0;
}

.jk-home [class*="grid"] {
width: 100%;
max-width: 100%;
min-width: 0;
}

/* ============================================================
11 — HOME HERO
============================================================ */

.jk-hero {
width: 100%;
max-width: 100%;
min-width: 0;
}

.jk-hero-content {
width: 100%;
max-width: 680px;
min-width: 0;
}

.jk-hero-title,
.jk-hero-text,
.jk-hero-label {
width: 100%;
max-width: 100%;
min-width: 0;
}

/* ============================================================
12 — HOME BUTTON GROUPS
============================================================ */

.jk-hero-actions,
.jk-final-actions {
max-width: 100%;
min-width: 0;
}

.jk-hero-actions .jk-btn,
.jk-final-actions .jk-btn {
max-width: 100%;
min-width: 0;
}

/* ============================================================
13 — HOME STATS
============================================================ */

.jk-stats,
.jk-stats-box,
.jk-stat {
min-width: 0;
max-width: 100%;
}

.jk-stats-box {
width: 100%;
}

/* ============================================================
14 — HOME IMAGES
============================================================ */

.jk-about-image,
.jk-project-image,
.jk-signature,
.jk-location-visual {
min-width: 0;
max-width: 100%;
}

.jk-about-image img,
.jk-project-image img,
.jk-signature img {
max-width: 100%;
}

/* ============================================================
15 — GOOGLE MAP
============================================================ */

.jk-location-map-wrap {
width: 100%;
max-width: 100%;
min-width: 0;
overflow: hidden;
}

.jk-location-map,
.jk-location-visual iframe {
display: block;
width: 100% !important;
max-width: 100% !important;
min-width: 0;
}

/* ============================================================
16 — TABLET
768px — 1199px
============================================================ */

@media (min-width: 768px) and (max-width: 1199px) {

.container,
.container-fluid {
    width: 100%;
    max-width: 100%;
    padding-inline: 24px;
}


.jk-home .jk-container {
    width: calc(100% - 48px);
    max-width: calc(100% - 48px);
}


.jk-about-grid,
.jk-location-grid {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);
}


.jk-projects-grid,
.jk-services-grid,
.jk-why-grid {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}


.jk-stats-box {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}


.jk-hero-title {
    font-size:
        clamp(
            42px,
            6vw,
            64px
        );
}


.jk-hero-content {
    max-width: 680px;
}

}

/* ============================================================
17 — MOBILE
0 — 767px
============================================================ */

@media (max-width: 767px) {

.container,
.container-fluid {
    width: 100%;
    max-width: 100%;
    padding-inline: 14px;
}


.jk-home .jk-container {
    width: calc(100% - 28px);
    max-width: calc(100% - 28px);
    padding: 0;
}


/* --------------------------------------------------------
   HERO
-------------------------------------------------------- */

.jk-hero {
    min-height: 0;
}


.jk-hero-content {
    width: 100%;
    max-width: 100%;
    padding:
        76px 0 105px;
}


.jk-hero-title {
    width: 100%;
    max-width: 100%;

    font-size:
        clamp(
            32px,
            9.8vw,
            48px
        );

    line-height: 1.06;
    letter-spacing: -.025em;

    overflow-wrap: anywhere;
}


.jk-hero-text {
    width: 100%;
    max-width: 100%;

    font-size: 15px;
    line-height: 1.75;

    overflow-wrap: anywhere;
}


/* --------------------------------------------------------
   HERO BUTTONS
-------------------------------------------------------- */

.jk-hero-actions {
    width: 100%;
    max-width: 100%;

    display: flex;
    flex-direction: column;
}


.jk-hero-actions .jk-btn {
    width: 100%;
    max-width: 100%;
}


/* --------------------------------------------------------
   STATS
-------------------------------------------------------- */

.jk-stats {
    width: 100%;
    max-width: 100%;
    margin-top: 0;
}


.jk-stats-box {
    width: 100%;
    max-width: 100%;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    border-radius: 14px;
}


.jk-stat {
    width: 100%;
    min-width: 0;
    padding: 18px 10px;
}


.jk-stat-value {
    font-size: 24px;
}


.jk-stat-label {
    font-size: 9px;
    letter-spacing: .05em;
}


/* --------------------------------------------------------
   CONTENT GRIDS
-------------------------------------------------------- */

.jk-about-grid,
.jk-location-grid,
.jk-projects-grid,
.jk-services-grid,
.jk-why-grid {
    width: 100%;
    max-width: 100%;

    grid-template-columns:
        minmax(0, 1fr) !important;
}


/* --------------------------------------------------------
   ABOUT IMAGE
-------------------------------------------------------- */

.jk-about-image {
    width: 100%;
    max-width: 100%;
    min-height: 320px;
}


/* --------------------------------------------------------
   SIGNATURE
-------------------------------------------------------- */

.jk-signature,
.jk-signature-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}


.jk-signature-title,
.jk-signature-subtitle,
.jk-signature-text {
    max-width: 100%;
    overflow-wrap: anywhere;
}


/* --------------------------------------------------------
   LOCATION
-------------------------------------------------------- */

.jk-location-visual {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}


.jk-location-map-wrap,
.jk-location-map,
.jk-location-visual iframe {
    width: 100% !important;
    max-width: 100% !important;
}


/* --------------------------------------------------------
   FINAL CTA
-------------------------------------------------------- */

.jk-final {
    width: 100%;
    max-width: 100%;
}


.jk-final-title,
.jk-final-text {
    max-width: 100%;
    overflow-wrap: anywhere;
}


.jk-final-actions {
    width: 100%;
    max-width: 100%;

    flex-direction: column;
}


.jk-final-actions .jk-btn {
    width: 100%;
    max-width: 100%;
}

}

/* ============================================================
18 — SMALL PHONES
0 — 380px
============================================================ */

@media (max-width: 380px) {

.jk-home .jk-container {
    width: calc(100% - 22px);
    max-width: calc(100% - 22px);
}


.jk-hero-content {
    padding-top: 68px;
    padding-bottom: 92px;
}


.jk-hero-title {
    font-size: 33px;
}


.jk-hero-text {
    font-size: 14px;
}


.jk-stat-value {
    font-size: 22px;
}

}

/* ============================================================
19 — VERY SMALL PHONES
============================================================ */

@media (max-width: 340px) {

.jk-home .jk-container {
    width: calc(100% - 18px);
    max-width: calc(100% - 18px);
}


.jk-hero-title {
    font-size: 30px;
}


.jk-hero-text {
    font-size: 13px;
}


.jk-stat {
    padding-inline: 6px;
}


.jk-stat-value {
    font-size: 20px;
}


.jk-stat-label {
    font-size: 8px;
}

}

/* ============================================================
20 — FLOATING COMPONENT SAFETY
============================================================ */

#contact-buttons,
#floating-actions,
#jk-ai-assistant {
pointer-events: none;
}

#contact-buttons > *,
#floating-actions > *,
#jk-ai-assistant > * {
pointer-events: auto;
}

/* ============================================================
21 — BOTTOM NAV
============================================================ */

#bottom-nav {
width: 100%;
max-width: 100%;
}

/* ============================================================
22 — TELUGU
============================================================ */

html.lang-te,
html.lang-te body {
overflow-x: clip;
}

html.lang-te .jk-home {
font-family:
"Noto Sans Telugu",
"Noto Sans",
sans-serif;
}

html.lang-te .jk-hero-title,
html.lang-te .jk-title,
html.lang-te .jk-description,
html.lang-te .jk-hero-text {
overflow-wrap: anywhere;
}

/* ============================================================
23 — ACCESSIBILITY
============================================================ */

@media (prefers-reduced-motion: reduce) {

*,
*::before,
*::after {
    scroll-behavior: auto !important;
}

}

/* ============================================================
24 — PROJECTS PAGE
Page-specific responsive rules using the global system
============================================================ */

/* Keep the Projects page inside the global viewport */
.sjk-projects-hero,
.sjk-trust,
.sjk-portfolio,
.sjk-experience,
.sjk-cta {
width: 100%;
max-width: 100%;
min-width: 0;
}

.sjk-wrap,
.sjk-hero-content,
.sjk-projects-grid,
.sjk-experience-card,
.sjk-heading,
.sjk-filters {
min-width: 0;
max-width: 100%;
}

/* ------------------------------------------------------------
PROJECTS — TABLET
768px — 1199px
------------------------------------------------------------ */

@media (min-width: 768px) and (max-width: 1199px) {

.sjk-wrap {
    width: calc(100% - 48px);
    max-width: calc(100% - 48px);
}

.sjk-projects-hero,
.sjk-hero-content {
    min-height: 600px;
}

.sjk-hero-copy {
    width: min(620px, 62%);
    padding: 70px 0;
}

.sjk-hero-title {
    font-size: clamp(48px, 7vw, 70px);
}

.sjk-hero-sub {
    font-size: 18px;
}

.sjk-trust-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sjk-trust-item {
    min-width: 0;
    padding: 18px 18px;
}

.sjk-trust-title,
.sjk-trust-sub {
    overflow-wrap: anywhere;
}

.sjk-portfolio {
    padding: 80px 0 90px;
}

.sjk-heading {
    align-items: start;
}

.sjk-projects-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.sjk-card-visual {
    width: 100%;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
}

.sjk-experience-card {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 450px;
}

.sjk-experience-image {
    min-height: 450px;
}

.sjk-experience-content {
    padding: 45px;
}

.sjk-experience-content h2 {
    font-size: clamp(36px, 4vw, 50px);
}

.sjk-cta {
    padding: 75px 20px;
}

}

/* ------------------------------------------------------------
PROJECTS — MOBILE
0 — 767px
------------------------------------------------------------ */

@media (max-width: 767px) {

.sjk-wrap {
    width: calc(100% - 30px);
    max-width: calc(100% - 30px);
    margin-inline: auto;
}

/* HERO */

.sjk-projects-hero {
    min-height: 590px;
}

.sjk-hero-content {
    min-height: 590px;
    align-items: flex-end;
}

.sjk-hero-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(7,20,38,.18) 0%,
            rgba(7,20,38,.52) 38%,
            rgba(7,20,38,.96) 73%,
            rgba(7,20,38,1) 100%
        );
}

.sjk-hero-copy {
    width: 100%;
    max-width: 100%;
    padding: 55px 0 48px;
}

.sjk-hero-title {
    font-size: clamp(42px, 12vw, 52px);
    line-height: 1;
    overflow-wrap: anywhere;
}

.sjk-hero-sub {
    font-size: 17px;
    line-height: 1.4;
}

.sjk-hero-copy p {
    font-size: 13px;
    line-height: 1.75;
}

/* TRUST STRIP */

.sjk-trust-grid {
    grid-template-columns: minmax(0, 1fr);
}

.sjk-trust-item {
    min-height: 78px;
    min-width: 0;
    padding: 16px 20px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.sjk-trust-item:last-child {
    border-bottom: 0;
}

.sjk-trust-mark {
    flex: 0 0 40px;
}

/* PORTFOLIO */

.sjk-portfolio {
    padding: 70px 0 80px;
}

.sjk-heading {
    display: block;
    margin-bottom: 32px;
}

.sjk-heading h2 {
    font-size: clamp(40px, 11vw, 52px);
}

.sjk-heading p {
    max-width: 100%;
    margin-top: 16px;
    font-size: 13px;
    line-height: 1.8;
}

.sjk-filters {
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    margin-bottom: 35px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.sjk-filter {
    padding: 13px 16px;
}

.sjk-projects-grid {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.sjk-project-card {
    width: 100%;
    min-width: 0;
}

.sjk-card-visual {
    width: 100%;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
}

.sjk-card-info {
    padding: 18px 18px 20px;
}

.sjk-card-info h3 {
    font-size: 21px;
}

/* EXPERIENCE */

.sjk-experience {
    padding: 70px 0;
}

.sjk-experience-card {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
}

.sjk-experience-image {
    width: 100%;
    min-height: 320px;
    height: 320px;
}

.sjk-experience-content {
    padding: 44px 26px 50px;
}

.sjk-experience-content h2 {
    font-size: clamp(36px, 10vw, 46px);
}

.sjk-experience-content p {
    font-size: 13px;
    line-height: 1.8;
}

/* CTA */

.sjk-cta {
    padding: 70px 20px;
}

.sjk-cta h2 {
    font-size: clamp(38px, 10vw, 50px);
}

.sjk-cta p {
    font-size: 13px;
    line-height: 1.8;
}

.sjk-cta-btn {
    width: 100%;
    max-width: 320px;
}

}

/* ------------------------------------------------------------
PROJECTS — SMALL PHONES
0 — 380px
------------------------------------------------------------ */

@media (max-width: 380px) {

.sjk-wrap {
    width: calc(100% - 22px);
    max-width: calc(100% - 22px);
}

.sjk-projects-hero,
.sjk-hero-content {
    min-height: 560px;
}

.sjk-hero-copy {
    padding-bottom: 40px;
}

.sjk-hero-title {
    font-size: 38px;
}

.sjk-hero-sub {
    font-size: 16px;
}

.sjk-hero-copy p {
    font-size: 12.5px;
}

.sjk-trust-item {
    padding-inline: 14px;
}

.sjk-card-info {
    padding: 16px;
}

.sjk-card-info h3 {
    font-size: 20px;
}

.sjk-experience-image {
    min-height: 280px;
    height: 280px;
}

.sjk-experience-content {
    padding: 38px 20px 44px;
}

}

/* ------------------------------------------------------------
PROJECTS — TELUGU SAFETY
------------------------------------------------------------ */

html.lang-te .sjk-hero-title,
html.lang-te .sjk-hero-sub,
html.lang-te .sjk-hero-copy p,
html.lang-te .sjk-trust-title,
html.lang-te .sjk-trust-sub,
html.lang-te .sjk-heading h2,
html.lang-te .sjk-heading p,
html.lang-te .sjk-card-info h3,
html.lang-te .sjk-card-bottom,
html.lang-te .sjk-experience-content h2,
html.lang-te .sjk-experience-content p,
html.lang-te .sjk-cta h2,
html.lang-te .sjk-cta p {
overflow-wrap: anywhere;
}

/* ============================================================
24 — ABOUT PAGE
Page-specific responsive rules
Existing global system remains untouched.
============================================================ */

.about-wrap,
.about-company-grid,
.leadership-grid,
.approach-grid,
.vision-grid {
min-width: 0;
max-width: 100%;
}

.about-company-image,
.about-company-image img,
.leader-photo-wrap,
.leader-photo,
.vision-image {
max-width: 100%;
}

@media (min-width: 768px) and (max-width: 1199px) {

.about-wrap {
width: calc(100% - 48px);
max-width: calc(100% - 48px);
}

.about-hero,
.about-hero-content {
min-height: 620px;
}

.about-hero-copy {
width: min(620px, 62%);
padding: 70px 0;
}

.about-hero-title {
font-size: clamp(48px, 7vw, 72px);
}

.about-company,
.about-leadership,
.about-approach {
padding: 90px 0;
}

.about-company-grid,
.leadership-grid {
grid-template-columns:
minmax(0, 1fr)
minmax(0, 1fr);
gap: 50px;
}

.about-company-image {
min-height: 460px;
}

.about-company-image img {
height: 460px;
}

.about-feature-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.about-feature(2) {
border-right: 0;
}

.about-feature(-n+2) {
border-bottom: 1px solid var(--sjk-line);
}

.leader-name {
font-size: clamp(50px, 6vw, 68px);
}

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

.vision-grid {
width: calc(100% - 48px);
grid-template-columns:
minmax(0, 1fr)
minmax(0, 1fr);
gap: 45px;
}

.vision-image {
height: 430px;
}

.vision-content {
padding: 10px 0;
}
}

@media (max-width: 767px) {

.about-wrap {
width: calc(100% - 30px);
max-width: calc(100% - 30px);
}

.about-hero,
.about-hero-content {
min-height: 620px;
}

.about-hero-content {
align-items: flex-end;
}

.about-hero-copy {
width: 100%;
max-width: 100%;
padding: 50px 0 45px;
}

.about-hero-title {
font-size: clamp(42px, 12vw, 52px);
line-height: 1;
}

.about-hero-highlight {
font-size: 17px;
line-height: 1.45;
}

.about-hero-copy p {
font-size: 13px;
line-height: 1.75;
}

.about-company,
.about-leadership,
.about-approach {
padding: 75px 0;
}

.about-company-grid,
.leadership-grid,
.approach-grid,
.vision-grid {
width: 100%;
max-width: 100%;
grid-template-columns: minmax(0, 1fr) !important;
gap: 35px;
}

.about-company-image {
min-height: 330px;
border-radius: 16px;
}

.about-company-image img {
height: 330px;
border-radius: 16px;
}

.about-company-content {
max-width: 100%;
}

.about-company-content h2,
.about-section-heading h2 {
font-size: clamp(40px, 11vw, 52px);
}

.about-company-content p,
.about-section-heading p {
font-size: 14px;
line-height: 1.8;
}

.about-feature-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.about-feature {
min-width: 0;
padding: 18px 10px;
}

.about-feature(2) {
border-right: 0;
}

.about-feature(-n+2) {
border-bottom: 1px solid var(--sjk-line);
}

.about-feature strong {
overflow-wrap: anywhere;
}

.leader-photo-wrap {
width: 100%;
max-width: 100%;
}

.leader-photo-wrap::before {
left: -8px;
top: -8px;
width: 60px;
height: 60px;
}

.leader-photo {
width: 100%;
max-width: 100%;
max-height: 520px;
border-radius: 20px;
}

.leader-content {
max-width: 100%;
}

.leader-name {
font-size: clamp(46px, 13vw, 58px);
}

.leader-role {
font-size: 16px;
}

.leader-quote {
font-size: 15px;
line-height: 1.8;
}

.approach-card {
padding: 30px 24px;
}

.about-vision {
padding: 50px 0;
}

.vision-grid {
width: 100%;
gap: 35px;
}

.vision-image {
width: 100%;
height: 300px;
border-radius: 18px;
}

.vision-content {
padding: 0;
}

.vision-content h2 {
font-size: clamp(40px, 11vw, 52px);
}

.vision-content p {
font-size: 14px;
line-height: 1.8;
}

.vision-button {
width: fit-content;
max-width: 100%;
}
}

@media (max-width: 380px) {

.about-wrap {
width: calc(100% - 22px);
max-width: calc(100% - 22px);
}

.about-hero,
.about-hero-content {
min-height: 570px;
}

.about-hero-title {
font-size: 38px;
}

.about-hero-highlight {
font-size: 16px;
}

.about-company-image {
min-height: 280px;
}

.about-company-image img {
height: 280px;
}

.about-feature {
padding-inline: 7px;
}

.leader-photo {
max-height: 420px;
border-radius: 18px;
}

.leader-name {
font-size: 44px;
}

.vision-image {
height: 280px;
}
}

html.lang-te .about-hero-title,
html.lang-te .about-hero-highlight,
html.lang-te .about-hero-copy p,
html.lang-te .about-company-content h2,
html.lang-te .about-company-content p,
html.lang-te .leader-name,
html.lang-te .leader-role,
html.lang-te .leader-quote,
html.lang-te .about-section-heading h2,
html.lang-te .about-section-heading p,
html.lang-te .approach-card h3,
html.lang-te .approach-card p,
html.lang-te .vision-content h2,
html.lang-te .vision-content p {
overflow-wrap: anywhere;
}

/* ============================================================
PROJECTS — FINAL MOBILE / TABLET SYSTEM
Integrated into global responsive.css
============================================================ */

.sjk-projects-grid{
width:100% !important;
max-width:100% !important;
min-width:0 !important;
display !important;
align-items !important;
}

.sjk-project-card,
.sjk-project-card > a{
width:100% !important;
max-width:100% !important;
min-width:0 !important;
}

.sjk-card-visual,
.sjk-card-info{
width:100% !important;
max-width:100% !important;
min-width:0 !important;
}

.sjk-card-visual{
overflow !important;
}

.sjk-card-visual img{
display !important;
width:100% !important;
max-width:100% !important;
object-fit !important;
}

.sjk-card-info h3,
.sjk-card-type,
.sjk-card-bottom{
max-width:100% !important;
white-space !important;
word-break !important;
overflow-wrap !important;
}

@media (min-width:768px) and (max-width:1199px){

.sjk-projects-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:22px !important;
}

.sjk-card-visual{
    aspect-ratio:1 / 1 !important;
}

.sjk-card-visual img{
    height:100% !important;
}

}

@media (max-width:767px){

.sjk-projects-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:20px !important;
}

.sjk-project-card{
    display:block !important;
}

.sjk-card-visual{
    height:auto !important;
    aspect-ratio:1 / 1 !important;
}

.sjk-card-visual img{
    height:100% !important;
    object-fit:cover !important;
}

.sjk-card-info{
    padding:20px !important;
}

.sjk-card-info h3{
    font-size:24px !important;
    line-height:1.25 !important;
}

.sjk-card-type{
    font-size:10px !important;
    line-height:1.6 !important;
}

.sjk-card-bottom{
    font-size:11px !important;
    line-height:1.5 !important;
}

.sjk-filters{
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    -webkit-overflow-scrolling:touch;
}

.sjk-filter{
    flex:0 0 auto !important;
    white-space:nowrap !important;
}

}

@media (max-width:380px){

.sjk-projects-grid{
    grid-template-columns:minmax(0,1fr) !important;
    gap:18px !important;
}

.sjk-card-info{
    padding:18px !important;
}

.sjk-card-info h3{
    font-size:22px !important;
}

}

/* ============================================================
SERVICES PAGE — GLOBAL RESPONSIVE SYSTEM
Works with service.html + global/responsive.css
============================================================ */

.services-wrap,
.services-hero-content,
.services-hero-copy,
.services-intro,
.services-core,
.services-process,
.services-why,
.services-project-cta,
.services-final-cta,
.services-grid,
.process-grid,
.why-grid,
.services-project-box,
.services-project-copy {
min-width: 0;
max-width: 100%;
}

.services-hero-bg img,
.services-project-box img {
max-width: none;
}

/* TABLET — 768px to 1199px */
@media (min-width: 768px) and (max-width: 1199px) {

.services-wrap {
    width: calc(100% - 48px);
    max-width: calc(100% - 48px);
    margin-inline: auto;
}

.services-hero,
.services-hero-content {
    min-height: 600px;
}

.services-hero-copy {
    width: min(620px, 62%);
    padding: 75px 0;
}

.services-hero-title {
    font-size: clamp(48px, 7vw, 72px);
}

.services-grid,
.why-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.process-step:nth-child(2) {
    border-right: 0;
}

.process-step:nth-child(-n+2) {
    border-bottom: 1px solid var(--sjk-line);
}

.services-project-box {
    min-height: 420px;
    padding: 55px;
}

}

/* MOBILE — 0 to 767px */
@media (max-width: 767px) {

.services-wrap {
    width: calc(100% - 30px);
    max-width: calc(100% - 30px);
    margin-inline: auto;
}

.services-hero {
    min-height: 620px;
}

.services-hero-content {
    min-height: 620px;
    align-items: flex-end;
}

.services-hero-copy {
    width: 100%;
    max-width: 100%;
    padding: 52px 0 48px;
}

.services-hero-title {
    width: 100%;
    max-width: 100%;
    font-size: clamp(42px, 12vw, 54px);
    line-height: 1.02;
    overflow-wrap: anywhere;
}

.services-hero-highlight {
    font-size: 17px;
    line-height: 1.55;
}

.services-hero-copy p {
    font-size: 13px;
    line-height: 1.8;
}

.services-intro {
    padding: 75px 0 55px;
}

.services-intro h2 {
    font-size: clamp(38px, 11vw, 50px);
    line-height: 1.08;
}

.services-intro p {
    font-size: 14px;
    line-height: 1.8;
}

.services-core {
    padding: 20px 0 75px;
}

.services-grid,
.why-grid,
.process-grid {
    width: 100%;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr);
}

.service-card {
    width: 100%;
    min-height: 0;
    padding: 28px 24px;
}

.service-card h3 {
    font-size: 22px;
    line-height: 1.3;
}

.service-card p,
.service-card .service-te {
    font-size: 14px;
    line-height: 1.8;
}

.services-process,
.services-why {
    padding: 75px 0;
}

.services-process-head {
    margin-bottom: 35px;
}

.services-process-head h2,
.services-why-head h2 {
    font-size: clamp(38px, 11vw, 50px);
    line-height: 1.08;
}

.services-process-head p,
.services-why-head p {
    font-size: 14px;
    line-height: 1.8;
}

.process-step {
    padding: 28px 22px 32px;
    border-right: 0 !important;
    border-bottom: 1px solid var(--sjk-line);
}

.process-step:last-child {
    border-bottom: 0;
}

.services-why-head {
    display: block;
    margin-bottom: 35px;
}

.services-why-head p {
    margin-top: 18px;
}

.why-card {
    min-height: 0;
    padding: 28px 24px;
}

.why-card h3 {
    font-size: 21px;
}

.why-card p {
    font-size: 14px;
    line-height: 1.8;
}

.services-project-cta {
    padding: 75px 0;
}

.services-project-box {
    min-height: 500px;
    padding: 38px 26px;
    align-items: flex-end;
}

.services-project-copy {
    width: 100%;
    max-width: 100%;
}

.services-project-copy h2 {
    font-size: clamp(38px, 10vw, 48px);
    line-height: 1.08;
}

.services-project-copy p {
    font-size: 14px;
    line-height: 1.8;
}

.services-actions {
    width: 100%;
    max-width: 100%;
    flex-direction: column;
}

.services-btn {
    width: 100%;
    max-width: 100%;
}

.services-final-cta {
    padding: 70px 0 90px;
}

.services-final-cta h2 {
    font-size: clamp(38px, 11vw, 50px);
    line-height: 1.08;
}

.services-final-cta p {
    font-size: 14px;
    line-height: 1.8;
}

}

/* SMALL PHONES — 0 to 380px */
@media (max-width: 380px) {

.services-wrap {
    width: calc(100% - 22px);
    max-width: calc(100% - 22px);
}

.services-hero,
.services-hero-content {
    min-height: 570px;
}

.services-hero-title {
    font-size: 38px;
}

.services-hero-highlight {
    font-size: 16px;
}

.services-hero-copy p {
    font-size: 12.5px;
}

.service-card {
    padding: 24px 20px;
}

.service-card h3 {
    font-size: 20px;
}

.services-project-box {
    min-height: 470px;
    padding: 32px 20px;
}

.services-project-copy h2,
.services-final-cta h2 {
    font-size: 36px;
}

}

/* SERVICES — TELUGU TEXT SAFETY */
html.lang-te .services-hero-title,
html.lang-te .services-hero-highlight,
html.lang-te .services-hero-copy p,
html.lang-te .services-intro h2,
html.lang-te .services-intro p,
html.lang-te .service-card h3,
html.lang-te .service-card p,
html.lang-te .services-process-head h2,
html.lang-te .services-process-head p,
html.lang-te .process-step h3,
html.lang-te .process-step p,
html.lang-te .services-why-head h2,
html.lang-te .services-why-head p,
html.lang-te .why-card h3,
html.lang-te .why-card p,
html.lang-te .services-project-copy h2,
html.lang-te .services-project-copy p,
html.lang-te .services-final-cta h2,
html.lang-te .services-final-cta p {
overflow-wrap: anywhere;
}


/* ============================================================
25 — CAREERS PAGE
Career-specific responsive system
Uses the global responsive foundation above.
============================================================ */

.career-page,
.career-page section,
.career-page .container,
.career-hero,
.career-hero-content,
.career-opportunities,
.career-opportunity-grid,
.career-why,
.career-benefits-grid,
.career-offer,
.career-offer-grid,
.career-growth,
.career-growth-line,
.career-fit,
.career-fit-grid,
.career-how,
.career-how-grid,
.career-final {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.career-page img {
    max-width: 100%;
}

.career-page h1,
.career-page h2,
.career-page h3,
.career-page p,
.career-page a,
.career-page li,
.career-page span {
    max-width: 100%;
    overflow-wrap: break-word;
}

.career-page .career-opportunity-card,
.career-page .career-benefit,
.career-page .career-offer-item,
.career-page .career-growth-step,
.career-page .career-fit-item,
.career-page .career-how-step {
    min-width: 0;
}

/* ============================================================
CAREERS — TABLET
768px — 1199px
============================================================ */

@media (min-width: 768px) and (max-width: 1199px) {

    .career-page .container {
        width: 100%;
        max-width: 100%;
        padding-inline: 24px;
    }

    .career-hero {
        min-height: 600px;
    }

    .career-hero-content {
        padding: 80px 0 75px;
    }

    .career-hero-title {
        max-width: 680px;
        font-size: clamp(48px, 6.5vw, 70px);
    }

    .career-hero-description {
        max-width: 560px;
    }

    .career-opportunity-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .career-opportunity-card {
        padding: 30px 28px;
    }

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

    .career-offer-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .career-offer-item {
        min-height: 160px;
    }

    .career-growth-line {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .career-growth-step {
        padding-inline: 14px;
    }

    .career-fit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .career-how-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* ============================================================
CAREERS — MOBILE
0 — 767px
============================================================ */

@media (max-width: 767px) {

    .career-page .container {
        width: 100%;
        max-width: 100%;
        padding-inline: 14px;
    }

    .career-hero {
        min-height: 620px;
        align-items: flex-end;
    }

    .career-hero-image {
        object-position: 60% center;
    }

    .career-hero-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(7,20,38,.12) 0%,
                rgba(7,20,38,.38) 35%,
                rgba(7,20,38,.82) 65%,
                rgba(7,20,38,.99) 100%
            );
    }

    .career-hero-content {
        padding: 70px 0 52px;
    }

    .career-label {
        font-size: 10px;
    }

    .career-hero-title {
        max-width: 100%;
        margin: 15px 0 18px;
        font-size: clamp(40px, 11vw, 56px);
        line-height: 1.06;
        overflow-wrap: anywhere;
    }

    .career-hero-description {
        max-width: 100%;
        font-size: 13px;
        line-height: 1.8;
        overflow-wrap: anywhere;
    }

    .career-hero-button {
        width: 100%;
        max-width: 320px;
    }

    .career-heading {
        width: 100%;
        max-width: 100%;
        margin-bottom: 38px;
    }

    .career-heading h2,
    .career-final h2 {
        font-size: clamp(34px, 9.5vw, 48px);
        line-height: 1.08;
        overflow-wrap: anywhere;
    }

    .career-heading p,
    .career-final p {
        max-width: 100%;
        font-size: 13px;
        line-height: 1.8;
    }

    .career-opportunities {
        padding: 70px 0 75px;
    }

    .career-opportunity-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .career-opportunity-card {
        width: 100%;
        padding: 28px 23px;
    }

    .career-opportunity-card h3 {
        font-size: 25px;
    }

    .career-card-type {
        line-height: 1.6;
        overflow-wrap: anywhere;
    }

    .career-opportunity-card li {
        font-size: 13px;
        line-height: 1.65;
    }

    .career-apply-button {
        width: 100%;
        min-width: 0;
    }

    .career-why {
        padding: 70px 0;
    }

    .career-benefits-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .career-benefit {
        padding: 24px;
    }

    .career-offer {
        padding: 70px 0;
    }

    .career-offer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .career-offer-item {
        min-height: 145px;
        padding: 24px 14px;
    }

    .career-offer-item h3 {
        font-size: 10px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    .career-growth {
        padding: 70px 0;
    }

    .career-growth-line {
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
    }

    .career-growth-step {
        padding-inline: 10px;
    }

    .career-growth-step:not(:last-child)::after {
        display: none;
    }

    .career-growth-step h3 {
        font-size: 21px;
    }

    .career-growth-step p {
        font-size: 13px;
    }

    .career-fit {
        padding: 70px 0;
    }

    .career-fit-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .career-fit-item {
        padding: 20px;
        font-size: 13px;
    }

    .career-fit-highlight {
        padding: 20px 18px;
        line-height: 1.7;
    }

    .career-fit-highlight strong {
        font-size: 14px;
    }

    .career-how {
        padding: 70px 0;
    }

    .career-how-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .career-how-step {
        padding: 25px;
    }

    .career-how-step h3 {
        font-size: 22px;
    }

    .career-final {
        padding: 70px 0 85px;
    }

    .career-final-buttons {
        width: 100%;
        max-width: 320px;
        margin-inline: auto;
        flex-direction: column;
    }

    .career-final-button {
        width: 100%;
        min-width: 0;
    }
}

/* ============================================================
CAREERS — SMALL PHONES
0 — 380px
============================================================ */

@media (max-width: 380px) {

    .career-page .container {
        width: 100%;
        max-width: 100%;
        padding-inline: 11px;
    }

    .career-hero {
        min-height: 570px;
    }

    .career-hero-content {
        padding: 65px 0 44px;
    }

    .career-hero-title {
        font-size: 38px;
    }

    .career-hero-description {
        font-size: 12.5px;
    }

    .career-opportunity-card {
        padding: 24px 20px;
    }

    .career-opportunity-card h3 {
        font-size: 22px;
    }

    .career-offer-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .career-offer-item {
        min-height: 125px;
    }

    .career-growth-step h3 {
        font-size: 20px;
    }

    .career-fit-item {
        padding: 18px;
    }

    .career-how-step {
        padding: 22px 20px;
    }

    .career-final h2 {
        font-size: 36px;
    }
}

/* ============================================================
CAREERS — TELUGU RESPONSIVE SAFETY
============================================================ */

html.lang-te .career-page .career-hero-title,
html.lang-te .career-page .career-hero-description,
html.lang-te .career-page .career-heading h2,
html.lang-te .career-page .career-heading p,
html.lang-te .career-page .career-card-type,
html.lang-te .career-page .career-opportunity-card li,
html.lang-te .career-page .career-benefit h3,
html.lang-te .career-page .career-benefit p,
html.lang-te .career-page .career-offer-item h3,
html.lang-te .career-page .career-growth-step h3,
html.lang-te .career-page .career-growth-step p,
html.lang-te .career-page .career-fit-item,
html.lang-te .career-page .career-fit-highlight,
html.lang-te .career-page .career-how-step h3,
html.lang-te .career-page .career-how-step p,
html.lang-te .career-page .career-final h2,
html.lang-te .career-page .career-final p {
    overflow-wrap: anywhere;
}

/* ============================================================
END — CAREERS RESPONSIVE SYSTEM
============================================================ */
/* ============================================================
   26 — APPLICATION PAGE
   Sree JK Developers
   Final Responsive System
   Desktop / Tablet / Mobile
============================================================ */

/* ------------------------------------------------------------
   GLOBAL APPLICATION SAFETY
------------------------------------------------------------ */

.application-page,
.application-page section,
.application-page main,
.application-page .container,
.application-page .app-container,
.application-page .app-form,
.application-page .app-field,
.application-page .app-choice-row,
.application-page .app-position-section {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.application-page *,
.application-page *::before,
.application-page *::after {
    box-sizing: border-box;
}

.application-page img {
    max-width: 100%;
    height: auto;
}

.application-page h1,
.application-page h2,
.application-page h3,
.application-page h4,
.application-page p,
.application-page label,
.application-page span,
.application-page button {
    max-width: 100%;
    overflow-wrap: break-word;
}

/* ------------------------------------------------------------
   APPLICATION CONTAINER
------------------------------------------------------------ */

.application-page .app-container {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
}

/* ------------------------------------------------------------
   APPLICATION FORM
------------------------------------------------------------ */

.application-page .app-form {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 24px;
    width: 100%;
    max-width: 100%;
}

/* Full-width fields */

.application-page .app-field-full,
.application-page .app-full-width {
    grid-column: 1 / -1;
}

/* ------------------------------------------------------------
   FORM INPUTS
------------------------------------------------------------ */

.application-page input,
.application-page select,
.application-page textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    box-sizing: border-box;
}

/* ------------------------------------------------------------
   OPPORTUNITY + WORK PREFERENCE
   SAME ROW
------------------------------------------------------------ */

.application-page .app-choice-row {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 24px;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    grid-column: 1 / -1;
}

.application-page .app-choice-row > * {
    min-width: 0;
    max-width: 100%;
}

/* ------------------------------------------------------------
   CHOICE CARDS
------------------------------------------------------------ */

.application-page .app-choice-row .app-field {
    width: 100%;
    min-width: 0;
}

.application-page .app-choice-row .app-option-grid {
    width: 100%;
    max-width: 100%;
}

/* ------------------------------------------------------------
   POSITION SECTION
------------------------------------------------------------ */

.application-page .app-position-section {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    grid-column: 1 / -1;
}

/* Position options */

.application-page .app-position-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 16px;
}

.application-page .app-position-grid > * {
    min-width: 0;
    max-width: 100%;
}

/* ------------------------------------------------------------
   WORK PREFERENCE OPTIONS
------------------------------------------------------------ */

.application-page .app-work-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 12px;
}

.application-page .app-work-grid > * {
    min-width: 0;
    max-width: 100%;
}

/* ------------------------------------------------------------
   BUTTONS
------------------------------------------------------------ */

.application-page .app-actions {
    width: 100%;
    max-width: 100%;

    display: flex;
    flex-wrap: wrap;

    gap: 12px;

    grid-column: 1 / -1;
}

.application-page .app-actions button,
.application-page .app-actions a {
    max-width: 100%;
    min-width: 0;
}

/* ============================================================
   TABLET
   768px — 1199px
============================================================ */

@media (min-width: 768px) and (max-width: 1199px) {

    .application-page .app-container {
        width: calc(100% - 48px);
        max-width: calc(100% - 48px);
    }

    .application-page .app-form {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 20px;
    }

    .application-page .app-choice-row {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 18px;
    }

    .application-page .app-position-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 16px;
    }

    .application-page .app-work-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 12px;
    }

    .application-page .app-actions {
        gap: 12px;
    }

}

/* ============================================================
   MOBILE
   0 — 767px
============================================================ */

@media (max-width: 767px) {

    .application-page .app-container {
        width: calc(100% - 28px);
        max-width: calc(100% - 28px);
        margin-inline: auto;
    }

    /* --------------------------------------------------------
       FORM
    -------------------------------------------------------- */

    .application-page .app-form {
        width: 100%;
        max-width: 100%;

        grid-template-columns:
            minmax(0, 1fr);

        gap: 16px;
    }

    .application-page .app-field,
    .application-page .app-field-full,
    .application-page .app-full-width {
        grid-column: 1 / -1;
        width: 100%;
        max-width: 100%;
    }

    /* --------------------------------------------------------
       OPPORTUNITY + WORK PREFERENCE
       MOBILE = STACK
    -------------------------------------------------------- */

    .application-page .app-choice-row {
        width: 100%;
        max-width: 100%;

        grid-template-columns:
            minmax(0, 1fr);

        gap: 18px;
    }

    /* --------------------------------------------------------
       OPTION CARDS
    -------------------------------------------------------- */

    .application-page .app-choice-row .app-option-grid {
        width: 100%;
        max-width: 100%;
    }

    .application-page .app-choice-row .app-option {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    /* --------------------------------------------------------
       POSITION
    -------------------------------------------------------- */

    .application-page .app-position-section {
        width: 100%;
        max-width: 100%;
    }

    .application-page .app-position-grid {
        width: 100%;
        max-width: 100%;

        grid-template-columns:
            minmax(0, 1fr);

        gap: 12px;
    }

    /* --------------------------------------------------------
       WORK PREFERENCE
    -------------------------------------------------------- */

    .application-page .app-work-grid {
        width: 100%;
        max-width: 100%;

        grid-template-columns:
            minmax(0, 1fr);

        gap: 12px;
    }

    /* --------------------------------------------------------
       INPUTS
    -------------------------------------------------------- */

    .application-page input,
    .application-page select,
    .application-page textarea {
        width: 100%;
        max-width: 100%;

        font-size: 15px;
    }

    /* --------------------------------------------------------
       BUTTONS
    -------------------------------------------------------- */

    .application-page .app-actions {
        width: 100%;
        max-width: 100%;

        display: flex;
        flex-direction: column;

        gap: 10px;
    }

    .application-page .app-actions button,
    .application-page .app-actions a {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

}

/* ============================================================
   SMALL PHONES
   0 — 380px
============================================================ */

@media (max-width: 380px) {

    .application-page .app-container {
        width: calc(100% - 22px);
        max-width: calc(100% - 22px);
    }

    .application-page .app-form {
        gap: 14px;
    }

    .application-page .app-choice-row {
        gap: 14px;
    }

    .application-page .app-position-grid,
    .application-page .app-work-grid {
        gap: 10px;
    }

    .application-page input,
    .application-page select,
    .application-page textarea {
        font-size: 14px;
    }

}

/* ============================================================
   VERY SMALL PHONES
   0 — 340px
============================================================ */

@media (max-width: 340px) {

    .application-page .app-container {
        width: calc(100% - 18px);
        max-width: calc(100% - 18px);
    }

    .application-page .app-form {
        gap: 12px;
    }

    .application-page input,
    .application-page select,
    .application-page textarea {
        font-size: 13px;
    }

}

/* ============================================================
   TELUGU TEXT SAFETY
============================================================ */

html.lang-te .application-page h1,
html.lang-te .application-page h2,
html.lang-te .application-page h3,
html.lang-te .application-page p,
html.lang-te .application-page label,
html.lang-te .application-page span,
html.lang-te .application-page button,
html.lang-te .application-page select,
html.lang-te .application-page option {
    overflow-wrap: anywhere;
}

/* ============================================================
   APPLICATION — NO HORIZONTAL OVERFLOW
============================================================ */

.application-page,
.application-page main,
.application-page section,
.application-page .app-container,
.application-page .app-form,
.application-page .app-choice-row,
.application-page .app-position-section,
.application-page .app-position-grid,
.application-page .app-work-grid {
    overflow-x: clip;
}

/* ============================================================
   END — APPLICATION RESPONSIVE SYSTEM
============================================================ */
/* ============================================================
   PROPERTY ENQUIRY RESPONSIVE SYSTEM
   Sree JK Developers
   Reference: Application / Careers Responsive System
   Desktop / Tablet / Mobile
============================================================ */


/* ------------------------------------------------------------
   GLOBAL PROPERTY ENQUIRY SAFETY
------------------------------------------------------------ */

.enquiry-page,
.enquiry-page section,
.enquiry-page main,
.enquiry-page .enquiry-container,
.enquiry-page .enquiry-hero,
.enquiry-page .enquiry-main,
.enquiry-page .enquiry-action-grid,
.enquiry-page .enquiry-help-section,
.enquiry-page .enquiry-help-layout {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.enquiry-page *,
.enquiry-page *::before,
.enquiry-page *::after {
    box-sizing: border-box;
}

.enquiry-page img {
    max-width: 100%;
    height: auto;
}

.enquiry-page h1,
.enquiry-page h2,
.enquiry-page h3,
.enquiry-page h4,
.enquiry-page p,
.enquiry-page label,
.enquiry-page span,
.enquiry-page button,
.enquiry-page a {
    max-width: 100%;
    overflow-wrap: break-word;
}


/* ------------------------------------------------------------
   ENQUIRY CONTAINER
------------------------------------------------------------ */

.enquiry-page .enquiry-container {
    width: min(1380px, calc(100% - 70px));
    margin-inline: auto;
}


/* ------------------------------------------------------------
   HERO
------------------------------------------------------------ */

.enquiry-page .enquiry-hero {
    position: relative;
    min-height: 610px;
    overflow: hidden;
}

.enquiry-page .enquiry-hero-content {
    min-height: 610px;
    position: relative;
}

.enquiry-page .enquiry-hero-copy {
    width: min(760px, 65%);
    min-width: 0;
}

.enquiry-page .property-enquiry-hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: 100%;
}

.enquiry-page .property-enquiry-hero-bg img {
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
}


/* ------------------------------------------------------------
   BUYING + SELLING
------------------------------------------------------------ */

.enquiry-page .enquiry-action-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 22px;

    width: 100%;
    max-width: 1080px;
}

.enquiry-page .enquiry-action-grid > * {
    min-width: 0;
    max-width: 100%;
}

.enquiry-page .enquiry-action-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}


/* ------------------------------------------------------------
   TRUST STRIP
------------------------------------------------------------ */

.enquiry-page .enquiry-trust {
    width: 100%;
    max-width: 1080px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 25px;

    min-width: 0;
}

.enquiry-page .enquiry-trust-item {
    min-width: 0;
    max-width: 100%;
}


/* ------------------------------------------------------------
   HELP SECTION
------------------------------------------------------------ */

.enquiry-page .enquiry-help-layout {
    display: grid;

    grid-template-columns:
        .9fr 1.1fr;

    gap: 80px;

    align-items: center;
}

.enquiry-page .enquiry-help-copy,
.enquiry-page .enquiry-help-points {
    min-width: 0;
    max-width: 100%;
}


/* ------------------------------------------------------------
   HELP POINTS
------------------------------------------------------------ */

.enquiry-page .enquiry-help-points {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 16px;
}

.enquiry-page .enquiry-help-points > * {
    min-width: 0;
    max-width: 100%;
}


/* ============================================================
   TABLET
   768px — 1199px
============================================================ */

@media (min-width: 768px) and (max-width: 1199px) {

    .enquiry-page .enquiry-container {
        width: calc(100% - 48px);
        max-width: calc(100% - 48px);
    }


    /* --------------------------------------------------------
       HERO
    -------------------------------------------------------- */

    .enquiry-page .enquiry-hero {
        min-height: 570px;
    }

    .enquiry-page .enquiry-hero-content {
        min-height: 570px;
    }

    .enquiry-page .enquiry-hero-copy {
        width: 75%;
    }


    /* --------------------------------------------------------
       BUYING + SELLING
    -------------------------------------------------------- */

    .enquiry-page .enquiry-action-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 18px;
    }


    /* --------------------------------------------------------
       TRUST
    -------------------------------------------------------- */

    .enquiry-page .enquiry-trust {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 16px 30px;
    }


    /* --------------------------------------------------------
       HELP
    -------------------------------------------------------- */

    .enquiry-page .enquiry-help-layout {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .enquiry-page .enquiry-help-points {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 16px;
    }

}


/* ============================================================
   MOBILE
   0 — 767px
============================================================ */

@media (max-width: 767px) {

    .enquiry-page .enquiry-container {
        width: calc(100% - 28px);
        max-width: calc(100% - 28px);
        margin-inline: auto;
    }


    /* --------------------------------------------------------
       HERO
    -------------------------------------------------------- */

    .enquiry-page .enquiry-hero,
    .enquiry-page .enquiry-hero-content {
        min-height: 560px;
    }

    .enquiry-page .enquiry-hero-copy {
        width: 100%;
        max-width: 100%;
    }

    .enquiry-page .property-enquiry-hero-bg {
        width: 100%;
        max-width: 100%;
    }

    .enquiry-page .property-enquiry-hero-bg img {
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: center center;
    }


    /* --------------------------------------------------------
       HERO TEXT
    -------------------------------------------------------- */

    .enquiry-page .enquiry-hero-title {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .enquiry-page .enquiry-hero-copy p {
        max-width: 100%;
    }

    .enquiry-page .enquiry-hero-btn {
        width: 100%;
        max-width: 100%;
    }


    /* --------------------------------------------------------
       MAIN SECTION
    -------------------------------------------------------- */

    .enquiry-page .enquiry-main {
        width: 100%;
        max-width: 100%;
    }

    .enquiry-page .enquiry-heading {
        width: 100%;
        max-width: 100%;
    }

    .enquiry-page .enquiry-heading h2,
    .enquiry-page .enquiry-heading p {
        max-width: 100%;
    }


    /* --------------------------------------------------------
       BUYING + SELLING
       MOBILE = STACK
    -------------------------------------------------------- */

    .enquiry-page .enquiry-action-grid {
        width: 100%;
        max-width: 100%;

        grid-template-columns:
            minmax(0, 1fr);

        gap: 16px;
    }

    .enquiry-page .enquiry-action-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .enquiry-page .enquiry-action-card h3,
    .enquiry-page .enquiry-action-card p {
        max-width: 100%;
    }

    .enquiry-page .enquiry-action-btn {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }


    /* --------------------------------------------------------
       TRUST
    -------------------------------------------------------- */

    .enquiry-page .enquiry-trust {
        width: 100%;
        max-width: 100%;

        display: flex;
        flex-direction: column;

        align-items: flex-start;

        gap: 12px;
    }

    .enquiry-page .enquiry-trust-item {
        width: 100%;
        max-width: 100%;
        min-width: 0;

        align-items: flex-start;
    }

    .enquiry-page .enquiry-trust-item > span:last-child {
        white-space: normal;
    }


    /* --------------------------------------------------------
       HELP SECTION
    -------------------------------------------------------- */

    .enquiry-page .enquiry-help-section {
        width: 100%;
        max-width: 100%;
    }

    .enquiry-page .enquiry-help-layout {
        width: 100%;
        max-width: 100%;

        grid-template-columns:
            minmax(0, 1fr);

        gap: 35px;
    }


    /* --------------------------------------------------------
       HELP POINTS
    -------------------------------------------------------- */

    .enquiry-page .enquiry-help-points {
        width: 100%;
        max-width: 100%;

        grid-template-columns:
            minmax(0, 1fr);

        gap: 12px;
    }

    .enquiry-page .enquiry-help-point {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }


    /* --------------------------------------------------------
       CONTACT CTA
    -------------------------------------------------------- */

    .enquiry-page .enquiry-contact-btn {
        width: 100%;
        max-width: 100%;
    }

}


/* ============================================================
   SMALL PHONES
   0 — 380px
============================================================ */

@media (max-width: 380px) {

    .enquiry-page .enquiry-container {
        width: calc(100% - 22px);
        max-width: calc(100% - 22px);
    }

    .enquiry-page .enquiry-action-grid {
        gap: 14px;
    }

    .enquiry-page .enquiry-help-points {
        gap: 10px;
    }

    .enquiry-page .enquiry-action-card {
        padding: 24px;
    }

}


/* ============================================================
   VERY SMALL PHONES
   0 — 340px
============================================================ */

@media (max-width: 340px) {

    .enquiry-page .enquiry-container {
        width: calc(100% - 18px);
        max-width: calc(100% - 18px);
    }

    .enquiry-page .enquiry-action-card {
        padding: 21px;
    }

}


/* ============================================================
   TELUGU TEXT SAFETY
============================================================ */

html.lang-te .enquiry-page h1,
html.lang-te .enquiry-page h2,
html.lang-te .enquiry-page h3,
html.lang-te .enquiry-page h4,
html.lang-te .enquiry-page p,
html.lang-te .enquiry-page label,
html.lang-te .enquiry-page span,
html.lang-te .enquiry-page button,
html.lang-te .enquiry-page a {
    overflow-wrap: anywhere;
}


/* ============================================================
   NO HORIZONTAL OVERFLOW
============================================================ */

.enquiry-page,
.enquiry-page main,
.enquiry-page section,
.enquiry-page .enquiry-container,
.enquiry-page .enquiry-action-grid,
.enquiry-page .enquiry-help-layout,
.enquiry-page .enquiry-help-points,
.enquiry-page .enquiry-trust {
    overflow-x: clip;
}


/* ============================================================
   END — PROPERTY ENQUIRY RESPONSIVE SYSTEM
============================================================ */
/* ============================================================
   PROPERTY BUYING PAGE
   FINAL RESPONSIVE SYSTEM
   Sree JK Developers
============================================================ */


/* ============================================================
   DESKTOP BASE SAFETY
============================================================ */

.property-buying-page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.property-buying-page *,
.property-buying-page *::before,
.property-buying-page *::after {
    box-sizing: border-box;
}

.property-buying-page img {
    max-width: 100%;
    height: auto;
}

.property-buying-page input,
.property-buying-page select,
.property-buying-page textarea,
.property-buying-page button {
    max-width: 100%;
    box-sizing: border-box;
}


/* ============================================================
   BUYING CONTAINER
============================================================ */

.property-buying-page .buying-container {
    width: min(1080px, calc(100% - 70px));
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
}


/* ============================================================
   ROLE GRID — DESKTOP
============================================================ */

.property-buying-page .buying-role-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 12px;

    width: 100%;
    max-width: 100%;
}


/* ============================================================
   FORM GRID — DESKTOP
============================================================ */

.property-buying-page .buying-form-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(0, .65fr);

    gap: 22px 20px;

    width: 100%;
    max-width: 100%;
}

.property-buying-page .buying-field {
    min-width: 0;
    max-width: 100%;
}

.property-buying-page .buying-field.full {
    grid-column: 1 / -1;
}


/* ============================================================
   ALL FORM CONTROLS
============================================================ */

.property-buying-page .buying-field input,
.property-buying-page .buying-field select,
.property-buying-page .buying-field textarea {
    display: block;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    box-sizing: border-box;
}


/* ============================================================
   PHOTO AREA
============================================================ */

.property-buying-page .buying-photo-box {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.property-buying-page .buying-photo-copy {
    min-width: 0;
    max-width: 100%;
}


/* ============================================================
   CTA
============================================================ */

.property-buying-page .buying-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    width: 100%;
    max-width: 100%;
}

.property-buying-page .buying-btn {
    max-width: 100%;
    min-width: 0;
}


/* ============================================================
   TABLET
   768px — 1199px
============================================================ */

@media screen and (min-width: 768px) and (max-width: 1199px) {

    .property-buying-page .buying-container {
        width: calc(100% - 48px);
        max-width: calc(100% - 48px);
    }

    .property-buying-page .buying-form-card {
        padding-left: 30px;
        padding-right: 30px;
    }

    .property-buying-page .buying-role-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .property-buying-page .buying-form-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 20px 18px;
    }

    .property-buying-page .buying-field.full {
        grid-column: 1 / -1;
    }

}


/* ============================================================
   MOBILE
   0 — 767px

   IMPORTANT:
   EVERYTHING SINGLE COLUMN
============================================================ */

@media screen and (max-width: 767px) {

    /* --------------------------------------------------------
       PAGE
    -------------------------------------------------------- */

    .property-buying-page {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }


    /* --------------------------------------------------------
       CONTAINER
    -------------------------------------------------------- */

    .property-buying-page .buying-container {
        width: calc(100% - 30px) !important;
        max-width: calc(100% - 30px) !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }


    /* --------------------------------------------------------
       MAIN
    -------------------------------------------------------- */

    .property-buying-page .buying-main {
        width: 100% !important;
        max-width: 100% !important;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* --------------------------------------------------------
       FORM CARD
    -------------------------------------------------------- */

    .property-buying-page .buying-form-card {
        width: 100% !important;
        max-width: 100% !important;

        padding: 25px 18px 28px !important;

        overflow: visible !important;
    }


    /* ========================================================
       ROLE CARDS
       OWNER + ADVISOR
       SINGLE COLUMN
    ======================================================== */

    .property-buying-page .buying-role-grid {

        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        grid-template-rows: auto !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 10px !important;
    }


    .property-buying-page .buying-role-card {

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        min-height: auto !important;

        padding: 18px !important;
    }


    /* ========================================================
       FORM GRID
       SINGLE COLUMN
    ======================================================== */

    .property-buying-page .buying-form-grid {

        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        grid-template-rows: none !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 18px !important;
    }


    /* ========================================================
       EVERY FIELD
       FULL WIDTH
    ======================================================== */

    .property-buying-page .buying-field,
    .property-buying-page .buying-field.full {

        grid-column: 1 / -1 !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;
    }


    /* ========================================================
       FULL NAME
    ======================================================== */

    .property-buying-page #buyingName {

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;
    }


    /* ========================================================
       MOBILE NUMBER
       MAIN FIX
    ======================================================== */

    .property-buying-page #buyingMobile {

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        padding-left: 14px !important;
        padding-right: 14px !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       PROPERTY TYPE
    ======================================================== */

    .property-buying-page #propertyType {

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       BUDGET
    ======================================================== */

    .property-buying-page #propertyBudget {

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       LOCATION
    ======================================================== */

    .property-buying-page #buyingLocation {

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       TEXTAREA
    ======================================================== */

    .property-buying-page #buyingRequirement {

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       PHOTO UPLOAD
    ======================================================== */

    .property-buying-page .buying-photo-box {

        display: flex !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        box-sizing: border-box !important;
    }

    .property-buying-page .buying-photo-copy {

        min-width: 0 !important;
        max-width: 100% !important;

        overflow-wrap: anywhere;
    }


    /* ========================================================
       CTA
       SINGLE COLUMN
    ======================================================== */

    .property-buying-page .buying-actions {

        display: flex !important;

        flex-direction: column !important;

        align-items: stretch !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 10px !important;
    }


    .property-buying-page .buying-btn {

        display: flex !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        flex: 0 0 auto !important;
    }


    /* ========================================================
       BACK
    ======================================================== */

    .property-buying-page .buying-back {

        max-width: 100%;

        white-space: normal;
    }


    /* ========================================================
       INTRO
    ======================================================== */

    .property-buying-page .buying-intro h1 {

        max-width: 100%;

        font-size: 38px;

        overflow-wrap: anywhere;
    }

    .property-buying-page .buying-intro p {

        max-width: 100%;
    }


    /* ========================================================
       FORM HEADING
    ======================================================== */

    .property-buying-page .buying-form-heading h2 {

        max-width: 100%;

        font-size: 19px;
    }

    .property-buying-page .buying-form-heading p {

        max-width: 100%;
    }


    /* ========================================================
       LABELS
    ======================================================== */

    .property-buying-page .buying-field label {

        max-width: 100%;

        overflow-wrap: anywhere;
    }


    /* ========================================================
       SUCCESS
    ======================================================== */

    .property-buying-page .buying-success {

        width: 100%;
        max-width: 100%;

        overflow-wrap: anywhere;
    }

}


/* ============================================================
   SMALL MOBILE
   0 — 380px
============================================================ */

@media screen and (max-width: 380px) {

    .property-buying-page .buying-container {

        width: calc(100% - 22px) !important;
        max-width: calc(100% - 22px) !important;
    }


    .property-buying-page .buying-form-card {

        padding: 22px 15px 25px !important;
    }


    .property-buying-page .buying-role-card {

        padding: 16px !important;
    }


    .property-buying-page .buying-form-grid {

        gap: 16px !important;
    }


    .property-buying-page .buying-field input,
    .property-buying-page .buying-field select {

        height: 48px !important;
    }


    .property-buying-page .buying-intro h1 {

        font-size: 34px !important;
    }

}


/* ============================================================
   VERY SMALL MOBILE
   0 — 340px
============================================================ */

@media screen and (max-width: 340px) {

    .property-buying-page .buying-container {

        width: calc(100% - 18px) !important;
        max-width: calc(100% - 18px) !important;
    }


    .property-buying-page .buying-form-card {

        padding-left: 13px !important;
        padding-right: 13px !important;
    }


    .property-buying-page .buying-role-card {

        padding: 14px !important;
    }

}


/* ============================================================
   TOUCH DEVICES
============================================================ */

@media (hover: none) {

    .property-buying-page .buying-role-card:hover,
    .property-buying-page .buying-btn:hover {

        transform: none !important;
    }

}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media (prefers-reduced-motion: reduce) {

    .property-buying-page *,
    .property-buying-page *::before,
    .property-buying-page *::after {

        animation-duration: 0.01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: 0.01ms !important;
    }

}


/* ============================================================
   END PROPERTY BUYING RESPONSIVE
============================================================ */
/* ============================================================
   PROPERTY SELLING
   RESPONSIVE — SAME AS PROPERTY BUYING
============================================================ */


/* ============================================================
   DESKTOP
============================================================ */

.selling-container {
    width: min(1080px, calc(100% - 70px));
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
}

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

    width: 100%;
    max-width: 100%;
}

.selling-form-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 22px 20px;

    width: 100%;
    max-width: 100%;
}

.selling-field {
    min-width: 0;
    max-width: 100%;
}

.selling-field.full {
    grid-column: 1 / -1;
}

.selling-field input,
.selling-field select,
.selling-field textarea {
    display: block;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    box-sizing: border-box;
}

.selling-photo-box {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.selling-photo-copy {
    min-width: 0;
    max-width: 100%;
}

.selling-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;

    width: 100%;
    max-width: 100%;
}

.selling-btn {
    max-width: 100%;
    min-width: 0;
}


/* ============================================================
   TABLET
   SAME AS BUYING
============================================================ */

@media screen and (min-width: 768px) and (max-width: 1199px) {

    .selling-container {
        width: calc(100% - 48px);
        max-width: calc(100% - 48px);
    }

    .selling-form-card {
        padding-left: 30px;
        padding-right: 30px;
    }

    .selling-role-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .selling-form-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 20px 18px;
    }

    .selling-field.full {
        grid-column: 1 / -1;
    }

}


/* ============================================================
   MOBILE
   EVERYTHING SINGLE COLUMN
============================================================ */

@media screen and (max-width: 767px) {

    /* PAGE */

    .selling-container {
        width: calc(100% - 30px) !important;
        max-width: calc(100% - 30px) !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }


    /* FORM CARD */

    .selling-form-card {
        width: 100% !important;
        max-width: 100% !important;

        padding: 25px 18px 28px !important;

        overflow: visible !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       OWNER + ADVISOR
       ONE COLUMN
    ======================================================== */

    .selling-role-grid {

        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        grid-template-rows: auto !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 10px !important;
    }


    .selling-role-card {

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;
        min-height: auto !important;

        padding: 18px !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       FORM
       ONE COLUMN
    ======================================================== */

    .selling-form-grid {

        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        grid-template-rows: none !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 18px !important;
    }


    /* ALL FIELDS FULL WIDTH */

    .selling-field,
    .selling-field.full {

        grid-column: 1 / -1 !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;
    }


    /* INPUTS */

    .selling-field input,
    .selling-field select,
    .selling-field textarea {

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        box-sizing: border-box !important;
    }


    /* FULL NAME */

    #sellingName {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }


    /* MOBILE NUMBER */

    #sellingMobile {

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        padding-left: 14px !important;
        padding-right: 14px !important;

        box-sizing: border-box !important;
    }


    /* PROPERTY TYPE */

    #sellingPropertyType {

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }


    /* EXPECTED PRICE */

    #sellingPrice {

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }


    /* LOCATION */

    #sellingLocation {

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }


    /* OTHER PROPERTY TYPE */

    #sellingOtherType {

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }


    /* DETAILS */

    #sellingDetails {

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       PHOTOS
    ======================================================== */

    .selling-photo-box {

        display: flex !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        box-sizing: border-box !important;
    }

    .selling-photo-copy {

        min-width: 0 !important;
        max-width: 100% !important;

        overflow-wrap: anywhere;
    }


    /* ========================================================
       CTA
    ======================================================== */

    .selling-actions {

        display: flex !important;

        flex-direction: column !important;

        align-items: stretch !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 10px !important;
    }

    .selling-btn {

        display: flex !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        flex: 0 0 auto !important;

        box-sizing: border-box !important;
    }


    /* BACK */

    .selling-back {
        max-width: 100%;
        white-space: normal;
    }


    /* INTRO */

    .selling-intro h1 {

        max-width: 100%;

        font-size: 38px;

        overflow-wrap: anywhere;
    }

    .selling-intro p {
        max-width: 100%;
    }


    /* FORM HEADING */

    .selling-form-heading h2 {

        max-width: 100%;

        font-size: 19px;
    }

    .selling-form-heading p {
        max-width: 100%;
    }


    /* LABELS */

    .selling-field label {

        max-width: 100%;

        overflow-wrap: anywhere;
    }


    /* SUCCESS */

    .selling-success {

        width: 100%;
        max-width: 100%;

        overflow-wrap: anywhere;
    }

}


/* ============================================================
   SMALL MOBILE
============================================================ */

@media screen and (max-width: 380px) {

    .selling-container {

        width: calc(100% - 22px) !important;
        max-width: calc(100% - 22px) !important;
    }

    .selling-form-card {

        padding: 22px 15px 25px !important;
    }

    .selling-role-card {

        padding: 16px !important;
    }

    .selling-form-grid {

        gap: 16px !important;
    }

    .selling-field input,
    .selling-field select {

        height: 48px !important;
    }

    .selling-intro h1 {

        font-size: 34px !important;
    }

}


/* ============================================================
   VERY SMALL MOBILE
============================================================ */

@media screen and (max-width: 340px) {

    .selling-container {

        width: calc(100% - 18px) !important;
        max-width: calc(100% - 18px) !important;
    }

    .selling-form-card {

        padding-left: 13px !important;
        padding-right: 13px !important;
    }

    .selling-role-card {

        padding: 14px !important;
    }

}


/* ============================================================
   TOUCH DEVICES
============================================================ */

@media (hover: none) {

    .selling-role-card:hover,
    .selling-btn:hover {

        transform: none !important;
    }

}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media (prefers-reduced-motion: reduce) {

    .selling-container *,
    .selling-form-card * {

        animation-duration: 0.01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: 0.01ms !important;
    }

}


/* ============================================================
   END PROPERTY SELLING
============================================================ */
/* ============================================================
   GLOBAL RESPONSIVE — CONTACT PAGE
   Works with the uploaded final contact.html structure
   Common Header / Footer / Floating Actions / Bottom Nav preserved
============================================================ */


/* ============================================================
   GLOBAL SAFETY
============================================================ */

html {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
}

img,
svg,
video,
iframe {
    max-width: 100%;
}

.contact-page,
.contact-page * {
    box-sizing: border-box;
}

.contact-page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}


/* ============================================================
   DESKTOP
============================================================ */

.contact-intro-wrap {
    width: 100%;
    max-width: 100%;
}

.contact-intro-wrap .contact-intro {
    width: min(1120px, 100%);
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

.contact-main {
    width: 100%;
    max-width: 100%;
    padding: 0 0 115px;
}

.contact-container {
    width: min(1120px, calc(100% - 70px));
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

.contact-grid {
    display: grid;
    grid-template-columns:
        minmax(0, .92fr)
        minmax(0, 1.08fr);
    gap: 24px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.contact-callback,
.contact-details,
.contact-office {
    min-width: 0;
    max-width: 100%;
}

.contact-option-grid,
.contact-direct-strip {
    width: 100%;
    max-width: 100%;
}

.contact-option,
.contact-direct {
    min-width: 0;
    max-width: 100%;
}

.contact-field {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.contact-field input,
.contact-primary-btn {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.contact-cta {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.contact-cta-actions {
    width: 100%;
    max-width: 100%;
}

.contact-cta-btn {
    max-width: 100%;
    min-width: 0;
}


/* ============================================================
   TABLET
   768px — 1199px
============================================================ */

@media screen and (min-width: 768px) and (max-width: 1199px) {

    .contact-main {
        padding: 0 24px 105px !important;
    }

    .contact-container {
        width: 100%;
        max-width: 1080px;
    }

    .contact-intro-wrap {
        padding: 68px 24px 62px;
    }

    .contact-intro-wrap .contact-intro {
        width: 100%;
        max-width: 1080px;
    }

    .contact-intro h1 {
        font-size: clamp(42px, 6vw, 62px);
    }

    .contact-grid {
        grid-template-columns:
            minmax(0, .92fr)
            minmax(0, 1.08fr);
        gap: 18px;
    }

    .contact-callback,
    .contact-office {
        padding-left: 28px;
        padding-right: 28px;
    }

    .contact-option-grid,
    .contact-direct-strip {
        gap: 10px;
    }

    .contact-cta {
        margin-top: 42px;
        padding-left: 26px;
        padding-right: 26px;
    }
}


/* ============================================================
   MOBILE
   SINGLE COLUMN
============================================================ */

@media screen and (max-width: 767px) {

    /* PAGE */

    .contact-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }


    /* ========================================================
       HERO
       FULL WIDTH — NO WHITE SIDE FRAME
    ======================================================== */

    .contact-intro-wrap {
        width: 100% !important;
        max-width: 100% !important;

        padding:
            55px 15px 48px !important;

        box-sizing: border-box !important;
    }

    .contact-intro-wrap .contact-intro {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    .contact-intro h1 {
        width: 100%;
        max-width: 100%;

        font-size: 43px !important;
        line-height: 1.06 !important;

        overflow-wrap: anywhere;
        word-break: normal;
    }

    .contact-intro p {
        width: 100%;
        max-width: 100%;

        font-size: 13px !important;
        line-height: 1.7 !important;

        overflow-wrap: anywhere;
    }


    /* ========================================================
       MAIN
    ======================================================== */

    .contact-main {
        width: 100% !important;
        max-width: 100% !important;

        padding:
            0 15px 100px !important;

        box-sizing: border-box !important;
    }

    .contact-container {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }


    /* ========================================================
       MAIN GRID — SINGLE COLUMN
    ======================================================== */

    .contact-grid {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        grid-template-rows: none !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 16px !important;
    }


    /* ========================================================
       CALLBACK
    ======================================================== */

    .contact-callback {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        padding:
            24px 20px !important;

        box-sizing: border-box !important;

        overflow: visible !important;
    }

    .contact-callback h2 {
        max-width: 100%;

        font-size: 27px !important;
        line-height: 1.12 !important;

        overflow-wrap: anywhere;
    }


    /* ========================================================
       FORM
    ======================================================== */

    .contact-field {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .contact-field input {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }

    .contact-primary-btn {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       RIGHT DETAILS
    ======================================================== */

    .contact-details {
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        gap: 16px !important;
    }


    /* ========================================================
       WHATSAPP + EMAIL
       SINGLE COLUMN
    ======================================================== */

    .contact-option-grid {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        grid-template-rows: none !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 10px !important;
    }

    .contact-option {
        display: flex !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 76px !important;

        padding:
            17px 18px !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       OFFICE
    ======================================================== */

    .contact-office {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        padding:
            24px 20px !important;

        box-sizing: border-box !important;

        overflow: visible !important;
    }

    .contact-office h3,
    .contact-office p {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .contact-directions {
        max-width: 100%;
        overflow-wrap: anywhere;
    }


    /* ========================================================
       MAIN + ALTERNATE
       SINGLE COLUMN
    ======================================================== */

    .contact-direct-strip {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        grid-template-rows: none !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 10px !important;
    }

    .contact-direct {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }

    .contact-direct a {
        max-width: 100%;
        overflow-wrap: anywhere;
    }


    /* ========================================================
       CTA
    ======================================================== */

    .contact-cta {
        width: 100% !important;
        max-width: 100% !important;

        margin-top: 32px !important;

        padding:
            32px 20px !important;

        box-sizing: border-box !important;

        overflow: visible !important;
    }

    .contact-cta h2,
    .contact-cta p {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .contact-cta-actions {
        display: flex !important;

        flex-direction: column !important;

        align-items: stretch !important;
        justify-content: flex-start !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 10px !important;
    }

    .contact-cta-btn {
        display: flex !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        flex: 0 0 auto !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       SUCCESS
    ======================================================== */

    .contact-success {
        width: 100%;
        max-width: 100%;
        overflow-wrap: anywhere;
    }


    /* ========================================================
       MODAL — IF PRESENT IN COMMON COMPONENTS
    ======================================================== */

    .contact-modal {
        padding: 14px !important;
    }

    .contact-modal-panel {
        grid-template-columns:
            minmax(0, 1fr) !important;

        max-height:
            calc(100vh - 28px) !important;

        border-radius:
            9px !important;
    }

    .contact-modal-info,
    .contact-modal-callback {
        padding:
            27px 20px !important;
    }

    .contact-modal-actions {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }
}


/* ============================================================
   SMALL MOBILE
============================================================ */

@media screen and (max-width: 380px) {

    .contact-main {
        padding:
            0 11px 95px !important;
    }

    .contact-intro-wrap {
        padding:
            48px 11px 42px !important;
    }

    .contact-intro h1 {
        font-size:
            37px !important;
    }

    .contact-intro p {
        font-size:
            12.5px !important;
    }

    .contact-callback,
    .contact-office {
        padding:
            21px 16px !important;
    }

    .contact-callback h2 {
        font-size:
            25px !important;
    }

    .contact-field input {
        min-height:
            48px !important;
    }

    .contact-option {
        min-height:
            72px !important;
        padding:
            16px !important;
    }

    .contact-cta {
        padding:
            28px 16px !important;
    }

    .contact-cta h2 {
        font-size:
            30px !important;
    }
}


/* ============================================================
   VERY SMALL MOBILE
============================================================ */

@media screen and (max-width: 340px) {

    .contact-main {
        padding-left:
            9px !important;

        padding-right:
            9px !important;
    }

    .contact-intro-wrap {
        padding-left:
            9px !important;

        padding-right:
            9px !important;
    }

    .contact-intro h1 {
        font-size:
            33px !important;
    }

    .contact-callback,
    .contact-office,
    .contact-cta {
        padding-left:
            13px !important;

        padding-right:
            13px !important;
    }
}


/* ============================================================
   TOUCH DEVICES
============================================================ */

@media (hover: none) {

    .contact-option:hover,
    .contact-primary-btn:hover,
    .contact-cta-btn:hover {
        transform:
            none !important;
    }
}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media (prefers-reduced-motion: reduce) {

    .contact-page *,
    .contact-page *::before,
    .contact-page *::after {
        animation-duration:
            0.01ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            0.01ms !important;
    }
}


/* ============================================================
   TELUGU TEXT SAFETY
============================================================ */

html.lang-te .contact-intro h1,
html.lang-te .contact-intro p,
html.lang-te .contact-callback h2,
html.lang-te .contact-office h3,
html.lang-te .contact-office p,
html.lang-te .contact-cta h2,
html.lang-te .contact-cta p,
html.lang-te .contact-option strong,
html.lang-te .contact-option span,
html.lang-te .contact-direct a,
html.lang-te .contact-field label {
    overflow-wrap:
        anywhere;
}


/* ============================================================
   END GLOBAL RESPONSIVE — CONTACT PAGE
============================================================ */


