/* ---------- Ideas page ---------- */
.page-intro{ padding-top:clamp(140px,16vw,200px); padding-bottom:clamp(50px,6vw,80px); }
.page-intro .display-xl{ max-width:16ch; margin:22px 0 26px; }

.framework-section{ padding-top:clamp(60px,8vw,100px); padding-bottom:clamp(60px,8vw,100px); }
.framework-copy{ display:flex; flex-direction:column; gap:18px; }
.framework-margin{ align-self:end; background:rgba(255,255,255,0.03); padding:20px; border:1px solid var(--line-on-black); }

.territory-section{ overflow:hidden; }
.territory-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--gutter);
  align-items:center;
}
.territory-media img{ width:100%; height:520px; object-fit:cover; }
.territory-copy{ display:flex; flex-direction:column; gap:16px; max-width:520px; }
.territory-index{ font-family:var(--sans); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.territory-copy .margin-note{ margin-top:8px; padding-top:16px; border-top:1px solid var(--line); }
@media (max-width:900px){
  .territory-grid{ grid-template-columns:1fr; }
  .territory-media img{ height:320px; }
}

.now-section{ text-align:left; }
.now-head{ margin-bottom:36px; }
.now-body{ display:flex; flex-direction:column; gap:16px; max-width:640px; }
.now-note{ margin-top:32px; }

.closing-cta-inner{ display:flex; flex-direction:column; gap:28px; align-items:flex-start; }
