@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{color-scheme:dark;font-family:Manrope,Arial,sans-serif;background:#020806;color:#f3fff8}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#020806}.page{isolation:isolate;position:relative;min-height:100svh;overflow:hidden}.visual{position:absolute;inset:0;z-index:-2;background:#020806}.visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#020806 0%,rgba(2,8,6,.94) 28%,rgba(2,8,6,.46) 58%,rgba(2,8,6,.07)),linear-gradient(0deg,rgba(2,8,6,.83),transparent 48%,rgba(2,8,6,.15))}.visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.02) contrast(1.03)}header{height:92px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(202,255,223,.2);font:500 10px/1 'DM Mono',monospace;letter-spacing:.12em}.brand{font:700 17px/1 Manrope,Arial,sans-serif;letter-spacing:.02em;color:#f3fff8;text-decoration:none}.brand span{font-weight:400;color:#70e7a1}header p{margin:0;color:#a0d9b4}.contact{color:#f3fff8;text-decoration:none}.contact b,.button span{font:400 20px/.5 sans-serif;margin-left:7px}.intro{max-width:670px;padding:clamp(92px,15vh,170px) 24px 30px;margin-left:clamp(0px,12vw,190px)}.label{margin:0 0 24px;color:#7fe7a6;font:500 10px/1.4 'DM Mono',monospace;letter-spacing:.15em}.intro h1{margin:0;font-size:clamp(45px,5.4vw,88px);font-weight:600;letter-spacing:-.067em;line-height:.94}.intro h1 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:#d8ffe5}.copy{max-width:415px;margin:29px 0 31px;color:#d2e8d9;font-size:15px;line-height:1.75}.button{display:inline-flex;align-items:center;gap:26px;padding:16px 19px 16px 21px;border:1px solid rgba(163,255,197,.72);color:#edfff3;text-decoration:none;font:500 10px/1 'DM Mono',monospace;letter-spacing:.1em;background:rgba(8,47,27,.16)}.button:hover{background:#b7ffcf;color:#06200f}footer{position:absolute;left:clamp(24px,5vw,80px);right:clamp(24px,5vw,80px);bottom:28px;display:flex;justify-content:space-between;color:#8fc5a1;font:500 8px/1 'DM Mono',monospace;letter-spacing:.11em}@media(max-width:700px){header{height:72px;padding:0 20px}.brand{font-size:14px}header p{display:none}.contact{font-size:8px}.intro{margin-left:0;padding:clamp(92px,18vh,145px) 24px 24px}.intro h1{font-size:clamp(45px,13vw,62px)}.copy{font-size:14px}footer{left:24px;right:24px;bottom:25px;display:block;font-size:7px;line-height:1.8}footer span+span{display:block}.visual:after{background:linear-gradient(90deg,#020806 0%,rgba(2,8,6,.77) 80%),linear-gradient(0deg,rgba(2,8,6,.87),transparent 62%)}}

/* === Workflow Action Map (deploy 2026-09-21) === */
/* ============================================================
   Workflow Action Map — Creative FROZEN tokens + block styles
   Source: /workspace/blackstone-brand/RESERVEWORKS-WORKFLOW-ACTION-MAP-FROZEN-BRIEF.md
   Append to (or replace sections of) live style.css when Micah unlocks deploy.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --navy: #0B1F3A;
  --clay: #C45C26;
  --off-white: #F7F4EF;
  --text: #1A1A1A;
  --muted: #5C6670;
  --success: #2F6B4F;
  --radius-cta: 13px;
  --font: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* --- Map block surface (homepage insert) --- */
.map-block {
  font-family: var(--font);
  color: var(--text);
  background: var(--off-white);
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 3rem);
  border-top: 1px solid rgba(11, 31, 58, 0.12);
}

.map-block__inner {
  max-width: 720px;
  margin: 0 auto;
}

.map-block__badge {
  display: inline-block;
  margin: 0 0 1rem;
  padding: 0.35rem 0.65rem;
  border: 1px solid var(--navy);
  color: var(--navy);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 999px;
}

.map-block__lockup {
  margin: 0 0 1.25rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--navy);
  letter-spacing: 0.01em;
}

.map-block__lockup span {
  font-weight: 500;
  color: var(--muted);
}

.map-block h2,
.map-block__headline {
  margin: 0 0 1rem;
  font-size: clamp(1.75rem, 4vw, 2.5rem); /* ~28–40px; H1-scale on thin pages use same */
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--text);
}

.map-block__subhead {
  margin: 0 0 1.5rem;
  max-width: 52ch;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--muted);
}

.map-block__ctas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-bottom: 0.75rem;
}

.map-block__price {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--navy);
}

/* Primary CTA — clay fill, white text, sentence case */
.btn-map-primary,
a.btn-map-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 1.35rem;
  background: var(--clay);
  color: #fff !important;
  font-family: var(--font);
  font-size: 1.05rem;
  font-weight: 600;
  text-decoration: none !important;
  border: none;
  border-radius: var(--radius-cta);
  cursor: pointer;
  line-height: 1.2;
}

.btn-map-primary:hover,
a.btn-map-primary:hover {
  filter: brightness(1.05);
}

/* Secondary — navy outline */
.btn-map-secondary,
a.btn-map-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 1.25rem;
  background: transparent;
  color: var(--navy) !important;
  font-family: var(--font);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none !important;
  border: 1.5px solid var(--navy);
  border-radius: var(--radius-cta);
  line-height: 1.2;
}

.btn-map-secondary:hover,
a.btn-map-secondary:hover {
  background: rgba(11, 31, 58, 0.06);
}

.map-block__micro {
  margin: 0 0 1rem;
  font-size: 0.9rem;
  color: var(--muted);
}

.map-block__scope {
  margin: 0 0 1.75rem;
  max-width: 52ch;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--muted);
  border-left: 3px solid var(--navy);
  padding-left: 0.85rem;
}

/* Included / FAQ cards (structure reuse; brand tokens) */
.map-block__included {
  margin-top: 0.5rem;
}

.map-block__included h3 {
  margin: 0 0 0.85rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--navy);
}

.map-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

.map-card {
  background: #fff;
  border: 1px solid rgba(11, 31, 58, 0.14);
  border-radius: 12px;
  padding: 1rem 1.1rem;
}

.map-card h4 {
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--navy);
}

.map-card p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--muted);
}

.map-faq details {
  background: #fff;
  border: 1px solid rgba(11, 31, 58, 0.14);
  border-radius: 10px;
  padding: 0.85rem 1rem;
  margin-bottom: 0.5rem;
}

.map-faq summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--text);
}

.map-faq p {
  margin: 0.5rem 0 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--muted);
}

.map-block__foot {
  margin-top: 1.75rem;
  font-size: 0.8rem;
  color: var(--muted);
}

.map-block__mailto {
  color: var(--navy);
  font-weight: 600;
}

@media (max-width: 600px) {
  .map-block__ctas {
    flex-direction: column;
    align-items: stretch;
  }
  .btn-map-primary,
  .btn-map-secondary,
  a.btn-map-primary,
  a.btn-map-secondary {
    width: 100%;
  }
}

/* --- Thank-you page helpers --- */
.ty-page {
  font-family: var(--font);
  background: var(--off-white);
  color: var(--text);
  min-height: 100svh;
  margin: 0;
}

.ty-wrap {
  max-width: 560px;
  margin: 0 auto;
  padding: clamp(3rem, 12vh, 6rem) 1.5rem 3rem;
}

.ty-ok {
  color: var(--success);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 0.75rem;
}

.ty-page h1 {
  margin: 0 0 1rem;
  font-size: clamp(1.6rem, 4vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.ty-page p {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--muted);
}

.ty-footer {
  margin-top: 2.5rem;
  font-size: 0.8rem;
  color: var(--muted);
}

