:root {
  --obsidian: #101010;
  --oxblood: #6E1026;
  --gold: #B89452;
  --limestone: #EAE3D8;
  --porcelain: #F8F5F0;
  --ink-soft: #5B5A58;
  --line: rgba(16,16,16,.14);
  --line-light: rgba(248,245,240,.2);
  --max: 1440px;
  --gutter: clamp(1.1rem, 3vw, 3.2rem);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--obsidian); background: var(--porcelain); font-family: var(--sans); overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--gold); color: var(--obsidian); }

.site-shell { min-height: 100vh; }
.container { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.eyebrow { margin: 0 0 1rem; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; }
.display { margin: 0; font-family: var(--serif); font-size: clamp(3rem, 7vw, 7.6rem); line-height: .89; font-weight: 400; letter-spacing: -.065em; }
.display--medium { font-size: clamp(2.75rem, 5.4vw, 5.9rem); }
.display--small { font-size: clamp(2.45rem, 4.25vw, 4.8rem); }
.body-copy { max-width: 41rem; color: var(--ink-soft); font-size: clamp(1rem, 1.25vw, 1.2rem); line-height: 1.65; }
.body-copy.light { color: rgba(248,245,240,.74); }

.site-header { position: absolute; top: 0; z-index: 20; width: 100%; color: var(--porcelain); border-bottom: 1px solid rgba(248,245,240,.15); }
.site-header.inner { position: relative; color: var(--obsidian); border-bottom: 1px solid var(--line); background: var(--porcelain); }
.header-inner { display: flex; justify-content: space-between; align-items: center; min-height: 84px; gap: 1rem; }
.logo { display: inline-flex; align-items: center; width: min(350px, 34vw); color: currentColor; }
.logo svg { width: 100%; height: auto; }
.nav-desktop { display: flex; align-items: center; gap: clamp(1rem, 1.7vw, 1.7rem); font-size: .71rem; text-transform: uppercase; font-weight: 650; letter-spacing: .13em; }
.nav-desktop a { opacity: .8; transition: opacity .2s ease, color .2s ease; }
.nav-desktop a:hover, .nav-desktop a.active { opacity: 1; color: var(--gold); }
.menu-toggle { display: none; min-width: 44px; min-height: 44px; border: 1px solid currentColor; border-radius: 50%; background: transparent; color: inherit; align-items: center; justify-content: center; }
.menu-toggle span, .menu-toggle::before, .menu-toggle::after { content: ''; width: 15px; height: 1px; background: currentColor; display: block; }
.menu-toggle span { margin: 4px 0; }

.mobile-menu { position: fixed; inset: 0; z-index: 99; padding: 1.5rem var(--gutter); background: var(--obsidian); color: var(--porcelain); opacity: 0; visibility: hidden; transform: translateY(-1%); transition: opacity .28s ease, transform .28s ease, visibility .28s ease; }
.mobile-menu.open { opacity: 1; visibility: visible; transform: translateY(0); }
.mobile-menu-top { display: flex; align-items: center; justify-content: space-between; }
.mobile-menu-logo { width: 240px; }
.mobile-close { display: grid; place-items: center; width: 45px; height: 45px; color: var(--porcelain); border: 1px solid rgba(248,245,240,.45); border-radius: 50%; background: transparent; font-size: 1.6rem; line-height: 1; }
.mobile-menu nav { display: grid; gap: .85rem; padding-top: 7vh; }
.mobile-menu nav a { font-family: var(--serif); font-size: clamp(2.2rem, 9vw, 4.5rem); letter-spacing: -.05em; }
.mobile-menu .contact-mini { position: absolute; left: var(--gutter); bottom: 2rem; right: var(--gutter); display: flex; justify-content: space-between; color: rgba(248,245,240,.65); font-size: .74rem; text-transform: uppercase; letter-spacing: .12em; }

.hero { position: relative; min-height: min(850px, 95vh); display: flex; align-items: end; color: var(--porcelain); background: var(--obsidian); overflow: hidden; }
.hero-media { position: absolute; inset: 0; background: var(--obsidian); }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .94; }
.hero::after { content:''; position:absolute; inset:0; background: linear-gradient(90deg, rgba(16,16,16,.78) 0%, rgba(16,16,16,.43) 42%, rgba(16,16,16,.12) 80%), linear-gradient(0deg, rgba(16,16,16,.73) 0%, transparent 44%); }
.hero-content { position: relative; z-index: 2; width: 100%; padding: 11rem 0 3rem; }
.hero-grid { display: grid; grid-template-columns: 1.15fr .5fr; align-items: end; gap: 2rem; }
.hero-subline { max-width: 19rem; margin: 1.6rem 0 0; color: rgba(248,245,240,.72); line-height: 1.55; }
.hero-actions { display: flex; justify-content: flex-end; gap: .75rem; flex-wrap: wrap; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 52px; padding: .8rem 1.2rem; border: 1px solid transparent; font-size: .71rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; transition: .25s ease; }
.btn::after { content: '↗'; font-size: 1rem; line-height: 1; transition: transform .25s ease; }
.btn:hover::after { transform: translate(2px,-2px); }
.btn--gold { color: var(--obsidian); background: var(--gold); border-color: var(--gold); }
.btn--gold:hover { background: #d0ae70; border-color: #d0ae70; }
.btn--light { color: var(--porcelain); border-color: rgba(248,245,240,.65); background: rgba(16,16,16,.08); backdrop-filter: blur(10px); }
.btn--light:hover { color: var(--obsidian); background: var(--porcelain); }
.btn--dark { color: var(--porcelain); border-color: var(--obsidian); background: var(--obsidian); }
.btn--dark:hover { color: var(--obsidian); background: transparent; }
.btn--outline { color: var(--obsidian); border-color: rgba(16,16,16,.42); background: transparent; }
.btn--outline:hover { color: var(--porcelain); border-color: var(--obsidian); background: var(--obsidian); }
.btn.no-arrow::after { display: none; }

.hero-meta { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-top: clamp(4rem, 9vw, 8rem); border-top: 1px solid var(--line-light); padding-top: 1.15rem; font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; color: rgba(248,245,240,.68); }
.hero-meta strong { color: var(--gold); font-weight: 700; }

.scroll-cue { display: flex; gap: .7rem; align-items: center; }
.scroll-cue span { display: block; width: 28px; height: 1px; background: var(--gold); }

.intro-section { padding: clamp(5.4rem, 11vw, 11rem) 0; background: var(--porcelain); }
.intro-grid { display: grid; grid-template-columns: .6fr 1.1fr; gap: clamp(2rem, 8vw, 10rem); }
.intro-grid .display { max-width: 14ch; }
.intro-right { padding-top: .5rem; }
.intro-right .body-copy { margin: 0 0 2rem; }
.rule { width: 64px; height: 1px; margin: 2.4rem 0; background: var(--gold); }

.stat-strip { background: var(--limestone); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.stat { padding: 2.2rem 0; border-right: 1px solid var(--line); text-align: center; }
.stat:last-child { border: none; }
.stat .number { display: block; font-family: var(--serif); font-size: clamp(2rem, 3.5vw, 3.6rem); letter-spacing: -.05em; }
.stat .label { display: block; margin-top: .45rem; font-size: .65rem; letter-spacing: .15em; text-transform: uppercase; color: var(--ink-soft); }

.split-showcase { display: grid; grid-template-columns: 1fr 1fr; min-height: 630px; }
.showcase-visual { position: relative; overflow: hidden; background: var(--oxblood); }
.showcase-visual img { width: 100%; height: 100%; min-height: 100%; object-fit: cover; }
.showcase-visual .small-mark { position: absolute; left: var(--gutter); top: 2.2rem; width: 68px; color: var(--porcelain); opacity: .94; }
.showcase-copy { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(2.3rem, 5vw, 5.2rem); color: var(--porcelain); background: var(--obsidian); }
.showcase-copy .body-copy { margin: 2rem 0 2.6rem; }
.showcase-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.1rem; border-top: 1px solid var(--line-light); color: rgba(248,245,240,.7); font-size: .71rem; letter-spacing: .12em; text-transform: uppercase; }

.services { padding: clamp(5.4rem, 10vw, 10rem) 0; background: var(--porcelain); }
.section-top { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: clamp(2.5rem, 6vw, 5.5rem); }
.section-top .display { max-width: 12ch; }
.section-top .body-copy { margin: 0; }
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-card { position: relative; min-height: 290px; padding: 1.55rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: color .28s ease, background .28s ease; overflow: hidden; }
.service-card::after { content: ''; position: absolute; width: 180px; height: 180px; right: -60px; bottom: -85px; border: 1px solid currentColor; border-radius: 50%; opacity: .16; transition: transform .3s ease; }
.service-card:hover { color: var(--porcelain); background: var(--oxblood); }
.service-card:hover::after { transform: scale(1.25); }
.service-number { font-family: var(--serif); font-size: 1.25rem; opacity: .58; }
.service-title { margin: 4.5rem 0 0; max-width: 8ch; font-family: var(--serif); font-size: clamp(1.8rem, 2.5vw, 2.7rem); letter-spacing: -.05em; line-height: .93; font-weight: 400; }
.service-card p { position: relative; z-index: 1; max-width: 17rem; margin: 1.1rem 0 0; font-size: .88rem; line-height: 1.6; opacity: .75; }
.service-link { position: absolute; right: 1.55rem; top: 1.45rem; font-size: 1.5rem; }

.regions { background: var(--limestone); padding: clamp(5.4rem, 10vw, 10rem) 0; }
.region-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); }
.region-card { position: relative; min-height: 430px; overflow: hidden; background: var(--porcelain); }
.region-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.region-card:hover img { transform: scale(1.03); }
.region-panel { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.6rem; color: var(--porcelain); background: linear-gradient(0deg, rgba(16,16,16,.88), rgba(16,16,16,0)); }
.region-panel h3 { margin: 0; font-family: var(--serif); font-size: 2.15rem; letter-spacing: -.05em; font-weight: 400; }
.region-panel p { margin: .35rem 0 0; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; opacity: .78; }

.cta-panel { position: relative; color: var(--porcelain); background: var(--oxblood); overflow: hidden; }
.cta-panel::before { content: ''; position: absolute; width: min(65vw,850px); aspect-ratio: 1; right: -20%; top: -34%; border: 1px solid rgba(248,245,240,.24); border-radius: 50%; }
.cta-panel::after { content: 'JD'; position: absolute; right: 3vw; bottom: -10%; color: rgba(248,245,240,.07); font-family: var(--serif); font-size: clamp(15rem, 43vw, 43rem); letter-spacing: -.18em; line-height: 1; }
.cta-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr .75fr; gap: 3rem; padding: clamp(5.2rem, 9vw, 9rem) 0; }
.cta-copy .body-copy { margin: 1.5rem 0 2.35rem; }
.mailing-form { display: grid; align-content: end; gap: .8rem; }
.mailing-form label { font-size: .68rem; text-transform: uppercase; font-weight: 700; letter-spacing: .16em; }
.input-row { display: flex; gap: .7rem; border-bottom: 1px solid rgba(248,245,240,.58); padding-bottom: .55rem; }
.input-row input { flex: 1; min-width: 0; border: 0; outline: 0; color: var(--porcelain); background: transparent; font-size: 1rem; }
.input-row input::placeholder { color: rgba(248,245,240,.54); }
.input-row button { min-width: 45px; border: none; color: var(--obsidian); background: var(--gold); }
.form-note { margin: .5rem 0 0; color: rgba(248,245,240,.54); font-size: .72rem; line-height: 1.5; }

.site-footer { color: var(--porcelain); background: var(--obsidian); }
.footer-top { display: grid; grid-template-columns: 1.2fr .7fr .7fr; gap: 2rem; padding: 4rem 0 3rem; }
.footer-logo { width: min(360px, 100%); }
.footer-description { max-width: 25rem; margin: 1.4rem 0 0; color: rgba(248,245,240,.62); line-height: 1.65; }
.footer-title { margin: 0 0 1.1rem; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.footer-links { display: grid; gap: .6rem; color: rgba(248,245,240,.72); font-size: .9rem; }
.footer-links a:hover { color: var(--gold); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 0; border-top: 1px solid var(--line-light); font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(248,245,240,.48); }

.inner-hero { position: relative; min-height: 510px; display: flex; align-items: end; color: var(--porcelain); overflow: hidden; background: var(--obsidian); }
.inner-hero.oxblood { background: var(--oxblood); }
.inner-hero.media { background: var(--obsidian); }
.inner-hero-media { position: absolute; inset: 0; }
.inner-hero-media img { width:100%; height:100%; object-fit:cover; opacity:.78; }
.inner-hero::after { content:''; position:absolute; inset:0; background: linear-gradient(90deg, rgba(16,16,16,.82), rgba(16,16,16,.2)); }
.inner-hero.oxblood::after { background: radial-gradient(circle at 82% 15%, rgba(184,148,82,.33), transparent 37%), linear-gradient(90deg, rgba(110,16,38,.45), rgba(16,16,16,.25)); }
.inner-hero-content { position: relative; z-index: 1; width: 100%; padding: 5.5rem 0 3rem; }
.inner-hero-content .body-copy { margin: 1.35rem 0 0; }

.editorial { padding: clamp(5rem, 10vw, 9.6rem) 0; background: var(--porcelain); }
.editorial-grid { display: grid; grid-template-columns: .55fr 1fr; gap: clamp(2rem, 7vw, 9rem); }
.editorial-grid .sticky-label { padding-top: .6rem; }
.editorial-copy { display: grid; gap: 3rem; }
.editorial-copy .lead { max-width: 38rem; margin: 0; font-family: var(--serif); font-size: clamp(2rem, 3.45vw, 3.6rem); line-height: .97; letter-spacing: -.058em; }
.editorial-copy p { max-width: 42rem; margin: 0; color: var(--ink-soft); font-size: 1.02rem; line-height: 1.7; }

.process { background: var(--limestone); padding: clamp(5rem,10vw,9rem) 0; }
.process-list { border-top:1px solid var(--line); }
.process-item { display:grid; grid-template-columns: .15fr .55fr 1fr; gap: 1.2rem; padding: 1.65rem 0; border-bottom: 1px solid var(--line); }
.process-item .step { color: var(--oxblood); font-size: .73rem; letter-spacing: .14em; font-weight:700; }
.process-item h3 { margin:0; font-family:var(--serif); font-size: clamp(1.55rem, 2.3vw, 2.2rem); letter-spacing:-.04em; font-weight:400; }
.process-item p { margin:0; max-width: 31rem; color:var(--ink-soft); line-height:1.6; }

.cards { display:grid; grid-template-columns: repeat(3,1fr); gap:1rem; }
.image-card { overflow:hidden; background:var(--limestone); }
.image-card img { width:100%; aspect-ratio: 1.14 / 1; object-fit:cover; transition: transform .4s ease; }
.image-card:hover img { transform:scale(1.04); }
.image-card-content { padding:1.25rem 0 0; }
.image-card-content h3 { margin:0; font-family:var(--serif); font-size:1.75rem; letter-spacing:-.045em; font-weight:400; }
.image-card-content p { margin:.6rem 0 0; color:var(--ink-soft); font-size:.9rem; line-height:1.6; }
.tag { display:inline-flex; align-items:center; height:25px; padding:0 .65rem; color:var(--oxblood); border:1px solid rgba(110,16,38,.34); font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

.property-spotlight { display:grid; grid-template-columns: 1.05fr .95fr; margin-top: 3rem; background:var(--obsidian); color:var(--porcelain); }
.property-spotlight img { width:100%; height:100%; min-height: 480px; object-fit:cover; }
.property-info { display:flex; flex-direction:column; justify-content:space-between; padding: clamp(2.2rem,4vw,4rem); }
.property-info h3 { margin:0; font-family:var(--serif); font-size:clamp(2.5rem,4vw,4.25rem); letter-spacing:-.06em; line-height:.91; font-weight:400; }
.property-info p { max-width:27rem; color:rgba(248,245,240,.68); line-height:1.65; }
.property-bullets { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; border-top:1px solid var(--line-light); padding-top:1.4rem; }
.property-bullets span { font-size:.66rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(248,245,240,.6); }
.property-bullets b { display:block; margin-top:.45rem; color:var(--porcelain); font-family:var(--serif); font-size:1.2rem; letter-spacing:-.03em; font-weight:400; }

.team-panel { display:grid; grid-template-columns: 1fr 1fr; min-height: 620px; color:var(--porcelain); background:var(--obsidian); }
.team-portrait { position:relative; background:linear-gradient(155deg,#2A2724,#0D0D0D); overflow:hidden; }
.team-portrait::before { content:''; position:absolute; width:60%; aspect-ratio:1; left:14%; top:16%; border:1px solid rgba(248,245,240,.17); border-radius:50%; }
.team-portrait::after { content:'MMI'; position:absolute; left:10%; bottom:-10%; color:rgba(248,245,240,.08); font-family:var(--serif); font-size:clamp(9rem,18vw,18rem); letter-spacing:-.13em; }
.team-portrait .portrait-caption { position:absolute; z-index:1; left:var(--gutter); right:2rem; bottom:2rem; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(248,245,240,.58); }
.team-copy { padding: clamp(2.3rem,5vw,5rem); display:flex; flex-direction:column; justify-content:center; }
.team-copy .body-copy { margin: 1.6rem 0 0; }

.contact-layout { display:grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem,6vw,7rem); align-items:start; }
.contact-details { display:grid; gap:1.6rem; }
.contact-detail { padding-bottom:1.25rem; border-bottom:1px solid var(--line); }
.contact-detail small { display:block; margin-bottom:.55rem; color:var(--oxblood); font-size:.64rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.contact-detail p, .contact-detail a { margin:0; font-family:var(--serif); font-size:clamp(1.35rem,2vw,1.8rem); letter-spacing:-.04em; line-height:1.2; }
.form-panel { padding: clamp(1.4rem,3.5vw,3rem); color:var(--porcelain); background:var(--obsidian); }
.form-panel h2 { margin:0; font-family:var(--serif); font-size:clamp(2.4rem,4vw,4rem); letter-spacing:-.06em; line-height:.9; font-weight:400; }
.form-panel p { max-width:30rem; color:rgba(248,245,240,.68); line-height:1.6; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field { display:grid; gap:.5rem; margin-top:1.1rem; }
.field.full { grid-column:1 / -1; }
.field label { color:var(--gold); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; font-weight:750; }
.field input, .field select, .field textarea { width:100%; padding:.6rem 0 .8rem; border:none; border-bottom:1px solid rgba(248,245,240,.34); outline:none; color:var(--porcelain); background:transparent; resize:vertical; }
.field select { color-scheme: dark; }
.field textarea { min-height:92px; }
.form-panel .btn { margin-top:1.5rem; }

.journal-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap:1px; background:var(--line); }
.journal-feature { min-height:550px; padding: clamp(2rem,4vw,4.2rem); background:var(--obsidian); color:var(--porcelain); display:flex; flex-direction:column; justify-content:end; }
.journal-feature h2 { margin:1rem 0; font-family:var(--serif); font-size:clamp(3rem,5vw,5rem); line-height:.88; letter-spacing:-.065em; font-weight:400; }
.journal-feature p { max-width:26rem; color:rgba(248,245,240,.66); line-height:1.6; }
.journal-list { display:grid; background:var(--porcelain); }
.journal-item { display:grid; grid-template-columns:.2fr 1fr auto; gap:1.2rem; align-items:center; padding:1.5rem; border-bottom:1px solid var(--line); }
.journal-item:last-child { border-bottom:0; }
.journal-item .date { color:var(--oxblood); font-size:.65rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.journal-item h3 { margin:0; font-family:var(--serif); font-size:clamp(1.45rem,2.4vw,2.4rem); line-height:.95; letter-spacing:-.05em; font-weight:400; }
.journal-item a { font-size:1.4rem; }

.notice { padding: 1rem 1.2rem; color:var(--obsidian); background:var(--limestone); border-left:2px solid var(--gold); font-size:.9rem; line-height:1.5; }

@media (max-width: 980px) {
  .nav-desktop { display:none; }
  .menu-toggle { display:flex; }
  .hero-grid, .cta-inner, .intro-grid, .editorial-grid, .contact-layout { grid-template-columns:1fr; }
  .hero-actions { justify-content:flex-start; }
  .hero { min-height: 720px; }
  .intro-grid { gap:2.2rem; }
  .split-showcase, .team-panel, .property-spotlight { grid-template-columns:1fr; }
  .showcase-visual { min-height:440px; }
  .showcase-visual img { min-height:440px; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .footer-top { grid-template-columns: 1.2fr 1fr; }
  .footer-top > :first-child { grid-column:1/-1; }
  .team-portrait { min-height:400px; }
  .property-spotlight img { min-height:360px; }
}

@media (max-width: 650px) {
  .header-inner { min-height:72px; }
  .logo { width:230px; }
  .display { font-size:clamp(3.25rem,14vw,5.2rem); }
  .hero-content { padding-top:8rem; padding-bottom:2rem; }
  .hero-meta { margin-top:3.2rem; align-items:flex-start; flex-direction:column; gap:.7rem; }
  .btn { width:100%; }
  .hero-actions { width:100%; }
  .intro-section, .services, .regions, .editorial, .process { padding:4.7rem 0; }
  .stat-grid { grid-template-columns:1fr; }
  .stat { border-right:none; border-bottom:1px solid var(--line); }
  .stat:last-child { border-bottom:0; }
  .showcase-visual, .showcase-visual img { min-height:340px; }
  .section-top { display:block; }
  .section-top .body-copy { margin-top:1.5rem; }
  .service-grid, .region-grid, .cards, .field-grid, .property-bullets { grid-template-columns:1fr; }
  .service-card { min-height:240px; }
  .region-card { min-height:330px; }
  .cta-inner { gap:2.4rem; }
  .input-row { align-items:center; }
  .footer-top { grid-template-columns:1fr; gap:2rem; }
  .footer-top > :first-child { grid-column:auto; }
  .footer-bottom { align-items:flex-start; flex-direction:column; }
  .inner-hero { min-height:440px; }
  .process-item { grid-template-columns:.18fr 1fr; }
  .process-item p { grid-column:2; }
  .journal-grid { grid-template-columns:1fr; }
  .journal-feature { min-height:430px; }
  .journal-item { grid-template-columns:.22fr 1fr auto; }
  .property-info { min-height:450px; }
}
.showcase-visual .small-mark { filter: none; }
