/*
Theme Name: Iconomy Property Group
Template: businesslounge
Text Domain: iconomy-property-group
Description: Institutional real-estate investment and asset management site for Iconomy Property Group.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
WPVibe: yes
*/

:root {
	--ipg-ink: #171b16;
	--ipg-deep: #20261e;
	--ipg-deep-2: #2a3026;
	--ipg-cream: #f2eee5;
	--ipg-paper: #f8f5ee;
	--ipg-line: rgba(23, 27, 22, .16);
	--ipg-gold: #b49661;
	--ipg-muted: #706f67;
	--ipg-white: #fffdf8;
	--ipg-serif: Georgia, "Times New Roman", Times, serif;
	--ipg-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--ipg-paper);
	color: var(--ipg-ink);
	font-family: var(--ipg-sans);
	font-size: 16px;
	line-height: 1.7;
	text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
.ipg-shell {
	width: min(1240px, calc(100% - 48px));
	margin-inline: auto;
}

.ipg-header {
	position: absolute;
	inset: 0 0 auto;
	z-index: 40;
	border-bottom: 1px solid rgba(255,255,255,.22);
	color: #fff;
}
.ipg-header__inner {
	min-height: 92px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
}
.ipg-brand img {
	width: min(250px, 38vw);
	max-height: 56px;
	object-fit: contain;
	object-position: left center;
	filter: brightness(0) invert(1);
}
.ipg-mobile-menu { display: none; position: relative; }
.ipg-mobile-menu summary {
    list-style: none;
    cursor: pointer;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.ipg-mobile-menu summary::-webkit-details-marker { display: none; }
.ipg-mobile-menu__panel {
    position: absolute;
    top: calc(100% + 20px);
    right: 0;
    min-width: 240px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 0;
    background: rgba(22,28,21,.97);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 18px 42px rgba(0,0,0,.28);
}
.ipg-mobile-menu__panel a {
    padding: 11px 4px;
    text-decoration: none;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(255,255,255,.10);
}
.ipg-mobile-menu__panel a:last-child { border-bottom: 0; }
.ipg-nav {
	display: flex;
	gap: 28px;
	align-items: center;
	font-size: 12px;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.ipg-nav a { text-decoration: none; opacity: .86; }
.ipg-nav a:hover, .ipg-nav a:focus { opacity: 1; }
.ipg-mobile-contact {
	display: none;
	text-decoration: none;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	border-bottom: 1px solid rgba(255,255,255,.65);
	padding-bottom: 3px;
}

.ipg-hero {
	position: relative;
	min-height: 900px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--ipg-deep);
	color: #fff;
}
.ipg-hero__image {
	position: absolute;
	inset: 0;
	background:
		url("https://suites.icon.sg/wp-content/uploads/2026/09/image-gen-9-1.png") center/cover no-repeat;
	transform: scale(1.015);
}
.ipg-hero__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(17,22,16,.92) 0%, rgba(17,22,16,.75) 42%, rgba(17,22,16,.18) 75%, rgba(17,22,16,.34) 100%),
		linear-gradient(0deg, rgba(17,22,16,.38), transparent 42%);
}
.ipg-hero__content {
	position: relative;
	z-index: 2;
	padding-top: 142px;
	padding-bottom: 100px;
}
.ipg-kicker, .ipg-eyebrow {
	margin: 0 0 22px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
}
.ipg-kicker { color: #e6d6b7; }
.ipg-eyebrow { color: #766d5e; }
.ipg-eyebrow--light { color: #cabb9f; }
.ipg-hero h1 {
	margin: 0;
	max-width: 860px;
	font-family: var(--ipg-serif);
	font-size: clamp(72px, 8vw, 134px);
	line-height: .92;
	font-weight: 400;
	letter-spacing: -.055em;
}
.ipg-hero h1 span {
	color: #d5bd90;
	font-style: italic;
}
.ipg-hero__lead {
	max-width: 670px;
	margin: 38px 0 0;
	font-size: clamp(18px, 1.6vw, 24px);
	line-height: 1.55;
	color: rgba(255,255,255,.84);
}
.ipg-hero__actions {
	display: flex;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
	margin-top: 40px;
}
.ipg-hero__side-note {
	position: absolute;
	right: 27px;
	bottom: 60px;
	z-index: 2;
	display: flex;
	gap: 18px;
	writing-mode: vertical-rl;
	font-size: 9px;
	letter-spacing: .24em;
	color: rgba(255,255,255,.55);
}
.ipg-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid currentColor;
	text-decoration: none;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	transition: all .2s ease;
}
.ipg-btn--light { color: #fff; border-color: rgba(255,255,255,.65); }
.ipg-btn--light:hover { background: #fff; color: var(--ipg-deep); }
.ipg-btn--dark { color: var(--ipg-ink); border-color: var(--ipg-ink); margin-top: 18px; }
.ipg-btn--dark:hover { background: var(--ipg-ink); color: var(--ipg-paper); }
.ipg-text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	border-bottom: 1px solid currentColor;
	padding-bottom: 3px;
}
.ipg-text-link--light { color: rgba(255,255,255,.9); }

.ipg-intro,
.ipg-pillars,
.ipg-platform,
.ipg-approach,
.ipg-portfolio,
.ipg-insights {
	padding: 118px 0;
}
.ipg-intro { background: var(--ipg-cream); }
.ipg-grid {
	display: grid;
	gap: 80px;
}
.ipg-grid--2 { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.ipg-intro h2,
.ipg-pillars h2,
.ipg-platform h2,
.ipg-approach h2,
.ipg-portfolio h2,
.ipg-insights h2,
.ipg-contact h2,
.ipg-principles h2,
.ipg-asset-management h2 {
	margin: 0;
	font-family: var(--ipg-serif);
	font-size: clamp(42px, 5vw, 78px);
	line-height: 1.02;
	font-weight: 400;
	letter-spacing: -.04em;
}
.ipg-prose p,
.ipg-prose-large {
	margin-top: 0;
	font-size: 18px;
	color: #4f514b;
}
.ipg-prose p + p { margin-top: 22px; }
.ipg-prose-large { font-size: clamp(20px, 2vw, 28px); line-height: 1.5; }

.ipg-pillars { background: #fffdf9; }
.ipg-pillars > .ipg-shell > h2 {
	max-width: 960px;
	margin-bottom: 54px;
}
.ipg-card-grid {
	display: grid;
	gap: 1px;
	background: var(--ipg-line);
	border: 1px solid var(--ipg-line);
}
.ipg-card-grid--3 { grid-template-columns: repeat(3, 1fr); }
.ipg-card {
	position: relative;
	min-height: 360px;
	padding: 38px;
	background: #fffdf9;
}
.ipg-card__num {
	display: block;
	margin-bottom: 90px;
	font-family: var(--ipg-serif);
	font-size: 20px;
	color: var(--ipg-gold);
}
.ipg-card h3,
.ipg-platform-card h3,
.ipg-steps h3 {
	margin: 0 0 14px;
	font-family: var(--ipg-serif);
	font-size: 30px;
	font-weight: 400;
	letter-spacing: -.025em;
}
.ipg-card p,
.ipg-platform-card p,
.ipg-steps p {
	margin: 0;
	color: #5f605b;
}

.ipg-principles {
	background: var(--ipg-deep);
	color: #fff;
	padding: 120px 0 130px;
}
.ipg-section-head {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 80px;
	align-items: end;
	margin-bottom: 64px;
}
.ipg-section-head > p {
	margin: 0;
	color: rgba(255,255,255,.63);
	font-size: 17px;
}
.ipg-principle-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	border-top: 1px solid rgba(255,255,255,.18);
	border-bottom: 1px solid rgba(255,255,255,.18);
}
.ipg-principle-grid article {
	padding: 38px 26px 44px;
	border-right: 1px solid rgba(255,255,255,.16);
}
.ipg-principle-grid article:last-child { border-right: 0; }
.ipg-principle-grid strong {
	display: block;
	margin-bottom: 62px;
	font-family: var(--ipg-serif);
	font-size: 56px;
	font-weight: 400;
	color: #d7bf93;
}
.ipg-principle-grid h3 {
	margin: 0 0 14px;
	font-size: 15px;
	letter-spacing: .02em;
}
.ipg-principle-grid p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: rgba(255,255,255,.63);
}

.ipg-platform { background: var(--ipg-paper); }
.ipg-platform > .ipg-shell > h2 {
	max-width: 850px;
	margin-bottom: 62px;
}
.ipg-platform-grid {
	display: grid;
	grid-template-columns: 1.35fr .85fr;
	gap: 18px;
}
.ipg-platform-card {
	min-height: 340px;
	padding: 38px;
	background: #fff;
	border: 1px solid var(--ipg-line);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.ipg-platform-card--feature {
	grid-row: span 2;
	min-height: 698px;
	background:
		linear-gradient(rgba(32,38,30,.75), rgba(32,38,30,.75)),
		url("https://suites.icon.sg/wp-content/uploads/2026/09/image-gen-9.png") center/cover no-repeat;
	color: #fff;
	justify-content: flex-end;
}
.ipg-platform-card--feature p { color: rgba(255,255,255,.74); }
.ipg-platform-card--feature .ipg-text-link { color: #fff; }
.ipg-card__label {
	margin-bottom: auto !important;
	padding-bottom: 56px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .17em;
	text-transform: uppercase;
	color: var(--ipg-gold) !important;
}
.ipg-platform-card h3 { font-size: 36px; }
.ipg-platform-card .ipg-text-link { margin-top: 28px; }

/* Branded property platforms */
.ipg-framework {
    padding: 118px 0 126px;
    background: #f1eadf;
    border-top: 1px solid var(--ipg-line);
    border-bottom: 1px solid var(--ipg-line);
}
.ipg-framework__heading {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 80px;
    align-items: end;
    margin-bottom: 64px;
}
.ipg-framework__heading h2 {
    margin: 0;
    font-family: var(--ipg-serif);
    font-size: clamp(42px, 5vw, 76px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: -.04em;
}
.ipg-framework__columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}
.ipg-framework__column {
    display: grid;
    grid-template-rows: auto 122px auto;
    min-width: 0;
}
.ipg-framework__capital,
.ipg-framework__base {
    position: relative;
    padding: 30px 28px 32px;
    background: #fffdf9;
    border: 1px solid var(--ipg-line);
}
.ipg-framework__capital {
    border-bottom: 4px solid #9c8968;
}
.ipg-framework__base {
    border-top: 4px solid #68705c;
}
.ipg-framework__capital::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -18px;
    width: 58%;
    height: 18px;
    transform: translateX(-50%);
    background:
        linear-gradient(135deg, transparent 24%, #9c8968 25% 29%, transparent 30%) 0 0/18px 18px repeat-x;
    opacity: .38;
}
.ipg-framework__capital > span,
.ipg-framework__base > span {
    display: block;
    margin-bottom: 24px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #83755f;
}
.ipg-framework__capital h3,
.ipg-framework__base h3 {
    margin: 0 0 14px;
    font-family: var(--ipg-serif);
    font-size: 36px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: -.035em;
}
.ipg-framework__capital p,
.ipg-framework__base p {
    margin: 0;
    color: #60625b;
    font-size: 14px;
    line-height: 1.65;
}
.ipg-framework__shaft {
    position: relative;
    width: 34%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(90deg, #53604c 0 10%, #68745f 10% 90%, #53604c 90% 100%);
    border-left: 1px solid rgba(255,255,255,.18);
    border-right: 1px solid rgba(0,0,0,.10);
}
.ipg-framework__shaft::before,
.ipg-framework__shaft::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 138%;
    height: 8px;
    transform: translateX(-50%);
    background: #68745f;
}
.ipg-framework__shaft::before { top: 0; }
.ipg-framework__shaft::after { bottom: 0; }
.ipg-framework__shaft span {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .2em;
    color: rgba(255,255,255,.88);
}
.ipg-framework .ipg-section-cta { margin-top: 44px; }

.ipg-framework--graphic {
    padding: 0;
    background: #f1eadf;
}
.ipg-framework-graphic-wrap {
    width: 100%;
}
.ipg-framework-graphic {
    display: block;
    width: 100%;
    overflow: hidden;
    transition: filter .3s ease;
}
.ipg-framework-graphic:hover {
    filter: brightness(.97);
}
.ipg-framework-graphic img {
    display: block;
    width: 100%;
    height: auto;
}
.ipg-framework-context {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: clamp(32px, 7vw, 100px);
    align-items: start;
    padding-top: 52px;
    padding-bottom: 58px;
}
.ipg-framework-context h2 {
    margin: 10px 0 0;
    max-width: 680px;
}
.ipg-framework-context__copy {
    max-width: 720px;
}
.ipg-framework-context__copy p {
    margin: 0 0 20px;
    line-height: 1.8;
}
@media (max-width: 760px) {
    .ipg-framework-context {
        grid-template-columns: 1fr;
        gap: 18px;
        padding-top: 30px;
        padding-bottom: 34px;
    }
    .ipg-framework-context__copy p {
        line-height: 1.65;
    }
}

@media (max-width: 680px) {
    .ipg-framework--graphic { padding: 0; }
    .ipg-framework { padding: 74px 0 82px; }
    .ipg-framework__heading {
        grid-template-columns: 1fr;
        gap: 26px;
        margin-bottom: 38px;
    }
    .ipg-framework__heading h2 { font-size: 40px; }
    .ipg-framework__columns { gap: 7px; }
    .ipg-framework__column { grid-template-rows: auto 88px auto; }
    .ipg-framework__capital,
    .ipg-framework__base {
        padding: 15px 10px 17px;
    }
    .ipg-framework__capital > span,
    .ipg-framework__base > span {
        margin-bottom: 12px;
        font-size: 7px;
        letter-spacing: .08em;
    }
    .ipg-framework__capital h3,
    .ipg-framework__base h3 {
        font-size: 19px;
        line-height: 1.02;
        margin-bottom: 9px;
    }
    .ipg-framework__capital p,
    .ipg-framework__base p {
        font-size: 10px;
        line-height: 1.4;
    }
    .ipg-framework__shaft { width: 42%; }
    .ipg-framework__shaft span { font-size: 7px; letter-spacing: .12em; }
}

.ipg-platform-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: 80px;
    align-items: end;
    margin-bottom: 58px;
}
.ipg-platform-heading h2 { margin: 0; }
.ipg-platform-loop {
    margin-top: 28px !important;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #777064 !important;
}
.ipg-platform-loop span { padding: 0 5px; color: var(--ipg-gold); }

.ipg-platform-duo {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.ipg-platform-duo--interior { margin-top: 48px; }
.ipg-platform-brand {
    min-width: 0;
    background: #fff;
    border: 1px solid var(--ipg-line);
}
.ipg-platform-brand__visual {
    position: relative;
    min-height: 450px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    background-position: center;
    background-size: cover;
}
.ipg-platform-brand--suites .ipg-platform-brand__visual {
    background-image: url("https://suites.icon.sg/wp-content/uploads/2026/09/20210921_160918-scaled.jpg");
}
.ipg-platform-brand--ivd .ipg-platform-brand__visual {
    background-image: url("https://suites.icon.sg/wp-content/uploads/2026/09/20241025_160702-scaled.jpg");
}
.ipg-platform-brand__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(16,21,15,.18) 0%, rgba(16,21,15,.22) 36%, rgba(16,21,15,.86) 100%),
        linear-gradient(90deg, rgba(17,22,16,.2), transparent 55%);
}
.ipg-platform-brand__logo-wrap,
.ipg-platform-brand__logo-wrap--ivd {
    position: absolute;
    z-index: 2;
    top: 28px;
    left: 28px;
    width: 248px;
    height: 112px;
    min-width: 0;
    min-height: 0;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,253,249,.94);
    border: 1px solid rgba(255,255,255,.42);
    backdrop-filter: blur(7px);
}
.ipg-platform-brand__logo {
    display: block;
    width: auto;
    max-width: 202px;
    height: auto;
    max-height: 72px;
    object-fit: contain;
}
.ipg-platform-brand__logo--suites { width: auto; max-width: 202px; max-height: 72px; }
.ipg-platform-brand__logo--ivd { width: auto; max-width: 132px; max-height: 54px; }
.ipg-platform-brand__verb {
    position: relative;
    z-index: 2;
    display: block;
    padding: 0 26px 22px;
    font-family: var(--ipg-serif);
    font-size: clamp(67px, 7vw, 106px);
    line-height: .8;
    letter-spacing: -.055em;
    color: rgba(255,255,255,.93);
}
.ipg-platform-brand__body {
    padding: 38px 38px 42px;
}
.ipg-platform-brand__body .ipg-card__label {
    margin: 0 0 36px !important;
    padding: 0;
}
.ipg-platform-brand__body h3 {
    max-width: 580px;
    margin: 0 0 18px;
    font-family: var(--ipg-serif);
    font-size: clamp(34px, 3.2vw, 50px);
    line-height: 1.02;
    font-weight: 400;
    letter-spacing: -.04em;
}
.ipg-platform-brand__body > p:not(.ipg-card__label) {
    max-width: 630px;
    margin: 0;
    color: #5d6058;
}
.ipg-platform-brand__body .ipg-text-link { margin-top: 28px; }

.ipg-platform-capabilities {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin-top: 18px;
    background: var(--ipg-line);
    border: 1px solid var(--ipg-line);
}
.ipg-platform-capabilities article {
    min-height: 300px;
    padding: 38px;
    background: #fffdf9;
}
.ipg-platform-capabilities .ipg-card__label {
    margin: 0 0 58px !important;
    padding: 0;
}
.ipg-platform-capabilities h3 {
    margin: 0 0 14px;
    font-family: var(--ipg-serif);
    font-size: 35px;
    line-height: 1.05;
    font-weight: 400;
    letter-spacing: -.035em;
}
.ipg-platform-capabilities p:not(.ipg-card__label) { margin: 0; color: #5f605b; }
.ipg-platform-capabilities .ipg-text-link { margin-top: 26px; }

.ipg-approach { background: #fffdf9; }
.ipg-grid--approach { align-items: start; }
.ipg-sticky-copy { position: sticky; top: 40px; }
.ipg-sticky-copy h2 { margin-bottom: 30px; }
.ipg-steps { border-top: 1px solid var(--ipg-line); }
.ipg-steps article {
	display: grid;
	grid-template-columns: 52px 1fr;
	column-gap: 26px;
	padding: 30px 0 34px;
	border-bottom: 1px solid var(--ipg-line);
}
.ipg-steps span {
	grid-row: span 2;
	font-family: var(--ipg-serif);
	color: var(--ipg-gold);
}
.ipg-steps h3 { font-size: 26px; }
.ipg-steps p { grid-column: 2; }

.ipg-asset-management {
	padding: 105px 0;
	background: var(--ipg-deep-2);
	color: #fff;
}
.ipg-prose--light p { color: rgba(255,255,255,.68); }

.ipg-portfolio { background: var(--ipg-cream); }
.ipg-section-head--portfolio > p { color: #706f67; }
.ipg-gallery {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-auto-rows: 135px;
	gap: 14px;
}
.ipg-gallery__item {
	margin: 0;
	overflow: hidden;
	background: #ddd6c7;
}
.ipg-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}
.ipg-gallery__item:hover img { transform: scale(1.025); }
.ipg-gallery__item--1 { grid-column: span 7; grid-row: span 3; }
.ipg-gallery__item--2 { grid-column: span 5; grid-row: span 2; }
.ipg-gallery__item--3 { grid-column: span 5; grid-row: span 2; }
.ipg-gallery__item--4 { grid-column: span 4; grid-row: span 2; }
.ipg-gallery__item--5 { grid-column: span 4; grid-row: span 2; }
.ipg-gallery__item--6 { grid-column: span 4; grid-row: span 2; }

/* Proprietary property photography */
.ipg-photo-wall {
    columns: 3;
    column-gap: 14px;
}
.ipg-photo-wall figure {
    margin: 0 0 14px;
    break-inside: avoid;
    overflow: hidden;
    background: #ded8cb;
}
.ipg-photo-wall img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform .5s ease;
}
.ipg-photo-wall figure:hover img { transform: scale(1.018); }
.ipg-photo-wall--home { columns: 4; }
.ipg-photo-wall--home figure:nth-child(3n+1) img { aspect-ratio: 4 / 3; object-fit: cover; }
.ipg-photo-wall--home figure:nth-child(3n+2) img { aspect-ratio: 5 / 4; object-fit: cover; }
.ipg-photo-wall--home figure:nth-child(3n) img { aspect-ratio: 16 / 10; object-fit: cover; }

.ipg-suites-gallery {
    padding: 112px 0 122px;
    background: var(--ipg-cream);
}
.ipg-photo-wall--suites { columns: 4; }
.ipg-photo-wall--suites figure:nth-child(4n+1) img { aspect-ratio: 4 / 3; object-fit: cover; }
.ipg-photo-wall--suites figure:nth-child(4n+2) img { aspect-ratio: 3 / 4; object-fit: cover; }
.ipg-photo-wall--suites figure:nth-child(4n+3) img { aspect-ratio: 1 / 1; object-fit: cover; }
.ipg-photo-wall--suites figure:nth-child(4n) img { aspect-ratio: 16 / 10; object-fit: cover; }

.ipg-portfolio-gallery-section { padding-bottom: 82px; }
.ipg-photo-wall--portfolio { columns: 4; }
.ipg-photo-wall--portfolio figure:nth-child(5n+1) img { aspect-ratio: 4 / 3; object-fit: cover; }
.ipg-photo-wall--portfolio figure:nth-child(5n+2) img { aspect-ratio: 3 / 4; object-fit: cover; }
.ipg-photo-wall--portfolio figure:nth-child(5n+3) img { aspect-ratio: 1 / 1; object-fit: cover; }
.ipg-photo-wall--portfolio figure:nth-child(5n+4) img { aspect-ratio: 16 / 10; object-fit: cover; }
.ipg-photo-wall--portfolio figure:nth-child(5n) img { aspect-ratio: 4 / 5; object-fit: cover; }

.ipg-current-portfolio {
    padding: 108px 0 118px;
    background: #fffdf9;
}
.ipg-current-portfolio h2 {
    margin: 0;
    font-family: var(--ipg-serif);
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1.02;
    font-weight: 400;
    letter-spacing: -.04em;
}
.ipg-project-list { border-top: 1px solid var(--ipg-line); }
.ipg-project-list article {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 22px;
    padding: 24px 0 26px;
    border-bottom: 1px solid var(--ipg-line);
}
.ipg-project-list span {
    font-family: var(--ipg-serif);
    color: var(--ipg-gold);
}
.ipg-project-list h3 {
    margin: 0 0 7px;
    font-family: var(--ipg-serif);
    font-size: 26px;
    line-height: 1.08;
    font-weight: 400;
}
.ipg-project-list p { margin: 0; color: #66675f; font-size: 14px; }
.ipg-project-list--grouped { border-top: 0; }
.ipg-project-country { margin-bottom: 30px; }
.ipg-project-country:last-child { margin-bottom: 0; }
.ipg-project-country__label {
    margin: 0 0 10px !important;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #85765f !important;
    border-bottom: 1px solid var(--ipg-line);
    padding-bottom: 10px;
}
.ipg-project-country article:first-of-type { border-top: 0; }

.ipg-insights { background: #fffdf9; }
.ipg-insights__intro { margin-bottom: 58px; }
.ipg-insight-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.ipg-insight-card {
    min-width: 0;
    border: 1px solid var(--ipg-line);
    background: #fff;
    transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.ipg-insight-card:hover {
    transform: translateY(-3px);
    border-color: #b7a178;
    box-shadow: 0 18px 45px rgba(24,29,22,.08);
}
.ipg-insight-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}
.ipg-insight-card__image {
    aspect-ratio: 16 / 9;
    margin: 0;
    overflow: hidden;
    background: #ded7c9;
}
.ipg-insight-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.ipg-insight-card:hover .ipg-insight-card__image img { transform: scale(1.025); }
.ipg-insight-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 28px 28px 30px;
}
.ipg-insight-card__meta {
    margin: 0 0 18px !important;
    font-size: 10px !important;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #887e6e !important;
}
.ipg-insight-card h3 {
    margin: 0 0 16px;
    font-family: var(--ipg-serif);
    font-size: clamp(23px, 1.75vw, 30px);
    line-height: 1.06;
    font-weight: 400;
    letter-spacing: -.03em;
}
.ipg-insight-card__body > p:not(.ipg-insight-card__meta) {
    margin: 0 0 26px;
    color: #62645e;
    font-size: 13px;
    line-height: 1.65;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ipg-insight-card__body .ipg-text-link { margin-top: auto; align-self: flex-start; }
.ipg-insights__fallback {
    margin-top: 50px;
    padding: 34px;
    border: 1px solid var(--ipg-line);
    background: var(--ipg-cream);
}
.ipg-insights__fallback p { margin-top: 0; }

@media (max-width: 980px) {
    .ipg-insight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ipg-photo-wall,
    .ipg-photo-wall--home,
    .ipg-photo-wall--suites,
    .ipg-photo-wall--portfolio { columns: 2; }
}
@media (max-width: 680px) {
    .ipg-insights__intro { margin-bottom: 38px; }
    .ipg-insight-grid { grid-template-columns: 1fr; }
    .ipg-insight-card__body { padding: 24px; }
    .ipg-insight-card h3 { font-size: 29px; }
    .ipg-photo-wall,
    .ipg-photo-wall--home,
    .ipg-photo-wall--suites,
    .ipg-photo-wall--portfolio { columns: 1; }
    .ipg-current-portfolio { padding: 82px 0 92px; }
}
.ipg-contact {
	position: relative;
	min-height: 670px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #1d241c;
	color: #fff;
}
.ipg-contact__image {
	position: absolute;
	inset: 0;
	background: url("https://suites.icon.sg/wp-content/uploads/2026/09/20240308_194554-scaled.jpg") center/cover no-repeat;
}
.ipg-contact__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(27,34,26,.92) 0%, rgba(27,34,26,.72) 48%, rgba(27,34,26,.2) 100%);
}
.ipg-contact__content {
	position: relative;
	z-index: 2;
	padding-top: 100px;
	padding-bottom: 100px;
}
.ipg-contact h2 { max-width: 760px; }
.ipg-contact p:not(.ipg-eyebrow) {
	max-width: 650px;
	margin: 28px 0 34px;
	font-size: 19px;
	color: rgba(255,255,255,.75);
}

.ipg-footer {
	padding: 72px 0 24px;
	background: #151914;
	color: #fff;
}
.ipg-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr .7fr .9fr;
	gap: 70px;
	padding-bottom: 54px;
}
.ipg-footer__logo {
	width: 230px;
	margin-bottom: 18px;
	filter: brightness(0) invert(1);
}
.ipg-footer p {
	max-width: 420px;
	margin: 0;
	color: rgba(255,255,255,.56);
}
.ipg-footer__links {
	display: flex;
	flex-direction: column;
	gap: 9px;
	font-size: 13px;
}
.ipg-footer__links a { text-decoration: none; color: rgba(255,255,255,.72); }
.ipg-footer__principles {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
	gap: 12px;
}
.ipg-footer__principles span {
	font-family: var(--ipg-serif);
	font-size: 26px;
	color: #d2b885;
}
.ipg-footer__principles small { color: rgba(255,255,255,.5); }
.ipg-footer__bottom {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding-top: 20px;
	border-top: 1px solid rgba(255,255,255,.14);
	font-size: 11px;
	letter-spacing: .06em;
	color: rgba(255,255,255,.42);
}

/* Multi-page architecture */
.ipg-mobile-menu { display: none; position: relative; }
.ipg-mobile-menu summary {
    list-style: none;
    cursor: pointer;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(255,255,255,.65);
    padding-bottom: 3px;
}
.ipg-mobile-menu summary::-webkit-details-marker { display: none; }
.ipg-mobile-menu__panel {
    position: absolute;
    top: 34px;
    right: 0;
    width: min(310px, calc(100vw - 30px));
    padding: 22px;
    background: rgba(21,25,20,.98);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 18px 55px rgba(0,0,0,.28);
}
.ipg-mobile-menu__panel a {
    display: block;
    padding: 11px 0;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.ipg-mobile-menu__panel a:last-child { border-bottom: 0; }

.ipg-location-teaser {
    padding: 0 0 118px;
    background: var(--ipg-cream);
}
.ipg-location-teaser__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--ipg-line);
    border-bottom: 1px solid var(--ipg-line);
}
.ipg-location-teaser article {
    padding: 38px 34px 44px;
    border-right: 1px solid var(--ipg-line);
}
.ipg-location-teaser article:last-child { border-right: 0; }
.ipg-location-teaser span {
    display: block;
    margin-bottom: 54px;
    font-family: var(--ipg-serif);
    color: var(--ipg-gold);
}
.ipg-location-teaser h3 {
    margin: 0 0 16px;
    font-family: var(--ipg-serif);
    font-size: 31px;
    line-height: 1.05;
    font-weight: 400;
    letter-spacing: -.03em;
}
.ipg-location-teaser p { margin: 0; color: #5f605b; }
.ipg-section-cta { margin-top: 42px; }
.ipg-platform-grid--home .ipg-platform-card--feature { grid-row: span 2; }

.ipg-page-hero {
    position: relative;
    min-height: 690px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: var(--ipg-deep);
    color: #fff;
}
.ipg-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--ipg-page-image);
    background-size: cover;
    background-position: center;
    transform: scale(1.012);
}
.ipg-page-hero__veil {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(17,22,16,.93) 0%, rgba(17,22,16,.72) 47%, rgba(17,22,16,.22) 100%),
        linear-gradient(0deg, rgba(17,22,16,.48), transparent 48%);
}
.ipg-page-hero__content {
    position: relative;
    z-index: 2;
    padding-top: 170px;
    padding-bottom: 78px;
}
.ipg-page-hero h1 {
    margin: 0;
    max-width: 920px;
    font-family: var(--ipg-serif);
    font-size: clamp(68px, 7vw, 116px);
    line-height: .94;
    font-weight: 400;
    letter-spacing: -.05em;
}
.ipg-page-hero h1 span { color: #d5bd90; font-style: italic; }
.ipg-page-hero__content > p:last-child {
    max-width: 720px;
    margin: 34px 0 0;
    font-size: clamp(18px, 1.5vw, 23px);
    line-height: 1.55;
    color: rgba(255,255,255,.8);
}
.ipg-page-hero--about { --ipg-page-image: url("https://suites.icon.sg/wp-content/uploads/2026/09/20260529_122451-scaled.jpg"); }
.ipg-page-hero--philosophy { --ipg-page-image: url("https://suites.icon.sg/wp-content/uploads/2026/09/image-gen-9-1.png"); }
.ipg-page-hero--work { --ipg-page-image: url("https://suites.icon.sg/wp-content/uploads/2026/09/20250408_101658-scaled.jpg"); }
.ipg-page-hero--suites { --ipg-page-image: url("https://suites.icon.sg/wp-content/uploads/2026/09/20210824_131727-scaled.jpg"); }
.ipg-page-hero--development { --ipg-page-image: url("https://suites.icon.sg/wp-content/uploads/2026/09/20241025_160702-scaled.jpg"); }
.ipg-page-hero--capital { --ipg-page-image: url("https://suites.icon.sg/wp-content/uploads/2026/09/20241022_160740-scaled.jpg"); }
.ipg-page-hero--portfolio { --ipg-page-image: url("https://suites.icon.sg/wp-content/uploads/2026/09/20260608_143530-scaled.jpg"); }
.ipg-page-hero--ivd { --ipg-page-image: url("https://suites.icon.sg/wp-content/uploads/2026/09/20241025_160702-scaled.jpg"); }
.ipg-page-hero--insights { --ipg-page-image: url("https://suites.icon.sg/wp-content/uploads/2026/09/20230906_163035-scaled.jpg"); }
.ipg-page-hero--contact { --ipg-page-image: url("https://suites.icon.sg/wp-content/uploads/2026/09/20240308_194554-scaled.jpg"); }

.ipg-page-section {
    padding: 118px 0;
    background: var(--ipg-cream);
}
.ipg-page-section--paper { background: #fffdf9; }
.ipg-page-section h2,
.ipg-page-band h2,
.ipg-process-band h2,
.ipg-page-cta h2,
.ipg-wide-heading {
    margin: 0;
    font-family: var(--ipg-serif);
    font-size: clamp(42px, 5vw, 76px);
    line-height: 1.02;
    font-weight: 400;
    letter-spacing: -.04em;
}
.ipg-wide-heading { max-width: 980px; margin-bottom: 58px; }

.ipg-page-band,
.ipg-process-band,
.ipg-page-cta {
    background: var(--ipg-deep-2);
    color: #fff;
    padding: 105px 0;
}
.ipg-page-cta { background: #171c16; }
.ipg-page-cta h2 { max-width: 900px; margin-bottom: 34px; }

.ipg-statements {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(255,255,255,.18);
    border-bottom: 1px solid rgba(255,255,255,.18);
}
.ipg-statements article {
    padding: 34px 26px 40px;
    border-right: 1px solid rgba(255,255,255,.16);
}
.ipg-statements article:last-child { border-right: 0; }
.ipg-statements strong {
    display: block;
    margin-bottom: 54px;
    font-family: var(--ipg-serif);
    font-size: 18px;
    font-weight: 400;
    color: #d7bf93;
}
.ipg-statements h3 {
    margin: 0 0 13px;
    font-family: var(--ipg-serif);
    font-size: 26px;
    line-height: 1.08;
    font-weight: 400;
}
.ipg-statements p { margin: 0; color: rgba(255,255,255,.63); font-size: 14px; }

.ipg-page-hero--brand .ipg-page-hero__content { padding-top: 155px; }
.ipg-brand-hero__logo,
.ipg-brand-hero__logo--ivd {
    width: 260px;
    height: 118px;
    min-width: 0;
    max-width: none;
    margin-bottom: 34px;
    padding: 18px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,253,249,.94);
    border: 1px solid rgba(255,255,255,.32);
    backdrop-filter: blur(7px);
}
.ipg-brand-hero__logo img,
.ipg-brand-hero__logo--ivd img {
    display: block;
    width: auto;
    max-width: 210px;
    height: auto;
    max-height: 76px;
    object-fit: contain;
}

.ipg-brand-trinity,
.ipg-development-ladder {
    padding: 112px 0 122px;
    background: #fffdf9;
}
.ipg-development-ladder { background: var(--ipg-cream); }
.ipg-brand-trinity__grid,
.ipg-development-ladder__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-top: 40px;
    background: var(--ipg-line);
    border: 1px solid var(--ipg-line);
}
.ipg-brand-trinity__grid article,
.ipg-development-ladder__grid article {
    min-height: 390px;
    padding: 36px 34px 40px;
    background: #fff;
}
.ipg-development-ladder__grid article { background: #fffdf9; }
.ipg-brand-trinity__grid article > span,
.ipg-development-ladder__grid article > span {
    display: block;
    margin-bottom: 72px;
    font-family: var(--ipg-serif);
    font-size: 20px;
    color: var(--ipg-gold);
}
.ipg-brand-trinity__grid .ipg-card__label,
.ipg-development-ladder__grid .ipg-card__label {
    margin: 0 0 14px !important;
    padding: 0;
}
.ipg-brand-trinity__grid h3,
.ipg-development-ladder__grid h3 {
    margin: 0 0 18px;
    font-family: var(--ipg-serif);
    font-size: 44px;
    line-height: .98;
    font-weight: 400;
    letter-spacing: -.04em;
}
.ipg-brand-trinity__grid p:not(.ipg-card__label),
.ipg-development-ladder__grid p:not(.ipg-card__label) {
    margin: 0;
    color: #5f605b;
}

.ipg-property-loop {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    margin: 42px 0 64px;
    padding: 30px 0;
    border-top: 1px solid rgba(255,255,255,.18);
    border-bottom: 1px solid rgba(255,255,255,.18);
}
.ipg-property-loop span {
    font-size: clamp(16px, 1.8vw, 24px);
    font-weight: 700;
    letter-spacing: .07em;
}
.ipg-property-loop i {
    font-family: var(--ipg-serif);
    font-size: 28px;
    font-style: normal;
    color: #d7bf93;
}
.ipg-property-loop__copy { align-items: start; }

@media (max-width: 980px) {
    .ipg-platform-heading { grid-template-columns: 1fr; gap: 28px; }
    .ipg-platform-duo { grid-template-columns: 1fr; }
    .ipg-platform-brand__visual { min-height: 400px; }
    .ipg-brand-trinity__grid,
    .ipg-development-ladder__grid { grid-template-columns: 1fr; }
    .ipg-brand-trinity__grid article,
    .ipg-development-ladder__grid article { min-height: 0; }
    .ipg-brand-trinity__grid article > span,
    .ipg-development-ladder__grid article > span { margin-bottom: 42px; }
}
@media (max-width: 680px) {
    .ipg-platform-brand__visual { min-height: 335px; }
    .ipg-platform-brand__logo-wrap,
    .ipg-platform-brand__logo-wrap--ivd {
        top: 20px;
        left: 20px;
        width: 210px;
        height: 94px;
        min-width: 0;
        min-height: 0;
        padding: 14px 18px;
    }
    .ipg-platform-brand__logo,
    .ipg-platform-brand__logo--suites {
        width: auto;
        max-width: 172px;
        max-height: 60px;
    }
    .ipg-platform-brand__logo--ivd {
        width: auto;
        max-width: 112px;
        max-height: 46px;
    }
    .ipg-platform-brand__verb { padding: 0 20px 18px; font-size: 66px; }
    .ipg-platform-brand__body { padding: 28px 24px 32px; }
    .ipg-platform-capabilities { grid-template-columns: 1fr; }
    .ipg-platform-capabilities article { min-height: 0; padding: 30px 24px; }
    .ipg-platform-capabilities .ipg-card__label { margin-bottom: 38px !important; }
    .ipg-brand-hero__logo,
    .ipg-brand-hero__logo--ivd {
        width: 218px;
        height: 100px;
        min-width: 0;
        max-width: none;
    }
    .ipg-brand-hero__logo img,
    .ipg-brand-hero__logo--ivd img {
        max-width: 174px;
        max-height: 62px;
    }
    .ipg-brand-trinity,
    .ipg-development-ladder { padding: 84px 0; }
    .ipg-brand-trinity__grid article,
    .ipg-development-ladder__grid article { padding: 30px 24px 34px; }
    .ipg-brand-trinity__grid h3,
    .ipg-development-ladder__grid h3 { font-size: 38px; }
    .ipg-property-loop { gap: 10px 14px; }
    .ipg-property-loop span { font-size: 13px; }
}

.ipg-location-doctrine {
    padding: 120px 0;
    background: var(--ipg-deep);
    color: #fff;
}
.ipg-location-chapter {
    display: grid;
    grid-template-columns: .16fr .34fr .5fr;
    gap: 34px;
    padding: 52px 0;
    border-top: 1px solid rgba(255,255,255,.18);
}
.ipg-location-chapter:last-child { border-bottom: 1px solid rgba(255,255,255,.18); }
.ipg-location-chapter__number {
    font-family: var(--ipg-serif);
    font-size: 23px;
    color: #d7bf93;
}
.ipg-location-chapter__title h3 {
    margin: 0;
    font-family: var(--ipg-serif);
    font-size: clamp(34px, 3vw, 50px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: -.035em;
}
.ipg-location-chapter__copy p {
    margin: 0 0 18px;
    color: rgba(255,255,255,.7);
    font-size: 17px;
}
.ipg-location-chapter__copy p:last-child { margin-bottom: 0; }
.ipg-principles--page { padding-top: 120px; }

.ipg-work-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 18px;
}
.ipg-work-card {
    border: 1px solid var(--ipg-line);
    background: #fff;
}
.ipg-work-card:first-child { grid-row: span 2; }
.ipg-work-card__body { padding: 38px; }
.ipg-work-card__body h3 {
    margin: 0 0 16px;
    font-family: var(--ipg-serif);
    font-size: 38px;
    line-height: 1.05;
    font-weight: 400;
    letter-spacing: -.03em;
}
.ipg-work-card__body p:not(.ipg-card__label) { margin: 0; color: #5f605b; }
.ipg-work-card__body .ipg-text-link { margin-top: 26px; }
.ipg-work-card__image {
    min-height: 430px;
    background-size: cover;
    background-position: center;
}
.ipg-work-card__image--suites {
    background-image: url("https://suites.icon.sg/wp-content/uploads/2026/09/20210921_160918-scaled.jpg");
}
.ipg-link-row {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 28px;
}

.ipg-process-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-top: 1px solid rgba(255,255,255,.18);
    border-bottom: 1px solid rgba(255,255,255,.18);
}
.ipg-process-grid article {
    padding: 34px 25px 40px;
    border-right: 1px solid rgba(255,255,255,.16);
}
.ipg-process-grid article:last-child { border-right: 0; }
.ipg-process-grid span {
    display: block;
    margin-bottom: 46px;
    font-family: var(--ipg-serif);
    color: #d7bf93;
}
.ipg-process-grid h3 {
    margin: 0 0 13px;
    font-family: var(--ipg-serif);
    font-size: 25px;
    line-height: 1.08;
    font-weight: 400;
}
.ipg-process-grid p { margin: 0; color: rgba(255,255,255,.63); font-size: 14px; }

.ipg-gallery--teaser .ipg-gallery__item--1 { grid-column: span 7; grid-row: span 3; }
.ipg-gallery--teaser .ipg-gallery__item--2 { grid-column: span 5; grid-row: span 2; }
.ipg-gallery--teaser .ipg-gallery__item--3 { grid-column: span 5; grid-row: span 1; }

.ipg-not-found { padding-top: 92px; }
.ipg-not-found h1 {
    margin: 0 0 18px;
    font-family: var(--ipg-serif);
    font-size: clamp(48px, 6vw, 82px);
    font-weight: 400;
}
.ipg-not-found p { max-width: 620px; }
.ipg-not-found .ipg-btn { margin-top: 24px; }

@media (max-width: 980px) {
    .ipg-mobile-menu { display: block; }
    .ipg-mobile-contact { display: none; }
    .ipg-location-teaser__grid,
    .ipg-statements,
    .ipg-process-grid { grid-template-columns: repeat(2, 1fr); }
    .ipg-location-teaser article:nth-child(2n),
    .ipg-statements article:nth-child(2n),
    .ipg-process-grid article:nth-child(2n) { border-right: 0; }
    .ipg-location-teaser article,
    .ipg-statements article,
    .ipg-process-grid article { border-bottom: 1px solid rgba(255,255,255,.12); }
    .ipg-location-teaser article { border-bottom-color: var(--ipg-line); }
    .ipg-location-chapter { grid-template-columns: 70px 1fr; }
    .ipg-location-chapter__copy { grid-column: 2; }
    .ipg-work-grid { grid-template-columns: 1fr; }
    .ipg-work-card:first-child { grid-row: auto; }
}

@media (max-width: 680px) {
    .ipg-page-hero { min-height: 620px; }
    .ipg-page-hero__content { padding-top: 135px; padding-bottom: 58px; }
    .ipg-page-hero h1 { font-size: clamp(52px, 15vw, 75px); }
    .ipg-page-hero__veil {
        background: linear-gradient(0deg, rgba(17,22,16,.95) 0%, rgba(17,22,16,.68) 66%, rgba(17,22,16,.34) 100%);
    }
    .ipg-page-section,
    .ipg-location-doctrine,
    .ipg-page-band,
    .ipg-process-band,
    .ipg-page-cta { padding: 78px 0; }
    .ipg-location-teaser { padding-bottom: 78px; }
    .ipg-location-teaser__grid,
    .ipg-statements,
    .ipg-process-grid { grid-template-columns: 1fr; }
    .ipg-location-teaser article,
    .ipg-statements article,
    .ipg-process-grid article {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }
    .ipg-location-teaser article { border-bottom-color: var(--ipg-line); }
    .ipg-location-teaser article:last-child,
    .ipg-statements article:last-child,
    .ipg-process-grid article:last-child { border-bottom: 0; }
    .ipg-location-chapter { grid-template-columns: 1fr; gap: 16px; padding: 40px 0; }
    .ipg-location-chapter__copy { grid-column: auto; }
    .ipg-location-chapter__number { margin-bottom: 10px; }
    .ipg-work-card__image { min-height: 300px; }
    .ipg-work-card__body { padding: 28px; }
    .ipg-link-row { flex-direction: column; align-items: flex-start; }
}

/* Legacy BusinessLounge footer injections remain in the database, but are not part of the new Property experience. */
.side-panel-holder,
.rt-popup,
#wpadminbar + .rt-popup {
	display: none !important;
}

@media (max-width: 980px) {
	.ipg-nav { display: none; }
	.ipg-mobile-contact { display: inline-flex; }
	.ipg-header__inner { min-height: 78px; }
	.ipg-hero { min-height: 780px; }
	.ipg-hero__content { padding-top: 125px; }
	.ipg-grid--2,
	.ipg-section-head,
	.ipg-footer__grid { grid-template-columns: 1fr; gap: 42px; }
	.ipg-card-grid--3 { grid-template-columns: 1fr; }
	.ipg-card { min-height: 0; }
	.ipg-card__num { margin-bottom: 48px; }
	.ipg-principle-grid { grid-template-columns: repeat(2, 1fr); }
	.ipg-principle-grid article:nth-child(2n) { border-right: 0; }
	.ipg-principle-grid article:last-child { grid-column: span 2; border-top: 1px solid rgba(255,255,255,.16); }
	.ipg-platform-grid { grid-template-columns: 1fr; }
	.ipg-platform-card--feature { min-height: 560px; grid-row: auto; }
	.ipg-sticky-copy { position: static; }
	.ipg-footer__principles { align-items: flex-start; text-align: left; }
}

@media (max-width: 680px) {
	.ipg-shell { width: min(100% - 30px, 1240px); }
	.ipg-brand img { width: 205px; }
	.ipg-hero {
		min-height: 740px;
		align-items: flex-end;
	}
	.ipg-hero__image {
		background-position: 63% center;
	}
	.ipg-hero__veil {
		background: linear-gradient(0deg, rgba(17,22,16,.96) 0%, rgba(17,22,16,.72) 62%, rgba(17,22,16,.3) 100%);
	}
	.ipg-hero__content {
		padding-top: 140px;
		padding-bottom: 64px;
	}
	.ipg-hero h1 {
		font-size: clamp(54px, 16vw, 78px);
	}
	.ipg-hero__lead { font-size: 17px; }
	.ipg-hero__side-note { display: none; }
	.ipg-intro,
	.ipg-pillars,
	.ipg-platform,
	.ipg-approach,
	.ipg-portfolio,
	.ipg-insights { padding: 78px 0; }
	.ipg-principles { padding: 80px 0 90px; }
	.ipg-intro h2,
	.ipg-pillars h2,
	.ipg-platform h2,
	.ipg-approach h2,
	.ipg-portfolio h2,
	.ipg-insights h2,
	.ipg-contact h2,
	.ipg-principles h2,
	.ipg-asset-management h2 { font-size: clamp(38px, 12vw, 56px); }
	.ipg-grid { gap: 36px; }
	.ipg-principle-grid { grid-template-columns: 1fr; }
	.ipg-principle-grid article,
	.ipg-principle-grid article:nth-child(2n),
	.ipg-principle-grid article:last-child {
		grid-column: auto;
		border-right: 0;
		border-top: 1px solid rgba(255,255,255,.16);
	}
	.ipg-principle-grid article:first-child { border-top: 0; }
	.ipg-principle-grid strong { margin-bottom: 30px; }
	.ipg-platform-card { min-height: 0; padding: 30px; }
	.ipg-platform-card--feature { min-height: 500px; }
	.ipg-card__label { margin-bottom: 70px !important; }
	.ipg-gallery {
		grid-template-columns: 1fr;
		grid-auto-rows: 280px;
	}
	.ipg-gallery__item--1,
	.ipg-gallery__item--2,
	.ipg-gallery__item--3,
	.ipg-gallery__item--4,
	.ipg-gallery__item--5,
	.ipg-gallery__item--6 {
		grid-column: auto;
		grid-row: auto;
	}
	.ipg-contact { min-height: 590px; }
	.ipg-contact__overlay { background: rgba(27,34,26,.78); }
	.ipg-footer__bottom { flex-direction: column; }

    /* Compact mobile rhythm: repeated content uses one-third columns instead of full-width stacking. */
    .ipg-location-teaser__grid,
    .ipg-card-grid--3,
    .ipg-principle-grid,
    .ipg-statements {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
    .ipg-location-teaser article,
    .ipg-card,
    .ipg-principle-grid article,
    .ipg-statements article {
        min-width: 0;
        padding: 18px 10px 20px;
        border-right: 1px solid var(--ipg-line);
        border-top: 0;
        border-bottom: 0;
    }
    .ipg-principle-grid article:last-child {
        grid-column: auto;
        border-top: 0;
    }
    .ipg-location-teaser article:nth-child(3n),
    .ipg-principle-grid article:nth-child(3n),
    .ipg-statements article:nth-child(3n) { border-right: 0; }

    .ipg-location-teaser article span,
    .ipg-card__num,
    .ipg-principle-grid strong,
    .ipg-statements strong {
        margin-bottom: 14px !important;
        font-size: 13px;
    }
    .ipg-location-teaser h3,
    .ipg-card h3,
    .ipg-principle-grid h3,
    .ipg-statements h3 {
        font-size: 17px;
        line-height: 1.08;
        word-break: normal;
    }
    .ipg-location-teaser p,
    .ipg-card p,
    .ipg-principle-grid p,
    .ipg-statements p {
        font-size: 11px;
        line-height: 1.45;
    }

    /* Paired platform/capability blocks stay two-up for legibility. */
    .ipg-platform-duo,
    .ipg-platform-capabilities {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .ipg-platform-brand__visual { min-height: 230px; }
    .ipg-platform-brand__logo-wrap,
    .ipg-platform-brand__logo-wrap--ivd {
        top: 12px;
        left: 12px;
        width: 128px;
        height: 64px;
        padding: 8px 10px;
    }
    .ipg-platform-brand__logo--suites { max-width: 104px; max-height: 40px; }
    .ipg-platform-brand__logo--ivd { max-width: 68px; max-height: 34px; }
    .ipg-platform-brand__verb {
        padding: 0 12px 14px;
        font-size: 42px;
    }
    .ipg-platform-brand__body,
    .ipg-platform-capabilities article {
        padding: 18px 14px 20px;
    }
    .ipg-platform-brand__body .ipg-card__label,
    .ipg-platform-capabilities .ipg-card__label {
        margin-bottom: 18px !important;
        font-size: 8px;
        line-height: 1.4;
    }
    .ipg-platform-brand__body h3,
    .ipg-platform-capabilities h3 {
        font-size: 22px;
        line-height: 1.05;
    }
    .ipg-platform-brand__body > p:not(.ipg-card__label),
    .ipg-platform-capabilities p:not(.ipg-card__label) {
        font-size: 11px;
        line-height: 1.45;
    }

    /* Photography stays visually dense on mobile instead of becoming one very long column. */
    .ipg-photo-wall--home,
    .ipg-photo-wall--suites,
    .ipg-photo-wall--portfolio {
        columns: 3;
        column-gap: 7px;
    }
    .ipg-photo-wall figure { margin-bottom: 7px; }

    /* Editorial cards use thirds; summaries are hidden on the homepage to keep the grid compact. */
    .ipg-insight-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
    .ipg-insight-card__body { padding: 14px 10px 16px; }
    .ipg-insight-card__meta {
        font-size: 7px !important;
        line-height: 1.35;
        letter-spacing: .06em;
        margin-bottom: 8px !important;
    }
    .ipg-insight-card h3 {
        font-size: 16px;
        line-height: 1.08;
        margin-bottom: 10px;
    }
    .ipg-insight-grid--home .ipg-insight-card:nth-child(n+4) {
        display: none;
    }
    .ipg-insight-grid--home .ipg-insight-card__body > p:not(.ipg-insight-card__meta) {
        display: none;
    }
    .ipg-insight-card__body .ipg-text-link {
        font-size: 8px;
        letter-spacing: .04em;
    }
}
