/* ==========================================================================
   Dwarkadhish Maritime — responsive rules
   Desktop ≥ 1025px · Tablet 768–1024px · Mobile ≤ 767px
   (The mobile-menu breakpoint is configurable and printed inline.)
   ========================================================================== */

.dm-section[style*="--mt:-"] { z-index: 5; }

/* Device visibility (Homepage Builder → Visibility tab) */
@media (min-width: 1025px) { .dm-hide-d { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .dm-hide-t { display: none !important; } }
@media (max-width: 767px) { .dm-hide-m { display: none !important; } }

/* ---------- Large tablets / small laptops ---------- */
@media (max-width: 1200px) {
	.dm-hero__title { font-size: min(var(--sec-h-size, var(--fs-h1)), 52px); }
	.dm-menu a { padding: 10px 9px; }
	.dm-footer__grid--4 { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 30px; }
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
	:root { --gutter: 22px; }
	h1 { font-size: min(var(--fs-h1), 44px); }
	h2, .dm-sec-title { font-size: min(var(--sec-h-size, var(--fs-h2)), 34px); }

	.dm-section {
		padding-top: var(--pt-t, var(--sec-pad-t));
		padding-bottom: var(--pb-t, var(--sec-pad-t));
	}
	.dm-grid { grid-template-columns: repeat(var(--cols-t, 2), minmax(0, 1fr)); }
	.dm-spacer { height: var(--h-t, var(--h)); }

	.dm-hero { height: var(--hero-h-t, 70vh); min-height: 520px; }
	.dm-hero__title { font-size: min(var(--sec-h-size, var(--fs-h1)), 46px); }
	.dm-hero__arrow { display: none; }

	.dm-features--strip .dm-feature { border-bottom: 1px solid rgba(255, 255, 255, .08); }

	.dm-split { flex-direction: column; align-items: stretch !important; gap: 40px; }
	.dm-split__text, .dm-split__media { flex: 1 1 auto; width: 100%; }
	.dm-split--img-first-m .dm-split__media { order: 0; }
	.dm-split--img-last-m .dm-split__media { order: 2; }
	.dm-split__img { height: var(--img-h-m, auto) !important; }
	.dm-infoboxes--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

	.dm-formsplit { flex-direction: column; }
	.dm-formsplit--side-right .dm-sidepanel { order: 0; }
	.dm-sidepanel { flex-basis: auto; }

	.dm-contact { grid-template-columns: 1fr; }
	.dm-col { flex-basis: calc(var(--w-t, 50%) - var(--col-gap, 40px)); }

	.dm-cta--inline { flex-direction: column; align-items: flex-start; }

	.dm-footer__grid--4, .dm-footer__grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dm-has-sidebar { grid-template-columns: 1fr; }
	.dm-section.dm-bg-fixed { background-attachment: scroll; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	:root { --gutter: 18px; }
	body { font-size: 15.5px; }
	h1 { font-size: 34px; }
	h2, .dm-sec-title { font-size: var(--sec-h-size-m, min(var(--sec-h-size, var(--fs-h2)), 28px)); }
	h3 { font-size: min(var(--fs-h3), 20px); }

	.dm-topbar--hide-m { display: none; }
	.dm-topbar__inner { justify-content: center; padding-top: 8px; padding-bottom: 8px; }
	.dm-topbar__list { justify-content: center; }

	.dm-header__inner { min-height: 72px; gap: 12px; }
	.dm-logo-img { width: var(--logo-w-m) !important; }

	.dm-section {
		padding-top: var(--pt-m, var(--sec-pad-m));
		padding-bottom: var(--pb-m, var(--sec-pad-m));
	}
	.dm-section[style*="--mt:-"] { margin-top: max(var(--mt, 0px), -40px); }
	.dm-m-align-center { text-align: center; }
	.dm-m-align-center .dm-sec-head, .dm-m-align-center .dm-split__text { text-align: center; }
	.dm-m-align-center .dm-btns { justify-content: center; }
	.dm-m-align-left .dm-sec-head { text-align: left; margin-left: 0; }

	.dm-sec-head { margin-bottom: 36px; }
	.dm-grid { grid-template-columns: repeat(var(--cols-m, 1), minmax(0, 1fr)); gap: min(var(--gap, 28px), 22px); }
	.dm-features--strip { gap: 0 !important; }
	.dm-spacer { height: var(--h-m, var(--h)); }

	.dm-hero { height: var(--hero-h-m, 78vh); min-height: var(--hero-min-m, 520px); }
	.dm-hero__inner { padding-top: 30px; padding-bottom: 90px; }
	.dm-hero__title { font-size: var(--sec-h-size-m, 32px); }
	.dm-hero__text { font-size: 1em; }
	.dm-hero__dots { bottom: 70px; }
	.dm-hero .dm-btns { gap: 10px; }
	.dm-btn { padding: 12px 22px; min-height: 46px; font-size: 13px; }

	.dm-features--strip .dm-feature { padding: 24px 20px; border-right: 0; }
	.dm-features--cards .dm-feature { padding: 30px 22px; }

	.dm-checklist--cols-2 { grid-template-columns: 1fr; }
	.dm-infoboxes--cols-2, .dm-infoboxes--cols-3 { grid-template-columns: 1fr; }
	.dm-frame--frame { padding: 0 0 14px 14px; }
	.dm-split--img-right .dm-frame--frame { padding: 0 14px 14px 0; }

	.dm-formcard { padding: 28px 20px; }
	.dm-sidepanel__body { padding: 28px 22px 30px; }
	.dm-form__grid { grid-template-columns: 1fr; }
	.dm-form__foot .dm-btn { width: 100%; }

	.dm-contact__card { padding: 26px 20px; }
	.dm-contact__map, .dm-contact__map iframe { min-height: min(var(--map-h, 420px), 320px); }

	.dm-col { flex-basis: calc(var(--w-m, 100%) - var(--col-gap, 40px)); }
	.dm-cols { gap: min(var(--col-gap, 40px), 28px); }

	.dm-footer__grid { padding-top: 56px; padding-bottom: 40px; }
	.dm-footer__grid--4, .dm-footer__grid--3, .dm-footer__grid--2 { grid-template-columns: 1fr; gap: 34px; }
	.dm-footer__bottom-inner { flex-direction: column; text-align: center; justify-content: center; }

	.dm-post-grid { grid-template-columns: 1fr; }
	.dm-page-banner { min-height: min(var(--banner-h, 320px), 220px); }
	.dm-page-banner__title { font-size: 30px; }
	.dm-404__code { font-size: 80px; }
	.dm-totop { right: 14px; bottom: 14px; width: 44px; height: 44px; }
	.dm-stat__num { font-size: 38px; }
}

@media (max-width: 400px) {
	.dm-hero .dm-btns .dm-btn { width: 100%; }
}

/* ---------- v1.2 design: responsive ---------- */
@media (min-width: 1101px) {
	.dm-topbar--right::before {
		content: ""; position: absolute; left: 0; top: 0; bottom: 0; background: var(--header-bg, #fff);
		width: calc(max(0px, (100% - var(--container) - var(--gutter) * 2) / 2) + var(--gutter) + var(--logo-w) + 70px);
		clip-path: polygon(0 0, 100% 0, calc(100% - 26px) 100%, 0 100%);
	}
	.dm-header--tb-right .dm-logo { position: relative; top: -19px; transition: top .3s var(--ease); }
	.dm-header--tb-right.is-scrolled .dm-logo { top: 0; }
	.dm-header--tb-right .dm-header__inner { min-height: 78px; }
}
@media (max-width: 1200px) {
	.dm-connect { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "why form" "careers form" "contact contact"; }
	.dm-split--three { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
	.dm-split--three .dm-split__aside { grid-column: 1 / -1; }
	.dm-split--three .dm-infoboxes--list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 1024px) {
	.dm-features--bar .dm-feature + .dm-feature::before { display: none; }
	.dm-features--bar .dm-feature { border-bottom: 1px solid rgba(255, 255, 255, .1); }
	.dm-has-bleed .dm-bleed-media { position: relative !important; width: 100%; height: 300px; clip-path: none !important; -webkit-mask-image: none !important; mask-image: none !important; top: auto; bottom: auto; margin-top: calc(-1 * var(--pt-t, var(--sec-pad-t))); margin-bottom: 36px; }
	.dm-split--bleed { display: block; min-height: 0; }
	.dm-split--bleed .dm-split__spacer { display: none; }
	.dm-split--bleed .dm-split__text { padding: 0 !important; }
	.dm-split--three { display: flex; flex-direction: column; align-items: stretch; }
	.dm-split--three .dm-split__media { order: 0; }
	.dm-footer__grid--3 { grid-template-columns: 1fr 1fr; gap: 34px 0; }
	.dm-footer__grid--3 > .dm-footer__col:nth-child(3) { padding-left: 0; border-left: 0; grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.dm-has-bleed .dm-bleed-media { height: 240px; margin-top: calc(-1 * var(--pt-m, var(--sec-pad-m))); margin-bottom: 28px; }
	.dm-connect { grid-template-columns: 1fr; grid-template-areas: "why" "careers" "form" "contact"; }
	.dm-connect__icons { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 18px; }
	.dm-connect__careers { grid-template-columns: 1fr; }
	.dm-split--three .dm-infoboxes--list { grid-template-columns: 1fr !important; }
	.dm-infoboxes--icon-row .dm-infobox { width: calc(50% - 17px); }
	.dm-footer__grid--3 { grid-template-columns: 1fr; }
	.dm-footer__grid--3 > .dm-footer__col { padding: 0 !important; border-left: 0 !important; }
	.dm-footer__bottom-inner { flex-direction: column; }
	.dm-features--bar .dm-feature { padding: 18px 6px; }
	.dm-hero__inner { padding-bottom: 60px; }
}
