/**
 * Arborstone acquisition release layout.
 * Loaded only on single posts flagged _arbor_release_layout = 1.
 * Values are the Arborstone design-system tokens; no green anywhere.
 */

.arbor-release {
  --r-navy: #003A60;
  --r-deep: #002A48;
  --r-sky: #8FC0E0;
  --r-skyd: #4A8BB8;
  --r-ink: #1A1A1A;
  --r-body: #444;
  --r-muted: #6B7280;
  --r-line: #E5E7EB;
  --r-tint: #E6EEF4;
  --r-page: #F5F7FA;
}
.arbor-release * { box-sizing: border-box; }
.arbor-release .r-inner { max-width: 1320px; margin: 0 auto; }
.arbor-release .r-block { padding: 80px 32px; }
.arbor-release .r-tint { background: var(--r-page); }
.arbor-release h2 { color: var(--r-navy); }

/* Hero */
.arbor-release .r-hero {
  padding: 88px 32px;
  background:
    linear-gradient(135deg, rgba(0,58,96,.92) 0%, rgba(0,42,72,.96) 100%),
    linear-gradient(180deg, #004A7A 0%, #002A48 100%);
}
.arbor-release .r-hero-eyebrow {
  margin: 0 0 18px; font-size: 12px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; color: var(--r-sky);
}
.arbor-release .r-hero h1 {
  margin: 0 0 20px; font-size: clamp(38px, 5vw, 64px); line-height: 1.02;
  font-weight: 800; letter-spacing: -.5px; text-transform: uppercase; color: #fff;
}
.arbor-release .r-hero h1 .r-accent { display: block; color: var(--r-sky); }
.arbor-release .r-hero-lede {
  margin: 0 0 10px; max-width: 640px; font-size: 20px;
  line-height: 1.5; font-weight: 500; color: #fff;
}
.arbor-release .r-hero-sub {
  margin: 0 0 32px; max-width: 640px; font-size: 16px; line-height: 1.6; color: #EAF1F6;
}
.arbor-release .r-hero-cta { display: flex; flex-wrap: wrap; gap: 14px; }
.arbor-release a.r-btn {
  display: inline-block; padding: 14px 28px; border-radius: 6px;
  font-size: 15px; font-weight: 700; text-decoration: none;
}
.arbor-release a.r-btn-invert { background: #fff; color: var(--r-navy); }
.arbor-release a.r-btn-invert:hover { background: #EAF1F6; color: var(--r-deep); }
.arbor-release a.r-btn-outline { border: 2px solid rgba(255,255,255,.55); color: #fff; }
.arbor-release a.r-btn-outline:hover { background: rgba(255,255,255,.10); color: #fff; }

/* Release body: prose + at-a-glance rail */
.arbor-release .r-two { display: flex; gap: 56px; align-items: flex-start; }
.arbor-release .r-prose { flex-grow: 1; max-width: 660px; }
.arbor-release .r-dateline {
  margin: 0 0 26px; font-size: 13px; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase; color: var(--r-muted);
}
.arbor-release .r-prose h2 { margin: 0 0 22px; font-size: 32px; line-height: 1.25; font-weight: 700; }
.arbor-release .r-prose p { margin: 0 0 20px; font-size: 17px; line-height: 1.7; color: var(--r-body); }
.arbor-release .r-quote {
  margin: 0 0 28px; padding: 30px 34px; background: var(--r-tint);
  border: 0; border-radius: 12px;
}
.arbor-release .r-quote p {
  margin: 0 0 14px; font-size: 19px; line-height: 1.55; font-weight: 500; color: var(--r-navy);
}
.arbor-release .r-quote cite {
  display: block; font-style: normal; font-size: 14px; font-weight: 600; color: #5A6B7B;
}

.arbor-release .r-rail {
  width: 400px; flex-shrink: 0; padding: 30px 32px; background: #fff;
  border: 1px solid var(--r-line); border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0,42,72,.06);
}
.arbor-release .r-rail-title {
  margin: 0 0 18px; font-size: 12px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; color: var(--r-skyd);
}
.arbor-release .r-rail dl { margin: 0; }
.arbor-release .r-rail .r-row { padding: 13px 0; border-bottom: 1px solid var(--r-line); }
.arbor-release .r-rail .r-row:last-child { border-bottom: 0; }
.arbor-release .r-rail dt { margin: 0; font-size: 13px; font-weight: 600; color: var(--r-muted); }
.arbor-release .r-rail dd { margin: 3px 0 0; font-size: 16px; font-weight: 600; color: var(--r-ink); }

/* Facility photo */
.arbor-release .r-figure { margin: 0; padding: 0 32px 72px; }
.arbor-release .r-figure img {
  display: block; width: 100%; max-width: 1320px; height: 620px;
  margin: 0 auto; object-fit: cover; border-radius: 12px;
}

/* Section heads */
.arbor-release .r-head { margin: 0 0 40px; text-align: center; }
.arbor-release .r-kicker {
  margin: 0 0 12px; font-size: 12px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; color: var(--r-skyd);
}
.arbor-release .r-head h2 {
  margin: 0 0 14px; font-size: clamp(28px, 3.5vw, 40px); line-height: 1.15; font-weight: 700;
}
.arbor-release .r-head p { margin: 0 auto; max-width: 640px; font-size: 17px; line-height: 1.6; color: var(--r-body); }
.arbor-release .r-head-left { text-align: left; }
.arbor-release .r-head-left p { margin: 0; }

/* Size cards */
.arbor-release .r-cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
/* A property with only two size groups (no parking, no climate mix) gets a two
   up row rather than a 3-col grid with an empty third cell. Modifier sits AFTER
   its base: source order beats specificity here, and a modifier above its base
   is dead. */
.arbor-release .r-cards[data-count="2"] { grid-template-columns: repeat(2, minmax(0,1fr)); max-width: 872px; margin-left: auto; margin-right: auto; }
.arbor-release .r-card {
  background: #fff; border: 1px solid var(--r-line); border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0,42,72,.06); overflow: hidden;
}
.arbor-release .r-card-media {
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, #E7EEF6, #C9DBEB);
  display: flex; align-items: center; justify-content: center;
}
.arbor-release .r-card-media img {
  width: 100%; height: 100%; margin: 0; display: block; object-fit: contain; padding: 18px;
}
.arbor-release .r-card-body { padding: 24px; }
.arbor-release .r-card-body h3 { margin: 0 0 10px; font-size: 20px; font-weight: 700; color: var(--r-navy); }
.arbor-release .r-card-body p { margin: 0 0 16px; font-size: 15px; line-height: 1.55; color: var(--r-body); }
.arbor-release .r-meta {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; padding-top: 14px; border-top: 1px solid var(--r-line);
}
.arbor-release .r-badge {
  display: inline-block; padding: 5px 12px; border-radius: 999px;
  background: var(--r-tint); font-size: 12px; font-weight: 700; color: var(--r-navy);
}
.arbor-release .r-price { font-size: 18px; font-weight: 700; color: var(--r-navy); }

/* Card title and price links. The card is a dense block already, so these inherit
   their colour and carry no underline until hover -- a default blue underline on
   the size heading and the price reads as an error, not a link. */
.arbor-release .r-card-body h3 a,
.arbor-release .r-price a { color: inherit; text-decoration: none; }
.arbor-release .r-card-body h3 a:hover,
.arbor-release .r-price a:hover { text-decoration: underline; }

/* Check list */
.arbor-release ul.r-checks { list-style: none; margin: 22px 0 0; padding: 0; max-width: 640px; }
.arbor-release ul.r-checks li {
  position: relative; margin: 0 0 13px; padding-left: 32px;
  font-size: 16px; line-height: 1.6; color: var(--r-body);
}
.arbor-release ul.r-checks li::before {
  content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px;
  background: no-repeat center / 20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003A60' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

/* Boilerplate + media contact */
.arbor-release .r-foot { display: flex; gap: 56px; align-items: flex-start; }
.arbor-release .r-foot h3 {
  margin: 0 0 14px; font-size: 12px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; color: var(--r-skyd);
}
.arbor-release .r-foot p { margin: 0; font-size: 16px; line-height: 1.7; color: var(--r-body); }
.arbor-release .r-foot-about { flex-grow: 1; max-width: 640px; }
.arbor-release .r-foot-contact { width: 400px; flex-shrink: 0; }
.arbor-release .r-foot-contact p { line-height: 1.8; }

@media (max-width: 980px) {
  .arbor-release .r-block { padding: 56px 20px; }
  .arbor-release .r-hero { padding: 64px 20px; }
  .arbor-release .r-two,
  .arbor-release .r-foot { display: block; }
  .arbor-release .r-rail,
  .arbor-release .r-foot-contact { width: auto; margin-top: 32px; }
  .arbor-release .r-cards { grid-template-columns: minmax(0,1fr); }
  .arbor-release .r-figure { padding: 0 20px 48px; }
  .arbor-release .r-figure img { height: 320px; }
}
