/* ============================================================
   Reigncon Infrastructure Pvt. Ltd. — Responsive Styles
   File: assets/css/responsive.css
   Common typography: .site-title, .site-subtitle, .site-content
   ============================================================ */

/* Unified subtitle / lead / content scale */
@media (max-width: 767px) {
    :root {
        --font-size-subtitle: 1rem;
        --font-size-lead: 0.95rem;
        --font-size-content: 0.9rem;
    }
}
@media (max-width: 575px) {
    :root {
        --font-size-subtitle: 0.95rem;
        --font-size-lead: 0.9rem;
        --font-size-content: 0.86rem;
    }
}

/* ─── EXTRA LARGE (≥1400px) ──────────────────────────────── */
@media (min-width: 1400px) {
    .container { max-width: 1320px; }
    .hero-title { font-size: 3.6rem; }
    section { padding: 80px 0; }
}

/* ─── LARGE (≥1200px) ────────────────────────────────────── */
@media (min-width: 1200px) {
    .navbar-nav .nav-link { padding: 22px 16px !important; font-size: 0.8rem; }
}

/* ─── MEDIUM (≥992px) ────────────────────────────────────── */
@media (min-width: 992px) {
    .process-step::after { display: block; }
    .hero-image-wrap img { height: 400px; }
}

/* ─── TABLET (768px – 991px) ─────────────────────────────── */
@media (max-width: 991px) {
    section { padding: 55px 0; }
    #main-navbar { padding: 0; }
    .navbar-collapse {
        background: var(--primary-dark);
        padding: 10px 0;
        border-top: 1px solid rgba(255,255,255,0.1);
    }
    .navbar-nav .nav-link {
        padding: 12px 20px !important;
        font-size: 0.85rem;
    }
    .navbar-nav .nav-link::after { display: none; }
    .hero-stat-cards { justify-content: flex-start; }
    .hero-stat-card { min-width: 90px; }
    #hero { padding: 70px 0 50px; min-height: auto; }
    .hero-image-wrap { margin-top: 36px; }
    .hero-image-wrap img { height: 300px; }
    .about-image-wrap img { height: 320px; }
    .process-step::after { display: none; }
    .process-step { margin-bottom: 24px; }
    .investment-stat-card { margin-bottom: 20px; }
    .jv-highlight { margin-bottom: 20px; }
    .contact-info-card { margin-bottom: 30px; }
    .career-intro { margin-bottom: 30px; }
    .why-card { margin-bottom: 20px; }
    .counter-divider { display: none; }
    .counter-item { border-bottom: 1px solid rgba(255,255,255,0.1); padding: 16px; }
    .counter-item:last-child { border-bottom: none; }
    .footer-brand, .footer-links-col { margin-bottom: 30px; }
}

/* ─── SMALL TABLET (576px – 767px) ──────────────────────── */
@media (max-width: 767px) {
    section { padding: 45px 0; }
    .section-heading { margin-bottom: 36px; }
    .section-heading h2 { font-size: 1.5rem; }
    #hero { padding: 70px 0 40px; }
    .hero-title { font-size: 1.9rem; }
    .hero-subtitle { font-size: 0.95rem; }
    .hero-stat-cards { gap: 10px; }
    .hero-stat-card { padding: 12px 14px; }
    .hero-stat-card .stat-num { font-size: 1.2rem; }
    .hero-image-wrap img { height: 250px; }
    .about-image-wrap img { height: 260px; }
    .about-experience-badge { padding: 12px; }
    .about-experience-badge .exp-num { font-size: 1.7rem; }
    .contact-form-wrap, .contact-info-card { padding: 24px; }
    .career-form-wrap { padding: 22px; }
    .inner-page-hero { padding: 70px 0 36px; }
    .inner-page-hero h1 { font-size: 1.7rem; }
    .property-card .card-img-wrap { height: 170px; }
    .jv-highlight { padding: 22px; }
    .jv-highlight h3 { font-size: 1.2rem; }
    #footer { padding: 45px 0 0; }
    .footer-bottom { text-align: center; }
    .footer-bottom .text-end { text-align: center !important; margin-top: 8px; }
    .social-links { justify-content: flex-start; }
    .top-bar .text-end { display: none; }
    .investment-stat-card { padding: 20px 14px; }
    .investment-stat-card .stat-number { font-size: 1.6rem; }
    .info-guarantee-box { padding: 20px; }
    .why-card { padding: 24px 18px; }
    .jv-card { padding: 22px 18px; }
}

/* ─── MOBILE (< 576px) ───────────────────────────────────── */
@media (max-width: 575px) {
    section { padding: 38px 0; }
    .hero-title { font-size: 1.6rem; }
    .hero-subtitle { font-size: 0.88rem; margin-bottom: 22px; }
    .btn-primary-c, .btn-outline-c { padding: 10px 20px; font-size: 0.78rem; }
    .hero-stat-cards { flex-wrap: wrap; gap: 8px; }
    .hero-stat-card { min-width: calc(50% - 4px); flex: none; }
    .hero-image-badge { padding: 8px 12px; font-size: 0.75rem; }
    .hero-image-wrap img { height: 220px; }
    .about-image-wrap { margin-top: 24px; }
    .about-image-wrap img { height: 230px; }
    .about-experience-badge { bottom: 12px; right: 12px; }
    .section-heading h2 { font-size: 1.3rem; }
    .investment-stat-card .stat-icon { width: 48px; height: 48px; }
    .process-step .step-circle { width: 50px; height: 50px; font-size: 0.95rem; }
    .why-card .why-icon { width: 58px; height: 58px; font-size: 1.4rem; }
    .why-card h4 { font-size: 0.95rem; }
    .property-card .card-body { padding: 16px; }
    .property-card .card-img-wrap { height: 160px; }
    .career-item { flex-direction: column; align-items: flex-start; }
    .career-item .btn-primary-c { width: 100%; text-align: center; }
    .contact-form-wrap, .contact-info-card { padding: 20px; border-radius: 8px; }
    .career-form-wrap { padding: 18px; }
    .career-intro { padding: 24px; }
    .navbar-brand .brand-name { font-size: 0.85rem; }
    .navbar-brand .brand-tagline { font-size: 0.62rem; }
    .navbar-brand .brand-logo { width: 42px; height: 42px; }
    .top-bar { font-size: 0.72rem; padding: 5px 0; }
    #counters { padding: 36px 0; }
    .counter-item .count-num { font-size: 2rem; }
    .counter-item .count-label { font-size: 0.72rem; }
    .footer-heading { font-size: 0.82rem; }
    .footer-links a, .footer-contact-item, .footer-brand p { font-size: 0.82rem; }
    #scroll-top, #whatsapp-float { width: 44px; height: 44px; }
    #scroll-top { bottom: 80px; right: 14px; font-size: 1rem; }
    #whatsapp-float { right: 14px; bottom: 14px; font-size: 1.4rem; }
    .inner-page-hero h1 { font-size: 1.4rem; }
    .content-box h3 { font-size: 1rem; }
    .content-box p, .content-box ul { font-size: 0.86rem; }
    .jv-card p { font-size: 0.84rem; }
    .testimonial-card { padding: 20px; }
    .section-label-bar { margin-left: -12px; padding: 8px 16px; }
    .section-label-bar span { font-size: 0.75rem; }
}

/* ─── LANDING & BRAND PAGES ─────────────────────────────── */
@media (max-width: 991px) {
	

    #landing-hero.landing-hero {
        padding-top: 0.75rem;
        align-items: flex-start;
    }
    .landing-brand {
        text-align: center;
        margin-bottom: 0.75rem;
    }
    .landing-logo-link {
        display: inline-flex;
        justify-content: flex-start;
    }
    .landing-page-logo {
        max-height: clamp(56px, 13vw, 105px);
        max-width: min(280px, 88vw);
        margin-left: 0;
        margin-right: auto;
        object-position: left center;
    }
    .landing-body {
        min-height: 0;
        display: flex;
        flex-direction: column;
    }
    .landing-copy {
        order: 2;
        text-align: left;
        max-width: 100%;
        padding-right: 0;
    }
    .landing-visual {
        order: 1;
        position: static;
        margin: 0.25rem auto 0.5rem;
        max-width: 100%;
        pointer-events: auto;
    }
    .landing-hero-img {
        max-width: min(340px, 92vw);
        max-height: min(44vh, 400px);
        margin-left: auto;
        margin-right: auto;
        object-position: center bottom;
    }
    .site-title--landing.title-line-gold,
    .site-title--landing-sub.title-line-gold {
        display: block;
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }
    .landing-copy .title-line-gold::after {
        left: 0;
        transform: none;
    }
    .landing-copy-block .site-subtitle,
    .landing-copy .site-subtitle {
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }
    .site-title--landing-sub { margin-top: 2rem; }
    .landing-cta-row {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 0.75rem;
        max-width: 100%;
    }
    .landing-cta-btn {
        width: auto;
        max-width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .footer-landing-nav { justify-content: center; }
    .footer-landing-top { justify-content: center; flex-direction: column; padding: 10px 0 0 0; }
    .footer-landing-social { justify-content: center; }
    .page-career .career-main { padding-top: 2rem; }
    .career-col-right { margin-top: 0.25rem; }
    .career-visual--image-only .career-visual-photo img {
        max-height: 260px;
    }
    .page-privacy-policy .privacy-main.privacy-main-wide {
        padding: 2rem clamp(1rem, 5vw, 1.5rem) 2rem;
    }
    .privacy-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
    }
    .privacy-left-stack {
        display: contents;
    }
    .privacy-hero {
        grid-column: 1;
        grid-row: 1;
        max-width: 100%;
    }
    .privacy-visual {
        grid-column: 1;
        grid-row: 2;
        justify-self: center;
        align-self: start;
        max-width: 300px;
        margin-top: 0.5rem;
    }
    .privacy-sections {
        grid-column: 1;
        grid-row: 3;
        margin-top: 0.5rem;
        max-width: 100%;
    }
    .privacy-visual img {
        max-height: 280px;
    }
    .page-disclaimer .disclaimer-main.disclaimer-main-wide {
        padding: 2rem clamp(1rem, 5vw, 1.5rem) 2rem;
    }
    .disclaimer-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
    }
    .disclaimer-left-stack {
        display: contents;
    }
    .disclaimer-hero {
        grid-column: 1;
        grid-row: 1;
        max-width: 100%;
    }
    .disclaimer-visual {
        grid-column: 1;
        grid-row: 2;
        justify-self: center;
        align-self: start;
        max-width: 300px;
        margin-top: 0.5rem;
    }
    .disclaimer-sections {
        grid-column: 1;
        grid-row: 3;
        margin-top: 0.5rem;
        max-width: 100%;
    }
    .disclaimer-visual img {
        max-height: 280px;
    }
    .page-contact-landing .contact-landing-main {
        padding: 1.5rem clamp(1rem, 5vw, 1.5rem) 2rem;
    }
    .contact-landing-grid {
        grid-template-columns: 1fr;
        gap: 1.75rem;
        align-items: start;
    }
    .contact-side-card {
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }
    .contact-side-card-panel {
        padding: clamp(4.75rem, 18vw, 6.5rem) 1rem 1rem;
    }
    .contact-side-figure {
        margin-top: clamp(-5rem, -16vw, -3.5rem);
        margin-bottom: 0.5rem;
    }
    .contact-fields-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    .contact-side-map iframe {
        height: 200px;
    }
    .rico-pill-nav {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        min-height: 0;
        padding: 8px 16px;
        border-radius: 20px;
    }
    .rico-pill-nav__link,
    .rico-pill-nav a {
        display: block;
        width: 100%;
        justify-self: stretch !important;
        text-align: center !important;
        white-space: normal;
        padding: 11px 10px;
        border-bottom: 1px solid rgba(93, 26, 26, 0.1); 
    }
    .rico-pill-nav__link:last-child,
    .rico-pill-nav a:last-child {
        border-bottom: none;
    }
    .ri-serif-heading--left { text-align: center; }
    .ri-closing-copy { margin-left: auto; margin-right: auto; text-align: center; }
    .ri-closing-cta { text-align: center; }
    .ri-closing-cta .ri-footer-cta { margin-left: auto; margin-right: auto; }
	 .ri-what-grid { grid-template-columns: 1fr; }
	 .rico-lead-layout{
		display:block;
	}
	 .ri-lead-layout--left .rico-tagline,
    .ri-lead-layout--left .ri-subtitle,.rico-lead-layout .rico-tagline {
        max-width: 100%;
        margin-left:unset;
		    text-align: left;
    }
	.rico-lead-layout .rico-hero-line{
		  max-width: 100%;
	}
}
@media (max-width: 575px) {
	
	.landing-brand {
		text-align: center;
		margin-bottom: 0.75rem;
	}

	.site-page-align, .career-layout-row > .career-col-left, .contact-landing-form-col, .privacy-left-stack, .disclaimer-left-stack, .ri-page-header-inner, .rico-topbar-inner, .ri-hero-text > .container, .rico-lead > .container, .rico-lead-copy, .ri-section--gujarat > .container.site-page-align, .landing-brand.site-page-align, .landing-body.site-page-align, .landing-cta-row.site-page-align{
		padding-right: calc(var(--bs-gutter-x) * .5);
		padding-left: calc(var(--bs-gutter-x) * .5);
	}
	 
    .contact-radio-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.55rem;
    }
    #landing-hero.landing-hero { padding: 20px 0 32px; }
    .landing-page-logo { max-height: 100px; }
    .ri-page-header-inner,
    .rico-topbar-inner {
    .rico-topbar-inner {
        flex-direction: column;
        align-items: flex-start;
    }
    .ri-lead-layout--left .rico-tagline,
    .ri-lead-layout--left .ri-subtitle {
        max-width: 100%;
    }
	.rico-lead-layout{
		display:block;
	}	
	 .ri-lead-layout--left .rico-tagline {
	
	}
    .ri-lead-layout--left .rico-lead-body {
        margin-left: 0;
        max-width: 100%;
    }
    .rico-lead-layout .rico-tagline {
        align-self: stretch;
        text-align: left;
        max-width: 100%;
        margin-bottom: 0.75rem;
    }
    .rico-lead-body {
        margin-left: 0;
        max-width: 100%;
    }
    .rico-lead-layout .rico-hero-line {
        max-width: 100%;
        font-size: clamp(1.15rem, 4.5vw, 1.65rem);
    }
    .rico-topbar-title.title-line-gold {
        max-width: 100%;
    }
    .ri-what-grid { grid-template-columns: 1fr; }
    .ri-process-frame { padding: 16px 10px 24px; }
    .ri-step-visual {
        min-height: 108px;
        margin-bottom: 14px;
    }
    .ri-step-glyph {
        width: 96px;
        height: 96px;
    }
    .ri-section--gujarat .ri-bullet-icon {
        width: 64px;
        height: 64px;
    }
    .ri-section--gujarat .ri-bullet-icon .site-ico-img {
        width: 2.35rem;
        height: 2.35rem;
    }
    .ri-section--gujarat .ri-bullet-list--gujarat li {
        gap: 16px;
        margin-bottom: 26px;
    }
    .ri-gujarat-panel {
        padding: 1.15rem 0.9rem;
    }
    .ri-section--gujarat .ri-gujarat-heading { margin-bottom: 1.35rem; }
}
 