:root {
  --ink: #172b2b;
  --ink-soft: #5e6f6c;
  --cream: #f6f5ef;
  --paper: #fffefa;
  --line: #dce2dc;
  --forest: #0e6157;
  --forest-dark: #0a403b;
  --mint: #c8e8d8;
  --sage: #e7f1e9;
  --coral: #e26d52;
  --coral-dark: #bc513a;
  --sun: #f4c663;
  --blue: #d8edf1;
  --danger: #b64d40;
  --shadow: 0 18px 52px rgba(31, 54, 49, 0.1);
  --soft-shadow: 0 8px 24px rgba(31, 54, 49, 0.07);
  --radius: 22px;
  --serif: "Inter", "Segoe UI", Arial, sans-serif;
  --sans: "Inter", "Segoe UI", Arial, sans-serif;
  --mono: "Inter", "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .54; }
a { color: inherit; text-decoration: none; }

.site-shell { min-height: 100vh; overflow: hidden; }
.container { width: min(1180px, calc(100% - 44px)); margin: 0 auto; }
.site-nav {
  display: flex; align-items: center; justify-content: space-between;
  height: 82px; gap: 24px; position: relative; z-index: 10;
}
.brand { display: inline-flex; align-items: center; gap: 9px; padding: 0; border: 0; background: transparent; font-weight: 800; font-size: 22px; letter-spacing: -1.2px; }
.brand-mark { position: relative; width: 27px; height: 27px; border-radius: 8px; background: var(--forest); overflow: hidden; display: inline-block; }
.brand-mark::before { content: ""; position: absolute; background: var(--mint); width: 17px; height: 17px; border-radius: 50%; left: 9px; top: -3px; }
.brand-mark::after { content: ""; position: absolute; background: var(--coral); width: 12px; height: 12px; border-radius: 3px; left: 3px; bottom: 3px; }
.brand i { color: var(--forest); font-style: normal; }
.nav-links { display: flex; gap: 27px; align-items: center; font-size: 13px; font-weight: 700; color: #44534f; }
.nav-links a { transition: color .2s ease; }
.nav-links a:hover { color: var(--forest); }
.nav-actions { display: flex; align-items: center; gap: 11px; }
.nav-signin { border: 0; background: transparent; color: var(--ink); padding: 10px 8px; font-size: 13px; font-weight: 700; }
.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 43px;
  padding: 0 17px; border-radius: 12px; border: 1px solid transparent; font-weight: 800;
  font-size: 13px; transition: transform .18s ease, background .18s ease, border .18s ease, box-shadow .18s ease;
}
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button-primary { color: #fff; background: var(--coral); box-shadow: 0 8px 16px rgba(226, 109, 82, .2); }
.button-primary:hover:not(:disabled) { background: var(--coral-dark); }
.button-forest { color: #fff; background: var(--forest); box-shadow: 0 8px 16px rgba(14, 97, 87, .17); }
.button-forest:hover:not(:disabled) { background: var(--forest-dark); }
.button-outline { color: var(--forest); background: rgba(255,255,255,.55); border-color: #bdd2c7; }
.button-outline:hover:not(:disabled) { border-color: var(--forest); background: #fff; }
.button-plain { color: var(--forest); background: transparent; border-color: transparent; padding-left: 4px; padding-right: 4px; }
.button-plain:hover:not(:disabled) { color: var(--coral-dark); }
.button-small { min-height: 36px; padding: 0 12px; font-size: 12px; border-radius: 10px; }
.icon-arrow { font-size: 18px; line-height: 1; transform: translateY(-1px); }

.home-hero { padding: 52px 0 82px; position: relative; }
.home-hero::before { content: ""; position: absolute; width: 780px; height: 780px; right: -280px; top: -310px; background: #e4efde; border-radius: 50%; z-index: -1; }
.home-hero::after { content: ""; position: absolute; width: 190px; height: 190px; left: -108px; top: 355px; background: #f4dfb8; border-radius: 50%; z-index: -1; }
.hero-grid { display: grid; grid-template-columns: minmax(0, .96fr) minmax(470px, 1.04fr); gap: 52px; align-items: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 11px; text-transform: uppercase; letter-spacing: .11em; color: var(--forest); }
.eyebrow-dot { width: 8px; height: 8px; background: var(--coral); border-radius: 50%; }
.hero-copy h1 { margin: 16px 0 21px; max-width: 600px; font-family: var(--serif); font-size: clamp(54px, 6vw, 79px); font-weight: 600; line-height: .94; letter-spacing: -3.5px; }
.hero-copy h1 em { color: var(--forest); font-style: italic; }
.hero-copy > p { max-width: 510px; color: var(--ink-soft); font-size: 16px; line-height: 1.75; margin: 0; }
.hero-cta-row { display: flex; align-items: center; gap: 16px; margin: 30px 0 35px; }
.hero-cta-row .button { min-height: 51px; padding: 0 20px; }
.quiet-link { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 800; color: var(--forest); background: transparent; border: none; padding: 10px 0; }
.quiet-link:hover { color: var(--coral-dark); }
.hero-trust { display: flex; align-items: center; gap: 17px; color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.avatar-stack { display: flex; padding-left: 5px; }
.avatar-stack span { width: 27px; height: 27px; display: inline-flex; align-items: center; justify-content: center; margin-left: -5px; border: 2px solid var(--cream); border-radius: 50%; color: #fff; font-size: 8px; font-weight: 800; }
.avatar-stack span:nth-child(1) { background: #3c8274; }
.avatar-stack span:nth-child(2) { background: #d58b62; }
.avatar-stack span:nth-child(3) { background: #687fbb; }
.trust-stars { color: #d38f21; letter-spacing: 1px; font-size: 14px; }

.hero-visual { position: relative; padding: 8px 16px 26px 0; }
.hero-project-card { position: relative; padding: 27px; min-height: 442px; background: var(--paper); border: 1px solid rgba(151, 175, 164, .5); border-radius: 27px; box-shadow: var(--shadow); }
.hero-project-card::before { content: ""; position: absolute; inset: 10px -12px -12px 16px; border-radius: 27px; background: var(--mint); z-index: -1; }
.micro-label { font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: #74847f; }
.project-visual-head { display: flex; align-items: start; justify-content: space-between; margin-bottom: 22px; }
.project-visual-head h3 { font-size: 20px; letter-spacing: -.65px; margin: 5px 0 0; }
.small-pill { display: inline-flex; align-items: center; gap: 5px; padding: 7px 10px; border-radius: 99px; background: var(--sage); color: var(--forest); font-family: var(--mono); font-size: 10px; }
.small-pill .pulse { width: 6px; height: 6px; background: #44a47e; border-radius: 50%; }
.mini-photo-row { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 10px; height: 135px; }
.mini-photo { min-height: 100%; border-radius: 13px; overflow: hidden; position: relative; }
.mini-photo::before, .mini-photo::after { content: ""; position: absolute; display: block; }
.mini-photo-kitchen { background: linear-gradient(135deg, #b9c9ba 0%, #ece0c5 45%, #c37a55 46%, #c37a55 51%, #785f4a 52%, #785f4a 62%, #e2d5bb 63%); }
.mini-photo-kitchen::before { width: 90%; height: 35%; left: 5%; bottom: 11%; background: #f6f0e3; border-radius: 4px; box-shadow: 0 -45px 0 #46645c; }
.mini-photo-kitchen::after { width: 45%; height: 8%; left: 26%; bottom: 26%; background: #b76b45; border-radius: 2px; }
.mini-photo-plan { background: #e4d6b9; }
.mini-photo-plan::before { inset: 18% 18%; border: 2px solid #607970; background: repeating-linear-gradient(90deg, transparent 0 14px, rgba(96,121,112,.5) 15px 16px), repeating-linear-gradient(0deg, transparent 0 14px, rgba(96,121,112,.45) 15px 16px); }
.mini-photo-plan::after { width: 4px; height: 60%; left: 50%; top: 20%; background: #d77051; transform: rotate(38deg); }
.mini-photo-tile { background: linear-gradient(45deg, #7b9b99 25%, transparent 25% 75%, #7b9b99 75%), linear-gradient(45deg, #7b9b99 25%, #d9e6de 25% 75%, #7b9b99 75%); background-size: 26px 26px; background-position: 0 0, 13px 13px; }
.quote-preview { margin-top: 19px; padding: 15px; border: 1px solid #dce8de; border-radius: 15px; background: #f8fbf7; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; }
.quote-preview strong { display: block; font-size: 13px; letter-spacing: -.3px; }
.quote-preview span { color: var(--ink-soft); font-size: 11px; }
.quote-price { color: var(--forest); font-family: var(--serif); font-size: 23px; }
.match-capsule { position: absolute; right: -23px; bottom: 49px; padding: 14px 16px; border: 1px solid #d8e0d4; background: #fffdf8; border-radius: 13px; box-shadow: var(--soft-shadow); }
.match-capsule b { display: block; font-size: 18px; line-height: 1; color: var(--forest); }
.match-capsule span { color: var(--ink-soft); font-size: 10px; font-weight: 700; }
.floating-check { position: absolute; top: 44px; left: -19px; width: 46px; height: 46px; border: 4px solid var(--cream); border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--coral); box-shadow: var(--soft-shadow); font-size: 19px; font-weight: 800; }

.trusted-strip { border-top: 1px solid #dce2d9; border-bottom: 1px solid #dce2d9; background: #fafaf5; }
.trusted-row { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.trusted-intro { max-width: 180px; color: var(--ink-soft); font-size: 11px; font-weight: 700; line-height: 1.5; }
.trusted-items { flex: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.trusted-item { display: flex; align-items: center; justify-content: center; gap: 8px; color: #50645f; font-size: 12px; font-weight: 800; }
.trusted-item span { color: var(--forest); font-size: 18px; }

.section { padding: 100px 0; }
.section-tint { background: #eaf3eb; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 42px; }
.section-heading h2 { margin: 10px 0 0; max-width: 615px; font-family: var(--serif); font-size: clamp(38px, 4vw, 56px); font-weight: 600; letter-spacing: -2.2px; line-height: .98; }
.section-heading p { max-width: 320px; margin: 0 0 4px; color: var(--ink-soft); font-size: 14px; line-height: 1.72; }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.process-card { min-height: 270px; padding: 25px; border: 1px solid #d8e1d8; background: var(--paper); border-radius: 19px; position: relative; overflow: hidden; }
.process-card .step-no { color: var(--coral); font-family: var(--mono); font-size: 11px; }
.process-card h3 { margin: 44px 0 10px; font-size: 18px; letter-spacing: -.65px; }
.process-card p { max-width: 280px; color: var(--ink-soft); font-size: 13px; line-height: 1.65; margin: 0; }
.process-graphic { position: absolute; right: 20px; bottom: 17px; width: 100px; height: 72px; }
.process-graphic.one::before { content: ""; position: absolute; width: 68px; height: 53px; right: 0; bottom: 0; border: 2px solid var(--forest); border-radius: 4px; background: #fffdf8; box-shadow: -12px -12px 0 -1px var(--mint); }
.process-graphic.one::after { content: ""; position: absolute; width: 42px; height: 2px; right: 12px; bottom: 35px; background: var(--coral); box-shadow: 0 12px 0 var(--forest), 0 24px 0 #b3c9b9; }
.process-graphic.two::before { content: ""; position: absolute; width: 78px; height: 51px; right: 0; bottom: 0; border-radius: 15px 15px 3px 3px; background: linear-gradient(90deg, var(--forest) 0 30%, #c5dfcf 30% 34%, var(--coral) 34% 67%, #c5dfcf 67% 71%, #f2c875 71%); }
.process-graphic.two::after { content: "✦"; position: absolute; right: 55px; top: 0; color: var(--forest); font-size: 33px; }
.process-graphic.three::before { content: ""; position: absolute; width: 68px; height: 68px; right: 0; bottom: 0; border-radius: 50%; background: var(--forest); }
.process-graphic.three::after { content: "✓"; position: absolute; width: 38px; height: 38px; right: 15px; bottom: 15px; color: var(--forest); background: var(--mint); border-radius: 50%; display: grid; place-items: center; font-size: 21px; font-weight: 800; }

.category-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 20px; align-items: stretch; }
.category-panel { padding: 39px; min-height: 386px; color: #fff; background: var(--forest); border-radius: 24px; position: relative; overflow: hidden; }
.category-panel::after { content: ""; width: 330px; height: 330px; position: absolute; right: -93px; bottom: -178px; border-radius: 50%; background: #27786d; }
.category-panel h2 { position: relative; z-index: 1; max-width: 460px; margin: 10px 0 13px; color: #fff; font-family: var(--serif); font-size: 45px; line-height: .98; letter-spacing: -1.8px; }
.category-panel p { position: relative; z-index: 1; max-width: 420px; color: #c7dcd5; font-size: 14px; line-height: 1.7; }
.category-panel .button { position: relative; z-index: 1; margin-top: 15px; color: var(--forest); background: #fffef8; }
.category-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.category-card { min-height: 187px; padding: 20px; border: 1px solid #dde4da; background: var(--paper); border-radius: 18px; position: relative; overflow: hidden; }
.category-card .cat-icon { display: grid; place-items: center; width: 40px; height: 40px; color: var(--forest); background: var(--sage); border-radius: 11px; font-size: 19px; }
.category-card h3 { margin: 44px 0 0; font-size: 15px; letter-spacing: -.5px; }
.category-card small { display: block; margin-top: 5px; color: #768780; font-size: 10px; font-weight: 700; }
.category-card::after { content: "↗"; position: absolute; right: 19px; bottom: 15px; color: var(--forest); font-size: 19px; }

.builder-cta { padding: 71px 0; background: #1b3232; color: #fff; }
.builder-cta-inner { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; }
.builder-cta h2 { max-width: 650px; font-family: var(--serif); font-size: clamp(40px, 4.5vw, 60px); letter-spacing: -2.2px; line-height: .98; margin: 10px 0 0; }
.builder-cta h2 em { color: var(--sun); font-style: italic; }
.builder-cta .eyebrow { color: #a6d7c5; }
.builder-cta p { max-width: 400px; color: #b7ccc5; font-size: 14px; line-height: 1.7; }
.builder-cta .button { color: #fff; }
.builder-points { display: flex; gap: 24px; margin-top: 25px; color: #c1d8cf; font-size: 11px; font-weight: 700; }
.builder-points span::before { content: "✓"; margin-right: 7px; color: var(--sun); }

.site-footer { padding: 35px 0; background: #132727; color: #b6c6c1; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 11px; }
.footer-inner .brand { color: #f1f5ee; font-size: 17px; }
.footer-links { display: flex; gap: 18px; }

/* Shared marketplace workspace */
.workspace-shell { min-height: 100vh; background: #f5f6f0; }
.workspace-topbar { height: 75px; border-bottom: 1px solid #dce3db; background: rgba(255, 254, 250, .9); display: flex; align-items: center; position: sticky; top: 0; z-index: 20; backdrop-filter: blur(12px); }
.workspace-topbar .container { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.workspace-head { display: flex; align-items: center; gap: 28px; }
.workspace-back { border: none; background: transparent; color: var(--ink-soft); font-size: 12px; font-weight: 800; padding: 9px 0; }
.workspace-back:hover { color: var(--forest); }
.role-selector { display: flex; gap: 3px; padding: 4px; border: 1px solid #dbe2d9; border-radius: 12px; background: #f5f7f1; }
.role-selector button { border: none; background: transparent; border-radius: 8px; color: #71817c; padding: 7px 10px; font-size: 10px; font-weight: 800; }
.role-selector button.active { color: var(--forest); background: #fff; box-shadow: 0 2px 5px rgba(31,54,49,.08); }
.workspace-main { padding: 37px 0 80px; }
.workspace-title-row { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 30px; }
.workspace-title-row h1 { font-family: var(--serif); font-size: 43px; line-height: 1; letter-spacing: -1.75px; margin: 6px 0 0; }
.workspace-title-row p { margin: 0; color: var(--ink-soft); font-size: 12px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.48fr) minmax(290px, .78fr); gap: 22px; align-items: start; }
.card { border: 1px solid #dce4da; border-radius: 18px; background: var(--paper); box-shadow: 0 4px 16px rgba(40,64,57,.025); }
.card-pad { padding: 24px; }
.project-banner { padding: 27px; color: #fff; background: linear-gradient(115deg, #0d5e56, #27776c); overflow: hidden; position: relative; }
.project-banner::after { content: ""; position: absolute; width: 260px; height: 260px; border: 48px solid rgba(211,239,211,.13); border-radius: 50%; right: -106px; top: -126px; }
.project-banner > * { position: relative; z-index: 1; }
.project-banner-top { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.project-banner h2 { max-width: 570px; margin: 9px 0 8px; font-family: var(--serif); font-size: 34px; font-weight: 600; letter-spacing: -1.2px; line-height: 1; }
.project-banner p { color: #c7e0d8; font-size: 12px; margin: 0; }
.project-banner-meta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 29px; font-size: 11px; font-weight: 700; color: #d7e9e2; }
.project-banner-meta span::before { content: "•"; color: var(--sun); margin-right: 7px; }
.project-banner .status-chip { background: rgba(255,255,255,.15); color: #fff; border-color: rgba(255,255,255,.2); }
.status-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 25px; padding: 4px 9px; border: 1px solid transparent; border-radius: 99px; font-family: var(--mono); font-size: 9px; text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }
.status-chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-quoting, .status-matching, .status-pending { color: #9b6611; background: #fff4d9; border-color: #f3ddb0; }
.status-selected, .status-active, .status-verified, .status-completed { color: #17715f; background: #e7f5ea; border-color: #c9e5d0; }
.status-declined, .status-suspended, .status-rejected { color: #a84639; background: #fff0ec; border-color: #f2d0c8; }
.status-draft { color: #667771; background: #edf0ec; border-color: #dce3dc; }
.status-submitted { color: #355f83; background: #e7f3fa; border-color: #cce0ee; }
.status-in-progress { color: #5b518e; background: #efedfa; border-color: #dbd5f0; }

.status-timeline { display: grid; grid-template-columns: repeat(5, 1fr); padding: 23px 23px 15px; }
.timeline-step { min-width: 0; position: relative; display: flex; flex-direction: column; gap: 7px; color: #9aa8a1; font-size: 10px; font-weight: 700; }
.timeline-step:not(:last-child)::after { content: ""; position: absolute; top: 6px; left: 13px; width: calc(100% - 13px); height: 2px; background: #dde5dd; }
.timeline-step .timeline-dot { width: 14px; height: 14px; z-index: 1; border: 3px solid var(--paper); border-radius: 50%; background: #d9e1dc; box-shadow: 0 0 0 1px #d9e1dc; }
.timeline-step.active { color: var(--forest); }
.timeline-step.active .timeline-dot { background: var(--forest); box-shadow: 0 0 0 1px var(--forest); }
.timeline-step.complete { color: #50746a; }
.timeline-step.complete .timeline-dot { background: #55a684; box-shadow: 0 0 0 1px #55a684; }
.timeline-step.complete:not(:last-child)::after { background: #8ac6a9; }
.timeline-step span:last-child { white-space: nowrap; }

.section-card-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; padding: 22px 24px 0; }
.section-card-head h3 { margin: 0; font-size: 16px; letter-spacing: -.6px; }
.section-card-head p { color: var(--ink-soft); font-size: 11px; margin: 5px 0 0; }
.counter { display: inline-flex; align-items: center; justify-content: center; min-width: 25px; height: 25px; padding: 0 7px; border-radius: 9px; background: var(--sage); color: var(--forest); font-family: var(--mono); font-size: 10px; font-weight: 500; }

.quote-list { display: grid; gap: 0; padding: 11px 16px 15px; }
.quote-card { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 13px; padding: 15px 9px; border-bottom: 1px solid #e4e9e2; }
.quote-card:last-child { border-bottom: 0; }
.builder-avatar { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border-radius: 13px; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: -.3px; }
.builder-avatar.a { background: #1e7568; }
.builder-avatar.b { background: #bc714d; }
.builder-avatar.c { background: #59769c; }
.builder-avatar.d { background: #77688f; }
.quote-card-main { min-width: 0; }
.quote-card-main h4 { margin: 0 0 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; letter-spacing: -.35px; }
.quote-card-main p { margin: 0; color: var(--ink-soft); font-size: 10px; line-height: 1.45; }
.quote-card-main .rating { color: #9d6a14; font-size: 10px; font-weight: 800; }
.quote-card-price { text-align: right; }
.quote-card-price strong { display: block; color: var(--forest); font-family: var(--serif); font-size: 22px; letter-spacing: -.8px; line-height: 1; }
.quote-card-price span { color: var(--ink-soft); font-size: 9px; font-weight: 700; }
.quote-actions { display: flex; align-items: center; gap: 8px; margin-top: 4px; }

.activity-list { padding: 12px 23px 19px; }
.activity-item { display: grid; grid-template-columns: 8px 1fr auto; align-items: start; gap: 10px; padding: 13px 0; border-bottom: 1px solid #e7ebe5; }
.activity-item:last-child { border-bottom: 0; }
.activity-marker { width: 8px; height: 8px; border-radius: 50%; margin-top: 4px; background: var(--forest); }
.activity-marker.coral { background: var(--coral); }
.activity-marker.sun { background: #d5a33a; }
.activity-copy { color: #53645f; font-size: 11px; line-height: 1.5; }
.activity-copy b { color: var(--ink); }
.activity-time { color: #8a9892; font-family: var(--mono); font-size: 9px; }
.side-stack { display: grid; gap: 18px; }
.next-action { padding: 23px; background: #fbf5e9; border-color: #eddfbe; }
.next-action .micro-label { color: #9d761e; }
.next-action h3 { margin: 9px 0 7px; font-size: 17px; letter-spacing: -.6px; }
.next-action p { margin: 0 0 16px; color: #776d5c; font-size: 11px; line-height: 1.65; }
.detail-list { padding: 13px 22px 20px; }
.detail-row { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid #e6ebe5; font-size: 11px; }
.detail-row:last-child { border: 0; }
.detail-row span { color: var(--ink-soft); }
.detail-row b { font-weight: 800; text-align: right; }
.match-reason { display: inline-flex; gap: 6px; align-items: center; color: var(--forest); font-size: 10px; font-weight: 800; }
.match-reason::before { content: "✦"; color: var(--coral); }

/* Project wizard */
.wizard-page { min-height: 100vh; background: linear-gradient(132deg, #f2f4ef 0%, #f8f6ef 52%, #e6f0e8 100%); }
.wizard-top { height: 76px; display: flex; align-items: center; border-bottom: 1px solid rgba(195,211,198,.65); }
.wizard-top .container { display: flex; align-items: center; justify-content: space-between; }
.wizard-save { display: flex; align-items: center; gap: 7px; color: #6e807a; font-family: var(--mono); font-size: 10px; }
.wizard-save::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #55a684; }
.wizard-layout { display: grid; grid-template-columns: 255px minmax(0, 680px); justify-content: center; gap: 55px; padding: 63px 0 92px; }
.wizard-aside { padding-top: 19px; }
.wizard-aside h1 { margin: 9px 0 12px; font-family: var(--serif); font-size: 40px; letter-spacing: -1.6px; line-height: .99; }
.wizard-aside p { color: var(--ink-soft); font-size: 12px; line-height: 1.7; }
.wizard-steps { display: grid; gap: 14px; margin: 32px 0; }
.wizard-step { display: flex; align-items: center; gap: 10px; color: #81908a; font-size: 11px; font-weight: 800; }
.wizard-step-no { display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid #c6d1c8; border-radius: 50%; color: #7b8c85; font-family: var(--mono); font-size: 10px; }
.wizard-step.active { color: var(--forest); }
.wizard-step.active .wizard-step-no { border-color: var(--forest); color: #fff; background: var(--forest); }
.wizard-step.complete { color: #4c776b; }
.wizard-step.complete .wizard-step-no { border-color: #62a98d; color: #fff; background: #62a98d; }
.wizard-reassurance { display: flex; align-items: center; gap: 8px; color: #73847d; font-size: 10px; line-height: 1.5; }
.wizard-reassurance span { display: grid; place-items: center; width: 26px; height: 26px; color: var(--forest); background: var(--mint); border-radius: 8px; font-size: 14px; }
.wizard-card { padding: 37px; background: var(--paper); border: 1px solid #dce6dc; border-radius: 24px; box-shadow: var(--shadow); }
.wizard-progress { width: 100%; height: 5px; border-radius: 99px; background: #e5ebe3; overflow: hidden; margin-bottom: 28px; }
.wizard-progress > span { display: block; height: 100%; border-radius: inherit; background: var(--coral); transition: width .3s ease; }
.wizard-card h2 { margin: 0; font-family: var(--serif); font-size: 35px; font-weight: 600; letter-spacing: -1.35px; line-height: 1; }
.wizard-card > p { margin: 10px 0 27px; color: var(--ink-soft); font-size: 12px; line-height: 1.65; }
.option-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.select-option { min-height: 105px; text-align: left; padding: 14px; color: var(--ink); border: 1px solid #d9e3da; border-radius: 13px; background: #fffefa; transition: border .18s ease, background .18s ease, transform .18s ease; }
.select-option:hover { transform: translateY(-1px); border-color: #85b5a4; }
.select-option.selected { color: var(--forest); border-color: var(--forest); background: #f0faf3; box-shadow: inset 0 0 0 1px var(--forest); }
.select-option .option-icon { display: grid; place-items: center; width: 29px; height: 29px; margin-bottom: 21px; border-radius: 8px; color: var(--forest); background: var(--sage); font-size: 15px; }
.option-icon .ui-icon,
.cat-icon .ui-icon { display: block; width: 17px; height: 17px; }
.upload-file .file-pill-icon { display: block; width: 13px; height: 13px; flex: 0 0 auto; }
.trusted-item > .ui-icon { width: 17px; height: 17px; flex: 0 0 auto; color: var(--forest); }
.select-option b { display: block; font-size: 11px; letter-spacing: -.2px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { display: grid; gap: 7px; }
.field.span-2 { grid-column: span 2; }
.field label { color: #52635d; font-size: 11px; font-weight: 800; }
.field small { color: #7a8a84; font-size: 9px; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid #d6e0d7; border-radius: 10px; outline: none; color: var(--ink); background: #fffefa; padding: 12px 12px; font-size: 12px; transition: border .18s, box-shadow .18s; }
.field textarea { min-height: 112px; resize: vertical; line-height: 1.55; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--forest); box-shadow: 0 0 0 3px rgba(24,101,88,.1); }
.budget-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.budget-option { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 0 13px; border: 1px solid #d9e3da; border-radius: 11px; color: var(--ink); background: #fffefa; font-size: 11px; font-weight: 800; }
.budget-option::after { content: ""; width: 13px; height: 13px; border: 1px solid #b7c5ba; border-radius: 50%; }
.budget-option.selected { color: var(--forest); border-color: var(--forest); background: #f0faf3; }
.budget-option.selected::after { border: 4px solid var(--forest); }
.upload-zone { display: grid; place-items: center; min-height: 160px; padding: 20px; border: 1.5px dashed #aac2b4; border-radius: 15px; color: #59746b; background: #f9fcf8; text-align: center; }
.upload-zone input { display: none; }
.upload-icon { display: grid; place-items: center; width: 41px; height: 41px; margin-bottom: 11px; border-radius: 12px; color: var(--forest); background: var(--mint); font-size: 19px; }
.upload-zone b { display: block; color: var(--forest); font-size: 12px; }
.upload-zone span { margin-top: 5px; color: #788a83; font-size: 10px; }
.upload-files { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 11px; }
.upload-file { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; border-radius: 8px; color: var(--forest); background: var(--sage); font-size: 9px; font-weight: 700; }
.wizard-actions { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding-top: 28px; }
.wizard-actions .button { min-width: 126px; }
.wizard-actions .button[aria-busy="true"] { min-width: 175px; }
.button-spinner { width: 13px; height: 13px; border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; animation: button-spin .7s linear infinite; }
.wizard-submit-status { margin-top: 11px; color: #61746c; font-size: 10px; font-weight: 700; text-align: right; }
@keyframes button-spin { to { transform: rotate(360deg); } }
.validation-note { display: none; margin-top: 15px; color: #a74a3b; font-size: 10px; font-weight: 700; }
.validation-note.show { display: block; }

/* Builder workspace and admin */
.workspace-tabs { display: flex; align-items: center; gap: 5px; margin: 0 0 22px; padding: 5px; width: fit-content; border: 1px solid #dbe3da; border-radius: 12px; background: #f3f6f1; }
.workspace-tab { border: 0; border-radius: 8px; color: #74837d; background: transparent; padding: 8px 12px; font-size: 11px; font-weight: 800; }
.workspace-tab.active { color: var(--forest); background: #fffefa; box-shadow: 0 2px 5px rgba(31,54,49,.08); }
.builder-profile-card { padding: 23px; color: #fff; background: #243b3a; border-color: #243b3a; }
.builder-profile-card .profile-top { display: flex; gap: 13px; align-items: center; }
.builder-profile-card .builder-avatar { width: 50px; height: 50px; background: #d57958; }
.builder-profile-card h3 { margin: 0 0 3px; font-size: 14px; }
.builder-profile-card p { margin: 0; color: #bed0c8; font-size: 10px; }
.builder-profile-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 19px; }
.builder-profile-meta div { padding: 10px; border-radius: 9px; background: rgba(255,255,255,.09); }
.builder-profile-meta span { display: block; color: #afc4bc; font-size: 9px; }
.builder-profile-meta b { display: block; margin-top: 3px; color: #fff; font-size: 12px; }
.opportunity-list { display: grid; gap: 13px; }
.opportunity-card { display: grid; grid-template-columns: 1fr auto; gap: 22px; padding: 21px; }
.opportunity-card .opp-main { min-width: 0; }
.opp-topline { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-bottom: 8px; }
.opp-topline .micro-label { color: var(--forest); }
.opportunity-card h3 { margin: 0; font-size: 16px; letter-spacing: -.55px; }
.opportunity-card p { margin: 7px 0 11px; max-width: 580px; color: var(--ink-soft); font-size: 11px; line-height: 1.65; }
.opp-meta { display: flex; gap: 17px; flex-wrap: wrap; color: #63736e; font-size: 10px; font-weight: 700; }
.opp-meta span::before { content: "•"; color: var(--coral); margin-right: 6px; }
.opp-side { min-width: 124px; text-align: right; }
.opp-side .match-score { color: var(--forest); font-family: var(--serif); font-size: 30px; line-height: 1; }
.opp-side small { display: block; margin: 2px 0 12px; color: #788781; font-size: 9px; font-weight: 700; }
.empty-state { padding: 46px 20px; text-align: center; }
.empty-state .empty-icon { display: grid; place-items: center; width: 46px; height: 46px; margin: 0 auto 12px; color: var(--forest); border-radius: 14px; background: var(--sage); font-size: 21px; }
.empty-state h3 { margin: 0; font-size: 15px; }
.empty-state p { max-width: 300px; margin: 8px auto 17px; color: var(--ink-soft); font-size: 11px; line-height: 1.6; }

.admin-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 22px; }
.stat-card { padding: 18px; }
.stat-card span { display: block; color: #71827a; font-size: 10px; font-weight: 800; }
.stat-card strong { display: block; margin: 8px 0 3px; font-family: var(--serif); font-size: 31px; letter-spacing: -1px; line-height: 1; }
.stat-card small { color: #5c9a77; font-size: 9px; font-weight: 800; }
.stat-card small.warn { color: #ae741b; }
.data-table-wrap { overflow-x: auto; padding: 9px 22px 22px; }
.data-table { width: 100%; border-collapse: collapse; min-width: 650px; }
.data-table th { padding: 12px 8px; color: #74837d; border-bottom: 1px solid #dfe7df; text-align: left; font-family: var(--mono); font-size: 9px; font-weight: 500; text-transform: uppercase; letter-spacing: .05em; }
.data-table td { padding: 13px 8px; border-bottom: 1px solid #e7ebe5; color: #52635d; font-size: 10px; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table td b { color: var(--ink); font-size: 11px; }
.table-person { display: flex; align-items: center; gap: 8px; }
.table-avatar { width: 28px; height: 28px; display: grid; place-items: center; color: #fff; border-radius: 8px; font-size: 8px; font-weight: 800; }
.table-actions { display: flex; justify-content: flex-end; gap: 6px; }

.compare-header { display: flex; align-items: center; justify-content: space-between; padding: 24px; border-bottom: 1px solid #e2e8e1; }
.compare-header h3 { margin: 0; font-size: 16px; letter-spacing: -.55px; }
.compare-header p { margin: 5px 0 0; color: var(--ink-soft); font-size: 10px; }
.compare-scroll { overflow-x: auto; }
.comparison-table { width: 100%; min-width: 650px; border-collapse: separate; border-spacing: 0; }
.comparison-table th, .comparison-table td { padding: 14px 16px; border-bottom: 1px solid #e5ebe5; text-align: left; vertical-align: top; }
.comparison-table th { color: #708079; font-family: var(--mono); font-size: 9px; font-weight: 500; text-transform: uppercase; letter-spacing: .05em; }
.comparison-table th:not(:first-child), .comparison-table td:not(:first-child) { width: 28%; }
.comparison-table td { color: #556660; font-size: 10px; line-height: 1.55; }
.comparison-table td:first-child { color: var(--ink); font-size: 10px; font-weight: 800; }
.comparison-table .builder-head { display: flex; align-items: center; gap: 9px; color: var(--ink); font-family: var(--sans); font-size: 11px; font-weight: 800; letter-spacing: -.2px; text-transform: none; }
.comparison-table .builder-head .builder-avatar { width: 30px; height: 30px; border-radius: 9px; font-size: 8px; }
.comparison-table .price-cell { color: var(--forest); font-family: var(--serif); font-size: 24px; letter-spacing: -1px; }
.comparison-table tr:last-child td { border-bottom: 0; }

/* Modal, toast & helper UI */
.modal-scrim { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 20px; background: rgba(19,40,38,.4); backdrop-filter: blur(4px); }
.modal { width: min(595px, 100%); max-height: min(760px, calc(100vh - 40px)); overflow: auto; border: 1px solid #d8e4d8; border-radius: 20px; background: var(--paper); box-shadow: 0 28px 80px rgba(15,39,36,.27); }
.modal-head { display: flex; align-items: start; justify-content: space-between; gap: 15px; padding: 23px 25px 18px; border-bottom: 1px solid #e4eae3; }
.modal-head h2 { margin: 5px 0 0; font-family: var(--serif); font-size: 29px; letter-spacing: -1px; line-height: 1; }
.modal-head p { margin: 7px 0 0; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.modal-close { display: grid; place-items: center; width: 29px; height: 29px; padding: 0; border: 1px solid #d9e2d9; border-radius: 9px; color: #687a73; background: #fffefa; font-size: 17px; }
.modal-body { padding: 23px 25px 25px; }
.quote-form-rows { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.quote-form-rows .field.span-2 { grid-column: span 2; }
.quote-form-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 21px; padding-top: 17px; border-top: 1px solid #e4eae3; }
.quote-form-foot span { color: #778881; font-size: 9px; line-height: 1.5; }
.detail-modal-builder { display: flex; align-items: center; gap: 11px; margin-bottom: 17px; }
.detail-modal-builder h3 { margin: 0; font-size: 14px; }
.detail-modal-builder p { margin: 3px 0 0; color: #75847e; font-size: 10px; }
.milestone-list { display: grid; gap: 9px; margin: 15px 0 20px; }
.milestone-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 10px 12px; border: 1px solid #e1e8df; border-radius: 9px; background: #fbfcf8; color: #596963; font-size: 10px; }
.milestone-row b { color: var(--forest); }
.notice { display: flex; gap: 10px; padding: 12px; border: 1px solid #d6e5d8; border-radius: 10px; color: #557467; background: #f0f8f0; font-size: 10px; line-height: 1.5; }
.notice .notice-icon { color: var(--forest); font-size: 15px; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 70; display: flex; align-items: center; gap: 9px; max-width: 340px; padding: 13px 15px; color: #fff; border-radius: 12px; background: #214d46; box-shadow: 0 18px 36px rgba(13,59,52,.25); font-size: 11px; font-weight: 700; animation: toast-in .22s ease both; }
.toast::before { content: "✓"; display: grid; place-items: center; width: 18px; height: 18px; color: var(--forest); border-radius: 50%; background: var(--mint); font-weight: 800; }
@keyframes toast-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

.builder-workspace-actions { display: flex; align-items: end; justify-content: end; gap: 10px; }
.builder-notifications-button { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 12px; border: 1px solid #d6dfd5; border-radius: 10px; color: #24483f; background: #fffefa; font: inherit; font-size: 11px; font-weight: 800; }
.builder-notifications-button > span { color: var(--forest); font-size: 14px; }
.builder-notifications-button b { display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 999px; color: #fff; background: #bb6249; font-family: var(--mono); font-size: 9px; }
.builder-alert-popup { position: fixed; right: 22px; bottom: 22px; z-index: 75; width: min(370px, calc(100vw - 36px)); padding: 18px; border: 1px solid #cbded1; border-radius: 15px; background: #fffefa; box-shadow: 0 22px 52px rgba(15, 49, 43, .22); animation: builder-alert-in .24s ease both; }
.builder-alert-close { position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 7px; color: #6e7b76; background: transparent; font-size: 18px; }
.builder-alert-kicker { margin-bottom: 7px; color: #567b6b; font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.builder-alert-popup h3 { margin: 0 30px 5px 0; color: #243a33; font-size: 15px; letter-spacing: -.4px; }
.builder-alert-popup > p { display: -webkit-box; overflow: hidden; margin: 0; color: #5f6b65; font-size: 12px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.builder-alert-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 15px; padding-top: 13px; border-top: 1px solid #e3e9e2; }
.builder-alert-foot span { min-width: 0; overflow: hidden; color: #73817b; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.builder-notification-list { display: grid; }
.builder-notification-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 24px; border-bottom: 1px solid #e7ebe5; }
.builder-notification-item:last-child { border-bottom: 0; }
.builder-notification-item.unread { background: #f4faf5; }
.builder-notification-item > div { min-width: 0; }
.builder-notification-item span { color: #5b7c6d; font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.builder-notification-item h3 { margin: 5px 0 3px; color: #29332e; font-size: 13px; }
.builder-notification-item p { display: -webkit-box; overflow: hidden; margin: 0; color: #606b65; font-size: 11px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.builder-notification-item small { display: block; margin-top: 7px; color: #909991; font-size: 10px; }
@keyframes builder-alert-in { from { opacity: 0; transform: translateY(15px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }

.auth-modal { width: min(680px, 100%); }
.auth-mode-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border: 1px solid #e1e7df; border-radius: 11px; background: #f4f6f1; }
.auth-mode-tabs button { padding: 9px 10px; border: 0; border-radius: 8px; color: #62716b; background: transparent; font: inherit; font-size: 11px; font-weight: 800; }
.auth-mode-tabs button.active { color: #25483f; background: #fffefa; box-shadow: 0 2px 7px rgba(35, 61, 52, .1); }
.auth-modal .modal-body > form { margin-top: 20px; }
.auth-signin-note { display: flex; gap: 8px; margin-top: 13px; color: #63756e; font-size: 11px; line-height: 1.45; }
.auth-signin-note span { color: var(--forest); font-size: 14px; }
.auth-signin-note p { margin: 0; }
.auth-text-button { padding: 0; border: 0; color: #47695c; background: transparent; font: inherit; font-size: 10px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.auth-role-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.auth-role-card { display: grid; align-content: start; gap: 9px; padding: 17px; border: 1px solid #dfe6dd; border-radius: 13px; background: #fffefa; }
.auth-role-card.auth-role-builder { border-color: #d3e2d5; background: #f3f8f2; }
.auth-role-icon { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; color: var(--forest); background: #e4f1e6; font-size: 16px; }
.auth-role-card h3 { margin: 0; color: #283830; font-size: 14px; letter-spacing: -.35px; }
.auth-role-card p { margin: 4px 0 0; color: #68756e; font-size: 10px; line-height: 1.55; }
.auth-role-card form { display: grid; gap: 10px; margin-top: 3px; }
.auth-role-card .field { gap: 5px; }
.auth-role-card .field label { font-size: 9px; }
.auth-role-card .field input { min-height: 39px; font-size: 11px; }
.auth-role-card .button { justify-self: start; margin-top: 2px; }
.auth-role-card small { margin-top: auto; color: #839088; font-size: 9px; line-height: 1.45; }
.agreement-modal { width: min(620px, 100%); }
.agreement-document-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; padding: 16px; border: 1px solid #d9e4dc; border-radius: 14px; background: #f6faf5; }
.agreement-document-icon { width: 25px; height: 25px; color: var(--forest); }
.agreement-document-card b, .agreement-document-card span { display: block; }
.agreement-document-card b { color: #253a31; font-size: 12px; }
.agreement-document-card span { margin-top: 3px; color: #75837b; font-size: 10px; }
.agreement-confirmation { display: flex; align-items: flex-start; gap: 10px; margin-top: 18px; padding: 14px 15px; border: 1px solid #e1e7e0; border-radius: 12px; background: #fffefa; color: #34453b; font-size: 12px; line-height: 1.5; cursor: pointer; }
.agreement-confirmation input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--forest); flex: 0 0 auto; }
.agreement-flow-label { display: flex; align-items: center; gap: 8px; color: #35473b; font-size: 12px; }
.agreement-flow-label span { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--forest); color: white; font-size: 10px; font-weight: 800; }
.agreement-flow-label button { margin-left: auto; padding: 0; border: 0; background: none; color: var(--forest); font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }

@media (max-width: 660px) {
  .builder-workspace-actions { align-items: stretch; justify-content: flex-start; flex-direction: column-reverse; }
  .builder-notifications-button { align-self: flex-start; }
  .builder-notification-item { align-items: flex-start; flex-direction: column; gap: 12px; padding: 16px 18px; }
  .auth-role-grid { grid-template-columns: 1fr; }
  .agreement-document-card { grid-template-columns: auto 1fr; }
  .agreement-document-card .button { grid-column: 1 / -1; justify-self: start; }
  .auth-modal .quote-form-foot { align-items: flex-start; flex-direction: column; }
}

.hidden { display: none !important; }
.mobile-only { display: none; }

@media (max-width: 900px) {
  .nav-links { display: none; }
  .hero-grid { grid-template-columns: 1fr; gap: 46px; }
  .hero-copy h1 { max-width: 660px; }
  .hero-visual { max-width: 600px; width: calc(100% - 25px); margin: 0 auto; }
  .section-heading { align-items: start; flex-direction: column; gap: 15px; }
  .section-heading p { max-width: 530px; }
  .trusted-row { padding: 19px 0; align-items: start; flex-direction: column; }
  .trusted-items { width: 100%; }
  .wizard-layout { grid-template-columns: 1fr; gap: 12px; padding-top: 35px; }
  .wizard-aside { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: center; }
  .wizard-aside h1, .wizard-aside p { grid-column: 1 / -1; }
  .wizard-steps { margin: 4px 0; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .builder-cta-inner { grid-template-columns: 1fr; gap: 19px; }
}

@media (max-width: 660px) {
  .container { width: min(100% - 28px, 1180px); }
  .site-nav { height: 70px; }
  .nav-signin { display: none; }
  .nav-actions .button { min-height: 39px; padding: 0 12px; font-size: 11px; }
  .brand { font-size: 20px; }
  .home-hero { padding: 37px 0 55px; }
  .hero-copy h1 { font-size: 54px; letter-spacing: -2.7px; }
  .hero-cta-row { align-items: flex-start; flex-direction: column; gap: 7px; }
  .hero-trust { align-items: flex-start; }
  .hero-project-card { padding: 19px; min-height: auto; }
  .mini-photo-row { height: 107px; }
  .match-capsule { right: -14px; bottom: 19px; }
  .floating-check { left: -13px; top: 26px; width: 39px; height: 39px; font-size: 16px; }
  .trusted-items { grid-template-columns: repeat(2, 1fr); row-gap: 18px; }
  .trusted-item { justify-content: flex-start; }
  .section { padding: 68px 0; }
  .process-grid, .category-grid { grid-template-columns: 1fr; }
  .process-card { min-height: 215px; }
  .category-panel { min-height: 330px; padding: 29px; }
  .category-panel h2 { font-size: 38px; }
  .category-list { grid-template-columns: 1fr 1fr; }
  .category-card { min-height: 158px; }
  .builder-points { flex-direction: column; gap: 8px; }
  .footer-inner { align-items: flex-start; flex-direction: column; }
  .footer-links { flex-wrap: wrap; }
  .workspace-topbar { height: auto; min-height: 67px; padding: 9px 0; }
  .workspace-head { gap: 12px; }
  .workspace-back { display: none; }
  .role-selector button { padding: 7px 7px; font-size: 9px; }
  .workspace-main { padding-top: 28px; }
  .workspace-title-row { align-items: flex-start; flex-direction: column; margin-bottom: 22px; }
  .workspace-title-row h1 { font-size: 37px; }
  .project-banner { padding: 22px; }
  .project-banner h2 { font-size: 29px; }
  .project-banner-top { align-items: flex-start; flex-direction: column; }
  .status-timeline { grid-template-columns: repeat(5, minmax(80px, 1fr)); overflow-x: auto; padding-bottom: 18px; }
  .quote-card { grid-template-columns: 42px 1fr; }
  .quote-card-price { grid-column: 2; text-align: left; margin-top: -6px; }
  .quote-card-price strong { display: inline; margin-right: 5px; font-size: 19px; }
  .side-stack { grid-template-columns: 1fr; }
  .wizard-layout { padding: 23px 0 48px; }
  .wizard-aside { display: block; padding: 0 5px; }
  .wizard-aside h1 { font-size: 35px; }
  .wizard-aside p { margin-bottom: 18px; }
  .wizard-steps { grid-template-columns: 1fr 1fr; }
  .wizard-card { padding: 24px 18px; border-radius: 19px; }
  .wizard-card h2 { font-size: 30px; }
  .option-grid { grid-template-columns: repeat(2, 1fr); }
  .select-option { min-height: 89px; }
  .select-option .option-icon { margin-bottom: 15px; }
  .form-grid, .quote-form-rows { grid-template-columns: 1fr; }
  .field.span-2, .quote-form-rows .field.span-2 { grid-column: auto; }
  .budget-grid { grid-template-columns: 1fr; }
  .wizard-actions .button { min-width: auto; }
  .opportunity-card { grid-template-columns: 1fr; gap: 15px; }
  .opp-side { text-align: left; }
  .admin-stat-grid { grid-template-columns: 1fr 1fr; }
  .builder-cta { padding: 57px 0; }
  .modal-scrim { padding: 12px; }
  .modal-head, .modal-body { padding-left: 18px; padding-right: 18px; }
  .quote-form-foot { align-items: flex-start; flex-direction: column; }
}

/* RenoLink brand system — charcoal, champagne stone and architectural calm */
:root {
  --ink: #151d19;
  --ink-soft: #424d47;
  --cream: #e7dfd4;
  --paper: #f8f3eb;
  --line: #c9bdaf;
  --forest: #173f35;
  --forest-dark: #0c2d26;
  --mint: #d4e0d8;
  --sage: #dfe7e1;
  --coral: #9d7654;
  --coral-dark: #735139;
  --sun: #b78d60;
  --blue: #d9e3e1;
  --shadow: 0 24px 64px rgba(28, 35, 31, .13);
  --soft-shadow: 0 10px 28px rgba(28, 35, 31, .09);
  --radius: 14px;
}

body {
  color: var(--ink);
  background: #f7f6f3;
  letter-spacing: -.01em;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #b5a089;
  outline-offset: 3px;
}

.brand {
  min-width: 0;
  color: var(--ink);
}

.brand-signature {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.brand-symbol {
  width: 42px;
  height: 28px;
  flex: 0 0 auto;
  overflow: visible;
}

.brand-symbol .brand-ink,
.brand-symbol .brand-roof,
.brand-symbol .brand-window { fill: #1d2026; }
.brand-symbol .brand-stone { fill: #b5a089; }

.brand-wordmark {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  color: #1d2026;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .19em;
  line-height: 1;
}

.brand-wordmark b { font-weight: 700; }
.brand-wordmark b:last-child { color: #b5a089; }

.brand-tagline {
  display: none;
  width: 100%;
  margin-top: 7px;
  color: #bab1a5;
  font-family: var(--sans);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1.2;
}

.brand-tagline i {
  color: #b5a089;
  font-style: normal;
  margin: 0 3px;
}

.site-nav {
  height: 92px;
  border-bottom: 1px solid rgba(230, 225, 218, .72);
}

.nav-links {
  gap: 30px;
  color: #54545b;
  font-size: 12px;
}

.nav-links a,
.nav-links .nav-signin { font-weight: 700; }

.nav-actions { gap: 16px; }
.nav-signin { color: #55545b; font-size: 12px; }
.nav-mobile-builder { display: none; }

.button {
  min-height: 45px;
  border-radius: 8px;
  font-size: 12px;
  letter-spacing: -.01em;
}

.button-primary,
.button-forest {
  color: #fff;
  background: #1d2026;
  box-shadow: 0 9px 18px rgba(29, 32, 38, .13);
}

.button-primary:hover:not(:disabled),
.button-forest:hover:not(:disabled) { background: #08090b; }

.button-outline {
  color: #27282d;
  border-color: #d5cec5;
  background: rgba(255, 254, 253, .78);
}

.button-outline:hover:not(:disabled) {
  color: #1d2026;
  border-color: #9f8e7a;
  background: #fffefd;
}

.button-plain { color: #5e554b; }
.button-plain:hover:not(:disabled) { color: #1d2026; }

.home-hero {
  padding: 62px 0 78px;
  background:
    linear-gradient(90deg, rgba(255, 254, 253, .74) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255, 254, 253, .74) 1px, transparent 1px);
  background-size: 72px 72px;
  position: relative;
}

.home-hero::before {
  width: 62vw;
  height: 62vw;
  right: -31vw;
  top: -31vw;
  background: #ede8e0;
  opacity: .65;
}

.home-hero::after {
  width: 420px;
  height: 1px;
  left: 0;
  top: auto;
  bottom: 35px;
  border-radius: 0;
  background: #d9d1c8;
  opacity: .75;
}

.hero-grid {
  grid-template-columns: minmax(0, .88fr) minmax(500px, 1.12fr);
  gap: 64px;
}

.eyebrow {
  color: #8f7c69;
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .17em;
}

.eyebrow-dot {
  width: 5px;
  height: 5px;
  background: #b5a089;
}

.hero-copy h1 {
  max-width: 630px;
  margin: 17px 0 22px;
  color: #1d2026;
  font-size: clamp(56px, 6.1vw, 82px);
  letter-spacing: -3.8px;
  line-height: .92;
}

.hero-copy h1 em {
  color: #9c8872;
  font-style: italic;
}

.hero-copy > p {
  max-width: 470px;
  color: #5f5f65;
  font-size: 15px;
  line-height: 1.82;
}

.hero-cta-row { gap: 20px; margin: 32px 0 27px; }
.hero-cta-row .button { min-height: 50px; padding: 0 20px; }
.quiet-link { color: #4f4841; font-size: 12px; }
.quiet-link:hover { color: #1d2026; }

.hero-trust {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  max-width: 470px;
  padding-top: 18px;
  color: #737178;
  border-top: 1px solid #ded8d0;
  font-size: 10px;
  font-weight: 700;
}

.hero-trust span { display: inline-flex; align-items: center; }
.hero-trust span:not(:last-child)::after {
  content: "";
  width: 3px;
  height: 3px;
  margin: 0 11px;
  border-radius: 50%;
  background: #b5a089;
}

.avatar-stack,
.trust-stars { display: none !important; }

.hero-visual {
  padding: 18px 0 0 14px;
}

.hero-visual::before {
  content: "";
  position: absolute;
  inset: 0 13px 20px 0;
  border: 1px solid #dcd5cc;
  background: #e9e2d9;
  z-index: -1;
}

.hero-project-card {
  min-height: 0;
  padding: 19px;
  border: 1px solid #ded7cf;
  border-radius: 5px;
  background: #fffefd;
  box-shadow: 0 30px 60px rgba(31, 28, 25, .13);
}

.hero-project-card::before { display: none; }
.project-visual-head { margin-bottom: 16px; }
.project-visual-head h3 { color: #1d2026; font-size: 17px; }
.micro-label { color: #8e7f70; font-family: var(--sans); font-size: 9px; font-weight: 800; letter-spacing: .14em; }

.small-pill {
  color: #5d5144;
  background: #eee7dc;
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 800;
}

.small-pill .pulse { background: #638772; }

.mini-photo-row {
  display: block;
  height: 267px;
  border: 1px solid #e4ddd4;
  border-radius: 2px;
  background-image: linear-gradient(90deg, rgba(29, 32, 38, .06), transparent 45%), url("./assets/renolink-kitchen-hero.png");
  background-size: cover;
  background-position: center;
}

.mini-photo { display: none; }

.quote-preview {
  margin-top: 12px;
  padding: 13px;
  border-color: #e6e0d8;
  border-radius: 5px;
  background: #fcfaf7;
}

.quote-preview strong { color: #29292e; font-size: 11px; }
.quote-preview span { color: #77747a; font-size: 10px; }
.quote-price { color: #1d2026; font-size: 20px; }

.match-capsule {
  right: -18px;
  bottom: 36px;
  padding: 13px 15px;
  border-color: #ddd4ca;
  border-radius: 4px;
  background: #1d2026;
  box-shadow: 0 12px 28px rgba(22, 24, 28, .18);
}

.match-capsule b { color: #e3d3bf; font-family: var(--sans); font-size: 17px; }
.match-capsule span { color: #c8c0b8; font-family: var(--sans); font-size: 9px; }
.floating-check {
  top: 30px;
  left: -17px;
  width: 38px;
  height: 38px;
  border: 3px solid #f7f6f3;
  border-radius: 3px;
  background: #b5a089;
  box-shadow: none;
  font-size: 16px;
}

.trusted-strip {
  border-color: #e4dfd8;
  background: #fffefd;
}

.trusted-row { min-height: 86px; }
.trusted-intro { color: #777279; font-size: 10px; }
.trusted-items { gap: 8px; }
.trusted-item { justify-content: flex-start; color: #43434a; font-size: 11px; }
.trusted-item span { color: #b5a089; font-size: 14px; }

.section { padding: 108px 0; }
.section-tint { background: #eeece7; }
.section-heading { margin-bottom: 50px; }
.section-heading h2 { color: #22242a; font-size: clamp(42px, 4vw, 60px); letter-spacing: -2.6px; }
.section-heading p { color: #69686e; font-size: 14px; line-height: 1.75; }

.process-grid { gap: 0; border-top: 1px solid #dcd5cc; }
.process-card {
  min-height: 218px;
  padding: 28px 30px 20px 0;
  border: 0;
  border-right: 1px solid #dcd5cc;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.process-card:not(:first-child) { padding-left: 30px; }
.process-card:last-child { border-right: 0; }
.process-card .step-no {
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 50%;
  background: #1d2026;
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 800;
}

.process-card h3 { margin: 28px 0 9px; color: #24252a; font-size: 18px; }
.process-card p { color: #727076; font-size: 12px; line-height: 1.72; }
.process-graphic { display: none; }

.category-grid { gap: 14px; }
.category-panel {
  min-height: 392px;
  padding: 42px;
  border-radius: 8px;
  background: #1d2026;
}

.category-panel::after {
  right: -70px;
  bottom: -160px;
  background: #35333a;
}

.category-panel h2 { font-size: 47px; }
.category-panel p { color: #c8c2bb; }
.category-panel .button { color: #1d2026; border-radius: 7px; }
.category-list { gap: 14px; }
.category-card {
  min-height: 188px;
  padding: 22px;
  border-color: #dfd9d2;
  border-radius: 8px;
  background: #fffefd;
}

.category-card .cat-icon {
  width: 35px;
  height: 35px;
  color: #786a5a;
  border-radius: 4px;
  background: #eee9e2;
  font-size: 15px;
}

.category-card h3 { margin-top: 42px; color: #25262b; font-size: 15px; }
.category-card small { color: #7a777d; }
.category-card::after { color: #a5927c; }

.builder-cta {
  padding: 84px 0;
  background: #1d2026;
}

.builder-cta .eyebrow { color: #c3ad94; }
.builder-cta h2 { color: #fffefd; }
.builder-cta h2 em { color: #c7b293; }
.builder-cta p { color: #c8c5c1; }
.builder-cta .button-primary {
  color: #1d2026;
  background: #c7b293;
  box-shadow: none;
}

.builder-cta .button-primary:hover:not(:disabled) { background: #e0d0bb; }
.builder-join-link { margin-left: 15px; color: #d5c1a8; }
.builder-join-link:hover { color: #fffefd; }
.builder-points { color: #c8c5c1; }
.builder-points span::before { color: #c7b293; }

.site-footer { padding: 43px 0; background: #121419; }
.footer-inner { color: #a8a4a0; }
.footer-inner .brand { align-items: flex-start; color: #fffefd; }
.footer-inner .brand-signature { flex-wrap: wrap; max-width: 180px; }
.footer-inner .brand-symbol { width: 44px; }
.footer-inner .brand-symbol .brand-ink,
.footer-inner .brand-symbol .brand-roof,
.footer-inner .brand-symbol .brand-window { fill: #f5f1eb; }
.footer-inner .brand-symbol .brand-stone { fill: #b5a089; }
.footer-inner .brand-wordmark { color: #f5f1eb; font-size: 13px; }
.footer-inner .brand-wordmark b:last-child { color: #c2ad95; }
.footer-inner .brand-tagline { display: block; }
.footer-links { color: #b9b3ab; }
.footer-links .nav-signin { color: #b9b3ab; }

/* Workspace polish */
.workspace-shell { background: #f5f3f0; }
.workspace-topbar {
  min-height: 76px;
  border-color: #e3ded7;
  background: rgba(255, 254, 253, .9);
}

.workspace-head { gap: 25px; }
.workspace-back { color: #777178; font-size: 11px; }
.role-selector {
  padding: 3px;
  border-color: #e1dbd4;
  border-radius: 6px;
  background: #f5f2ee;
}

.role-selector button {
  color: #757179;
  border-radius: 4px;
  font-size: 10px;
}

.role-selector button.active {
  color: #1d2026;
  background: #fffefd;
  box-shadow: 0 2px 6px rgba(27, 26, 24, .08);
}

.workspace-main { padding-top: 44px; }
.workspace-title-row h1 { color: #202126; font-size: 47px; letter-spacing: -2px; }
.workspace-title-row p { color: #737178; font-size: 12px; }
.workspace-tabs {
  gap: 2px;
  padding: 3px;
  border-color: #e2dcd5;
  border-radius: 6px;
  background: #efede9;
}

.workspace-tab {
  border-radius: 4px;
  color: #767179;
  font-size: 11px;
}

.workspace-tab.active {
  color: #1d2026;
  background: #fffefd;
  box-shadow: 0 2px 6px rgba(31, 29, 27, .08);
}

.card {
  border-color: #e0dbd4;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(31, 29, 26, .025);
}

.project-banner {
  background: linear-gradient(122deg, #1b1d23, #313037);
}

.project-banner::after {
  border-color: rgba(196, 176, 152, .16);
}

.project-banner h2 { color: #fffefd; }
.project-banner p { color: #d0cbc5; }
.project-banner-meta { color: #cbc5bd; }
.project-banner-meta span::before { color: #c7b293; }
.project-banner .status-chip { color: #f5f1ec; border-color: rgba(255,255,255,.18); }

.status-timeline {
  padding: 25px 23px 17px;
  background: #fffefd;
}

.timeline-step { color: #9b9692; font-size: 10px; }
.timeline-step.active { color: #1d2026; }
.timeline-step.active .timeline-dot { background: #1d2026; box-shadow: 0 0 0 1px #1d2026; }
.timeline-step.complete { color: #557665; }
.timeline-step.complete .timeline-dot { background: #5b8a72; box-shadow: 0 0 0 1px #5b8a72; }
.timeline-step.complete:not(:last-child)::after { background: #9fb8a8; }

.section-card-head h3 { color: #26262c; font-size: 16px; }
.section-card-head p { color: #757179; font-size: 11px; }
.counter { color: #695b4d; border-radius: 5px; background: #eee7de; }

.quote-card { gap: 14px; padding: 17px 9px; border-color: #e8e3dd; }
.builder-avatar { border-radius: 8px; }
.builder-avatar.a { background: #35343a; }
.builder-avatar.b { background: #987d65; }
.builder-avatar.c { background: #66717d; }
.builder-avatar.d { background: #7c7370; }
.quote-card-main h4 { color: #25262b; font-size: 13px; }
.quote-card-main p { color: #7b777d; font-size: 10px; }
.quote-card-main .rating { color: #9c7c55; }
.quote-card-price strong { color: #28292e; }

.next-action {
  border-color: #e4d8ca;
  background: #f7f1e9;
}

.next-action .micro-label { color: #987d5e; }
.next-action h3 { color: #28282d; }
.next-action p { color: #706a63; }
.detail-row { border-color: #e8e3dd; color: #24252a; font-size: 11px; }
.detail-row span { color: #777279; }
.match-reason { color: #645544; }
.match-reason::before { color: #b5a089; }

.builder-profile-card {
  color: #fffefd;
  border-color: #27282e;
  background: #27282e;
}

.builder-profile-card .builder-avatar { background: #a88f74; }
.builder-profile-card p { color: #c9c4bd; }
.builder-profile-meta div { background: rgba(255,255,255,.075); }
.builder-profile-meta span { color: #c3bdb6; }
.opportunity-card { padding: 23px; }
.opp-topline .micro-label { color: #8e7862; }
.opportunity-card h3 { color: #292a2f; }
.opportunity-card p { color: #767178; font-size: 12px; }
.opp-meta { color: #767178; }
.opp-meta span::before { color: #b5a089; }
.opp-side .match-score { color: #2c2d32; }

.admin-stat-grid { gap: 12px; }
.stat-card { border-top: 2px solid #c7b293; }
.stat-card span { color: #79747a; }
.stat-card strong { color: #24252a; }
.data-table th { color: #837c75; font-family: var(--sans); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.data-table td { color: #656168; font-size: 11px; }
.data-table td b { color: #2b2b31; }

.wizard-page { background: #f5f3ef; }
.wizard-top { border-color: #e0dbd4; background: rgba(255,254,253,.7); }
.wizard-save { color: #817b75; }
.wizard-save::before { background: #738e7d; }
.wizard-layout { gap: 66px; }
.wizard-aside h1 { color: #23242a; font-size: 43px; }
.wizard-aside p { color: #706e74; }
.wizard-step { color: #8b8580; font-size: 11px; }
.wizard-step-no { border-color: #d2cac1; color: #817970; }
.wizard-step.active { color: #22242a; }
.wizard-step.active .wizard-step-no { border-color: #22242a; background: #22242a; }
.wizard-step.complete { color: #6b8375; }
.wizard-step.complete .wizard-step-no { border-color: #718e7d; background: #718e7d; }
.wizard-card { border-color: #e1dcd5; border-radius: 12px; box-shadow: 0 24px 58px rgba(30, 28, 25, .07); }
.wizard-progress { background: #ebe5de; }
.wizard-progress > span { background: #b5a089; }
.wizard-card h2 { color: #222329; font-size: 37px; }
.wizard-card > p { color: #716f74; font-size: 13px; }
.select-option { border-color: #e0dad2; border-radius: 8px; background: #fffefd; }
.select-option:hover { border-color: #b5a089; }
.select-option.selected { color: #292a2f; border-color: #96816b; background: #f6f1eb; box-shadow: inset 0 0 0 1px #96816b; }
.select-option .option-icon { color: #786957; border-radius: 5px; background: #eee7de; }
.field label { color: #59565b; font-size: 11px; }
.field input, .field select, .field textarea { border-color: #ded8d1; border-radius: 7px; background: #fffefd; font-size: 12px; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #96816b; box-shadow: 0 0 0 3px rgba(181, 160, 137, .16); }
.budget-option { border-color: #e0dad2; border-radius: 7px; background: #fffefd; }
.budget-option.selected { color: #292a2f; border-color: #96816b; background: #f6f1eb; }
.budget-option.selected::after { border-color: #96816b; }
.upload-zone { border-color: #c6b9aa; border-radius: 9px; color: #6e655d; background: #fbfaf7; }
.upload-icon { color: #786957; border-radius: 6px; background: #eee7de; }
.upload-zone b { color: #3b3a3e; }
.upload-file { color: #625648; border-radius: 5px; background: #efe9e1; }

.modal { border-color: #e1dcd5; border-radius: 14px; background: #fffefd; box-shadow: 0 28px 80px rgba(22, 21, 19, .24); }
.modal-head h2 { color: #25262b; }
.modal-head p { color: #716f74; }
.modal-close { border-color: #ddd7d0; border-radius: 6px; color: #6e6a6f; background: #fffefd; }
.notice { border-color: #dfdbd4; border-radius: 7px; color: #645f5a; background: #f5f3f0; }
.notice .notice-icon { color: #85735f; }
.milestone-row { border-color: #e3ddd5; border-radius: 6px; background: #fbfaf8; }
.milestone-row b { color: #584b3e; }
.toast { border-radius: 7px; background: #24252b; }
.toast::before { color: #4c6657; background: #d8e5db; }

@media (max-width: 900px) {
  .nav-mobile-builder {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0;
    border: 0;
    color: #565159;
    background: transparent;
    font-size: 11px;
    font-weight: 800;
  }

  .hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .hero-visual { width: min(100% - 20px, 620px); }
  .hero-project-card { max-width: 620px; }
  .wizard-layout { gap: 22px; }
}

@media (max-width: 660px) {
  .site-nav { height: 76px; }
  .brand-symbol { width: 37px; height: 25px; }
  .brand-wordmark { font-size: 12px; letter-spacing: .15em; }
  .nav-actions { gap: 11px; }
  .nav-mobile-builder { font-size: 10px; }
  .home-hero { padding: 42px 0 58px; background-size: 48px 48px; }
  .hero-copy h1 { font-size: 55px; letter-spacing: -3px; }
  .hero-copy > p { font-size: 14px; }
  .hero-trust { gap: 7px; font-size: 9px; }
  .hero-trust span:not(:last-child)::after { margin: 0 7px; }
  .hero-visual { padding-left: 8px; }
  .hero-project-card { padding: 13px; }
  .mini-photo-row { height: 198px; }
  .match-capsule { right: -9px; bottom: 20px; }
  .floating-check { left: -12px; }
  .trusted-row { gap: 13px; }
  .trusted-items { gap: 10px; }
  .section { padding: 78px 0; }
  .process-grid { grid-template-columns: 1fr; }
  .process-card,
  .process-card:not(:first-child) { min-height: 0; padding: 24px 0; border-right: 0; border-bottom: 1px solid #dcd5cc; }
  .process-card:last-child { border-bottom: 0; }
  .category-panel { padding: 30px; min-height: 340px; }
  .category-panel h2 { font-size: 39px; }
  .builder-join-link { display: block; margin: 14px 0 0; }
  .footer-inner .brand-tagline { font-size: 7px; }
  .workspace-title-row h1 { font-size: 40px; }
  .workspace-head { gap: 12px; }
  .workspace-topbar .brand-wordmark { font-size: 11px; }
  .workspace-topbar .brand-symbol { width: 33px; }
  .builder-profile-switch { display: none; }
}

/* The supplied RenoLink artwork is used as-is; these frames only crop its white canvas for responsive placement. */
.brand-signature-artwork { display: block; }

.brand-artwork-frame {
  position: relative;
  display: block;
  overflow: hidden;
  flex: 0 0 auto;
  background: transparent;
}

.brand-artwork-frame img {
  position: absolute;
  display: block;
  width: 180px;
  max-width: none;
  height: auto;
  left: -10px;
  top: -40px;
  mix-blend-mode: multiply;
}

.brand-artwork-header {
  width: 160px;
  height: 78px;
}

.brand-artwork-footer {
  width: 170px;
  height: 100px;
}

.brand-artwork-footer img {
  width: 190px;
  left: -10px;
  top: -42px;
}

.site-nav .brand,
.wizard-top .brand,
.workspace-topbar .brand {
  height: 78px;
  display: inline-flex;
  align-items: center;
}

.site-footer {
  border-top: 1px solid #e4dfd8;
  background: #fffefd;
  color: #6e6964;
}

.footer-inner .brand,
.footer-inner .brand-signature {
  max-width: none;
  align-items: center;
}

.footer-inner .brand-artwork-frame { background: #fff; }
.footer-inner .brand-symbol,
.footer-inner .brand-wordmark,
.footer-inner .brand-tagline { display: none; }

.footer-links,
.footer-links .nav-signin { color: #6e6964; }

@media (max-width: 660px) {
  .brand-artwork-header {
    width: 126px;
    height: 61px;
  }

  .brand-artwork-frame img {
    width: 142px;
    left: -8px;
    top: -32px;
  }

  .site-nav .brand,
  .wizard-top .brand,
  .workspace-topbar .brand { height: 62px; }

  .brand-artwork-footer {
    width: 145px;
    height: 86px;
  }

  .brand-artwork-footer img {
    width: 163px;
    left: -9px;
    top: -36px;
  }
}

/* Final presentation pass: clear hierarchy, comfortable reading sizes and a faithful, larger logo crop. */
.site-nav { height: 128px; }
.wizard-top { height: 124px; }
.workspace-topbar { height: 112px; }

.site-nav .brand,
.wizard-top .brand { height: 124px; }

.workspace-topbar .brand { height: 106px; }

.site-nav .brand-artwork-header {
  width: 228px;
  height: 124px;
}

.site-nav .brand-artwork-header img {
  width: 282px;
  left: -29px;
  top: -65px;
}

.wizard-top .brand-artwork-header {
  width: 210px;
  height: 116px;
}

.wizard-top .brand-artwork-header img {
  width: 260px;
  left: -27px;
  top: -60px;
}

.workspace-topbar .brand-artwork-header {
  width: 194px;
  height: 106px;
}

.workspace-topbar .brand-artwork-header img {
  width: 240px;
  left: -25px;
  top: -55px;
}

.brand-artwork-footer {
  width: 228px;
  height: 143px;
}

.brand-artwork-footer img {
  width: 282px;
  left: -29px;
  top: -65px;
}

.nav-links,
.nav-signin { font-size: 14px; }
.nav-mobile-builder { font-size: 13px; }
.button { min-height: 48px; font-size: 14px; font-weight: 700; }
.button-small { min-height: 40px; font-size: 12px; }
.eyebrow { font-size: 11px; }
.micro-label { font-size: 10.5px; }

.hero-copy > p {
  max-width: 540px;
  font-size: 17px;
  line-height: 1.7;
}

.quiet-link { font-size: 14px; }
.hero-trust { font-size: 12px; }
.trusted-intro { font-size: 12px; }
.trusted-item { font-size: 13px; }
.section-heading p { font-size: 16px; }
.process-card .step-no { font-size: 12px; }
.process-card h3 { font-size: 20px; }
.process-card p { font-size: 14px; }
.category-card h3 { font-size: 17px; }
.category-card small { font-size: 12px; }

.workspace-back { font-size: 12px; }
.role-selector button { font-size: 12px; }
.workspace-title-row p { font-size: 14px; }
.workspace-tab { font-size: 12px; }
.project-banner h2 { font-size: 37px; }
.project-banner p { font-size: 14px; }
.project-banner-meta { font-size: 12px; }
.timeline-step { font-size: 11px; }
.section-card-head h3 { font-size: 18px; }
.section-card-head p { font-size: 12.5px; }
.quote-card-main h4 { font-size: 15px; }
.quote-card-main p { font-size: 12px; }
.next-action h3 { font-size: 19px; }
.next-action p { font-size: 13px; line-height: 1.7; }
.detail-row { font-size: 13px; }
.opportunity-card p { font-size: 13px; }
.data-table th { font-size: 10.5px; }
.data-table td { font-size: 12px; }
.data-table td b { font-size: 12.5px; }

.wizard-save { font-size: 11px; }
.wizard-aside p { font-size: 14px; line-height: 1.7; }
.wizard-step { font-size: 12px; }
.wizard-reassurance { font-size: 11px; }
.wizard-card h2 { font-size: 39px; }
.wizard-card > p { font-size: 15px; }
.field label { font-size: 12px; }
.field small { font-size: 11px; }
.field input,
.field select,
.field textarea { font-size: 14px; }
.modal-head p { font-size: 13px; }
.notice { font-size: 13px; }

/* Keep the useful detail readable too — not just the headlines. */
.small-pill { font-size: 11.5px; }
.quote-preview strong { font-size: 14px; }
.quote-preview span { font-size: 12px; }
.match-capsule span { font-size: 11.5px; }
.builder-points,
.footer-inner { font-size: 13px; }
.status-chip,
.counter { font-size: 11.5px; }
.quote-card-main .rating { font-size: 11.5px; }
.quote-card-price span { font-size: 11px; }
.activity-copy { font-size: 12.5px; }
.activity-time { font-size: 11px; }
.match-reason { font-size: 12px; }
.select-option b { font-size: 13px; }
.budget-option { font-size: 13px; }
.upload-zone b { font-size: 14px; }
.upload-zone span { font-size: 12px; }
.upload-file { font-size: 11.5px; }
.validation-note { font-size: 12px; }
.builder-profile-card h3 { font-size: 16px; }
.builder-profile-card p { font-size: 12px; }
.builder-profile-meta span { font-size: 11px; }
.builder-profile-meta b { font-size: 13px; }
.opp-meta { font-size: 12px; }
.opp-side small { font-size: 11px; }
.empty-state p { font-size: 13px; }
.stat-card span { font-size: 12px; }
.stat-card small { font-size: 11px; }
.compare-header h3 { font-size: 18px; }
.compare-header p { font-size: 13px; }
.comparison-table th { font-size: 10.5px; }
.comparison-table td { font-size: 12.5px; }
.comparison-table td:first-child { font-size: 12.5px; }
.comparison-table .builder-head { font-size: 13px; }
.quote-form-foot span { font-size: 11.5px; }
.detail-modal-builder p { font-size: 12px; }
.milestone-row { font-size: 12.5px; }
.toast { font-size: 13px; }

@media (max-width: 660px) {
  .site-nav { height: 104px; }
  .site-nav .brand { height: 100px; }
  .site-nav .brand-artwork-header {
    width: 178px;
    height: 100px;
  }
  .site-nav .brand-artwork-header img {
    width: 216px;
    left: -22px;
    top: -48px;
  }
  .nav-mobile-builder { display: none; }
  .nav-actions .button {
    min-height: 44px;
    padding: 0 14px;
    font-size: 12px;
  }

  .wizard-top { height: 100px; }
  .wizard-top .brand { height: 96px; }
  .wizard-top .brand-artwork-header {
    width: 172px;
    height: 96px;
  }
  .wizard-top .brand-artwork-header img {
    width: 210px;
    left: -22px;
    top: -47px;
  }

  .workspace-topbar { min-height: 72px; height: 72px; padding: 0; }
  .workspace-topbar .brand { height: 64px; }
  .workspace-topbar .brand-artwork-header {
    width: 112px;
    height: 64px;
  }
  .workspace-topbar .brand-artwork-header img {
    width: 140px;
    left: -14px;
    top: -32px;
  }
  .role-selector button { padding: 8px 7px; font-size: 10px; }

  .hero-copy > p { font-size: 16px; }
  .hero-trust { font-size: 11px; }
  .trusted-intro { font-size: 12px; }
  .trusted-item { font-size: 12px; }
  .section-heading p { font-size: 15px; }
  .process-card h3 { font-size: 19px; }
  .process-card p { font-size: 14px; }
  .category-card h3 { font-size: 17px; }
  .category-card small { font-size: 12px; }

  .workspace-title-row p { font-size: 13px; }
  .project-banner h2 { font-size: 32px; }
  .project-banner p { font-size: 13px; }
  .section-card-head h3 { font-size: 17px; }
  .section-card-head p { font-size: 12px; }
  .wizard-aside p { font-size: 14px; }
  .wizard-card h2 { font-size: 33px; }
  .wizard-card > p { font-size: 14px; }
  .field input,
  .field select,
  .field textarea { font-size: 16px; }

  .brand-artwork-footer {
    width: 190px;
    height: 120px;
  }
  .brand-artwork-footer img {
    width: 236px;
    left: -24px;
    top: -54px;
  }
}

/* Editorial marketing home: confident typography, generous pace and visual proof. */
.editorial-shell,
.editorial-home { background: #f8f6f2; }

.editorial-shell .site-nav { border-bottom-color: #ded8d0; }

.renolink-hero {
  overflow: hidden;
  background: #f8f6f2;
}

.renolink-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(440px, .98fr);
  min-height: 684px;
  border-bottom: 1px solid #ded8d0;
}

.renolink-hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 76px 66px 84px 0;
}

.renolink-kicker,
.renolink-section-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: #716458;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.25;
  text-transform: uppercase;
}

.renolink-kicker span + span::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin: 0 12px 2px 0;
  border-radius: 50%;
  background: #b5a089;
}

.renolink-hero-copy h1 {
  max-width: 720px;
  margin: 27px 0 25px;
  color: #1d2026;
  font-family: var(--sans);
  font-size: clamp(64px, 7.2vw, 106px);
  font-weight: 700;
  letter-spacing: -.085em;
  line-height: .88;
}

.renolink-hero-copy h1 em {
  color: #9f8b75;
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -.065em;
}

.renolink-hero-copy > p {
  max-width: 510px;
  margin: 0;
  color: #5f5c5c;
  font-size: 18px;
  line-height: 1.6;
}

.renolink-hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 26px;
  margin-top: 35px;
}

.renolink-hero-actions .button { min-height: 54px; padding: 0 23px; }

.editorial-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border: 0;
  color: #25272d;
  background: transparent;
  font-size: 14px;
  font-weight: 800;
  text-align: left;
  text-decoration: underline;
  text-decoration-color: #b5a089;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  transition: color .2s ease, gap .2s ease;
}

.editorial-text-link:hover { gap: 14px; color: #8c7761; }
.editorial-text-link span { font-size: 18px; line-height: .8; }

.renolink-hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 51px;
  padding-top: 18px;
  border-top: 1px solid #d6d0c8;
  color: #676268;
  font-size: 12px;
  font-weight: 700;
}

.renolink-hero-proof span { display: inline-flex; align-items: center; }
.renolink-hero-proof span:not(:last-child)::after {
  content: "";
  width: 3px;
  height: 3px;
  margin: 0 13px;
  border-radius: 50%;
  background: #b5a089;
}

.renolink-hero-media {
  position: relative;
  min-height: 684px;
  margin: 0;
  background: #25272c;
  overflow: visible;
}

.renolink-media-frame {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.renolink-media-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15,17,20,.05) 23%, rgba(15,17,20,.18) 100%);
  pointer-events: none;
}

.renolink-media-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.renolink-hero-media figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  display: grid;
  gap: 8px;
  width: min(74%, 390px);
  padding: 24px 28px 25px;
  color: #fffefd;
  background: #1d2026;
}

.renolink-hero-media figcaption span,
.renolink-quote-note span,
.renolink-match-note span {
  color: #d0c6bb;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.renolink-hero-media figcaption strong { font-size: 18px; letter-spacing: -.035em; }

.renolink-match-note {
  position: absolute;
  top: 30px;
  left: -42px;
  display: grid;
  gap: 3px;
  min-width: 138px;
  padding: 15px 17px 16px;
  color: #1d2026;
  background: #c2ad96;
  box-shadow: 0 18px 34px rgba(30, 27, 23, .12);
}

.renolink-match-note b { font-family: var(--serif); font-size: 33px; letter-spacing: -.07em; line-height: .9; }
.renolink-match-note span { color: #4c453d; font-size: 9px; }

.renolink-quote-note {
  position: absolute;
  right: 25px;
  bottom: 26px;
  display: grid;
  gap: 5px;
  padding: 15px 17px;
  color: #26272c;
  background: #fffefd;
  box-shadow: 0 16px 35px rgba(27, 25, 22, .14);
}

.renolink-quote-note span { color: #77706a; font-size: 9px; }
.renolink-quote-note strong { font-size: 14px; letter-spacing: -.03em; }

.renolink-statement { padding: 130px 0 126px; background: #b5a089; }

.renolink-statement-grid {
  display: grid;
  grid-template-columns: minmax(145px, .33fr) minmax(0, 1.15fr) minmax(260px, .58fr);
  gap: 48px;
  align-items: start;
}

.renolink-statement .renolink-section-label { color: #3e3831; padding-top: 12px; }

.renolink-statement h2,
.renolink-method h2,
.renolink-comparison h2,
.renolink-types-head h2,
.renolink-builder-callout h2 {
  margin: 0;
  font-family: var(--sans);
  font-weight: 700;
  letter-spacing: -.07em;
  line-height: .91;
}

.renolink-statement h2 { max-width: 670px; color: #1d2026; font-size: clamp(48px, 5.1vw, 78px); }
.renolink-statement h2 em,
.renolink-builder-callout h2 em { font-family: var(--serif); font-weight: 500; letter-spacing: -.05em; }

.renolink-statement-copy {
  padding-top: 13px;
  color: #37322d;
  font-size: 16px;
  line-height: 1.65;
}

.renolink-statement-copy > p { margin: 0; }

.renolink-trust-list {
  display: grid;
  gap: 0;
  margin-top: 37px;
  border-top: 1px solid rgba(48, 42, 36, .42);
}

.renolink-trust-list span {
  padding: 13px 0;
  border-bottom: 1px solid rgba(48, 42, 36, .42);
  font-size: 12px;
  font-weight: 800;
}

.renolink-trust-list span::before {
  content: "\2197";
  margin-right: 10px;
  font-size: 15px;
}

.renolink-method { padding: 145px 0 130px; background: #fffefd; }

.renolink-method-intro {
  display: grid;
  grid-template-columns: minmax(145px, .33fr) minmax(0, 1.15fr) minmax(240px, .58fr);
  gap: 48px;
  align-items: start;
  margin-bottom: 82px;
}

.renolink-method-intro .renolink-section-label { padding-top: 9px; }
.renolink-method h2 { max-width: 650px; color: #1d2026; font-size: clamp(47px, 4.7vw, 72px); }

.renolink-method-intro > p:last-child {
  max-width: 295px;
  margin: 8px 0 0;
  color: #666166;
  font-size: 16px;
  line-height: 1.65;
}

.renolink-method-list { border-top: 1px solid #d9d3cb; }

.renolink-method-step {
  display: grid;
  grid-template-columns: 145px minmax(0, 1fr) 40px;
  gap: 32px;
  align-items: center;
  padding: 34px 0 37px;
  border-bottom: 1px solid #d9d3cb;
}

.renolink-method-step > span {
  color: #a18d78;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .08em;
}

.renolink-method-step > div { display: grid; grid-template-columns: minmax(220px, .87fr) minmax(220px, .58fr); gap: 38px; align-items: baseline; }
.renolink-method-step h3 { margin: 0; color: #24262c; font-family: var(--sans); font-size: clamp(29px, 3.1vw, 44px); font-weight: 700; letter-spacing: -.06em; line-height: 1; }
.renolink-method-step p { max-width: 325px; margin: 0; color: #666166; font-size: 15px; line-height: 1.6; }
.renolink-method-step i { color: #9f8b75; font-size: 29px; font-style: normal; text-align: right; }

.renolink-comparison { padding: 132px 0; color: #f8f5ef; background: #1d2026; }

.renolink-comparison-grid {
  display: grid;
  grid-template-columns: minmax(0, .84fr) minmax(430px, 1.02fr);
  gap: 92px;
  align-items: center;
}

.renolink-comparison-copy .renolink-section-label { color: #cabaa9; }
.renolink-comparison h2 { max-width: 590px; margin-top: 22px; font-size: clamp(51px, 5.1vw, 76px); }
.renolink-comparison-copy > p:not(.renolink-section-label) { max-width: 450px; margin: 26px 0 31px; color: #c8c4be; font-size: 17px; line-height: 1.65; }
.renolink-comparison .button-outline { min-height: 51px; color: #f8f5ef; border-color: rgba(255,255,255,.33); background: transparent; }
.renolink-comparison .button-outline:hover { color: #1d2026; border-color: #f7f4ef; background: #f7f4ef; }

.renolink-comparison-board {
  padding: 16px 25px 23px;
  color: #26282d;
  background: #f8f5ef;
  box-shadow: 18px 18px 0 #9f8b75;
}

.renolink-board-head,
.renolink-board-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 12px 0 16px;
  color: #655d57;
  font-size: 11px;
  font-weight: 700;
}

.renolink-board-head b,
.renolink-board-foot b { color: #28292e; font-size: 11px; }

.renolink-builder-line {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 17px 12px;
  border-top: 1px solid #ddd6ce;
}

.renolink-builder-line.selected { margin: 0 -12px; padding-right: 24px; padding-left: 24px; color: #fffefd; border-top-color: transparent; background: #282a2f; }
.renolink-builder-line > div { min-width: 0; }
.renolink-builder-line b { display: block; font-size: 15px; letter-spacing: -.03em; }
.renolink-builder-line small { display: block; margin-top: 4px; color: #766f69; font-size: 11px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.renolink-builder-line.selected small { color: #d1c7bc; }
.renolink-builder-line > strong { font-family: var(--serif); font-size: 23px; font-weight: 600; letter-spacing: -.05em; }

.renolink-builder-monogram {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: #fffefd;
  background: #5b6972;
  font-size: 11px;
  font-weight: 800;
}

.renolink-builder-monogram.stone { color: #282a2f; background: #c4ae94; }
.renolink-builder-monogram.warm { background: #836e63; }
.renolink-builder-line.selected .renolink-builder-monogram { color: #282a2f; background: #e3d7c9; }
.renolink-board-foot { padding: 18px 0 1px; border-top: 1px solid #ddd6ce; }

.renolink-project-types { padding: 138px 0 124px; background: #f1ede7; }

.renolink-types-head {
  display: grid;
  grid-template-columns: minmax(145px, .33fr) minmax(0, 1.15fr);
  gap: 48px;
  align-items: start;
  margin-bottom: 80px;
}

.renolink-types-head .renolink-section-label { padding-top: 11px; }
.renolink-types-head h2 { max-width: 760px; color: #1d2026; font-size: clamp(49px, 5vw, 76px); }
.renolink-types-list { border-top: 1px solid #cfc6bc; }

.renolink-types-list button {
  display: grid;
  grid-template-columns: 145px 1fr 42px;
  gap: 25px;
  align-items: center;
  width: 100%;
  padding: 25px 0 27px;
  border: 0;
  border-bottom: 1px solid #cfc6bc;
  color: #1e2026;
  background: transparent;
  text-align: left;
  transition: padding .2s ease, color .2s ease;
}

.renolink-types-list button:hover { padding-right: 16px; padding-left: 16px; color: #7f6b57; }
.renolink-types-list button span { color: #a18d78; font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.renolink-types-list button b { font-size: clamp(28px, 3.2vw, 43px); letter-spacing: -.06em; line-height: 1; }
.renolink-types-list button i { font-size: 28px; font-style: normal; text-align: right; }

.renolink-builder-callout { padding: 137px 0 144px; color: #fffefd; background: #1d2026; }

.renolink-builder-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.13fr) minmax(320px, .63fr);
  gap: 92px;
  align-items: end;
}

.renolink-builder-callout .renolink-section-label { color: #c3ae96; }
.renolink-builder-callout h2 { max-width: 800px; margin-top: 24px; color: #fffefd; font-size: clamp(57px, 6.2vw, 92px); }
.renolink-builder-callout h2 em { color: #c3ae96; }
.renolink-builder-copy > p { max-width: 392px; margin: 0 0 29px; color: #c9c3bb; font-size: 17px; line-height: 1.65; }
.renolink-builder-callout .button-primary { min-height: 54px; color: #1d2026; background: #f8f5ef; box-shadow: none; }
.renolink-builder-callout .button-primary:hover { color: #1d2026; background: #d6c3ad; }
.editorial-text-link-light { margin-top: 20px; color: #f8f5ef; text-decoration-color: #c3ae96; }
.editorial-text-link-light:hover { color: #d6c3ad; }

.editorial-footer { background: #f8f6f2; }

@media (max-width: 1000px) {
  .renolink-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(360px, .88fr); min-height: 610px; }
  .renolink-hero-copy { padding-right: 44px; }
  .renolink-hero-media { min-height: 610px; }
  .renolink-match-note { left: -22px; }
  .renolink-statement-grid,
  .renolink-method-intro { grid-template-columns: 132px minmax(0, 1fr) minmax(220px, .6fr); gap: 30px; }
  .renolink-comparison-grid,
  .renolink-builder-inner { gap: 55px; }
  .renolink-types-head { grid-template-columns: 132px minmax(0, 1fr); gap: 30px; }
  .renolink-method-step { grid-template-columns: 115px minmax(0, 1fr) 35px; gap: 25px; }
  .renolink-method-step > div { grid-template-columns: minmax(210px, .8fr) minmax(180px, .6fr); gap: 26px; }
  .renolink-types-list button { grid-template-columns: 115px 1fr 35px; }
}

@media (max-width: 760px) {
  .renolink-hero-grid { grid-template-columns: 1fr; min-height: 0; }
  .renolink-hero-copy { padding: 62px 0 55px; }
  .renolink-hero-copy h1 { max-width: 620px; font-size: clamp(58px, 14.5vw, 88px); }
  .renolink-hero-copy > p { font-size: 17px; }
  .renolink-hero-media { min-height: 475px; margin: 0 -22px; }
  .renolink-match-note { top: 24px; left: 20px; }
  .renolink-quote-note { right: 20px; bottom: 20px; }
  .renolink-hero-media figcaption { left: 0; width: min(76%, 390px); }

  .renolink-statement,
  .renolink-method,
  .renolink-comparison,
  .renolink-project-types,
  .renolink-builder-callout { padding: 82px 0; }

  .renolink-statement-grid,
  .renolink-method-intro,
  .renolink-types-head,
  .renolink-comparison-grid,
  .renolink-builder-inner { grid-template-columns: 1fr; gap: 26px; }

  .renolink-statement .renolink-section-label,
  .renolink-method-intro .renolink-section-label,
  .renolink-types-head .renolink-section-label { padding-top: 0; }
  .renolink-statement h2,
  .renolink-method h2,
  .renolink-comparison h2,
  .renolink-types-head h2,
  .renolink-builder-callout h2 { font-size: clamp(45px, 11vw, 66px); }
  .renolink-statement-copy { padding-top: 0; }
  .renolink-method-intro { margin-bottom: 47px; }
  .renolink-method-intro > p:last-child { margin-top: 0; }
  .renolink-method-step { grid-template-columns: 54px minmax(0, 1fr) 28px; gap: 14px; padding: 26px 0 29px; }
  .renolink-method-step > div { grid-template-columns: 1fr; gap: 11px; }
  .renolink-method-step h3 { font-size: clamp(26px, 7.6vw, 37px); }
  .renolink-method-step p { font-size: 14px; }
  .renolink-method-step > span { font-size: 11px; }
  .renolink-method-step i { font-size: 22px; }

  .renolink-comparison-copy > p:not(.renolink-section-label) { font-size: 16px; }
  .renolink-comparison-board { margin: 13px 18px 0 0; padding: 14px 18px 20px; box-shadow: 13px 13px 0 #9f8b75; }
  .renolink-builder-line { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; }
  .renolink-builder-line > strong { grid-column: 2; margin-top: -4px; font-size: 21px; }
  .renolink-builder-line.selected { padding-right: 19px; padding-left: 19px; }
  .renolink-board-head,
  .renolink-board-foot { align-items: flex-start; flex-direction: column; gap: 5px; }

  .renolink-types-head { margin-bottom: 47px; }
  .renolink-types-list button { grid-template-columns: 46px 1fr 28px; gap: 10px; padding: 23px 0; }
  .renolink-types-list button b { font-size: clamp(25px, 7.6vw, 36px); }
  .renolink-types-list button i { font-size: 23px; }
  .renolink-types-list button:hover { padding-right: 8px; padding-left: 8px; }
  .renolink-builder-copy > p { font-size: 16px; }
}

@media (max-width: 450px) {
  .renolink-kicker { flex-direction: column; align-items: flex-start; gap: 5px; }
  .renolink-kicker span + span::before { display: none; }
  .renolink-hero-copy { padding-top: 48px; }
  .renolink-hero-copy h1 { font-size: 57px; }
  .renolink-hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .renolink-hero-proof { gap: 8px 0; margin-top: 36px; }
  .renolink-hero-proof span { width: 100%; }
  .renolink-hero-proof span:not(:last-child)::after { display: none; }
  .renolink-hero-media { min-height: 405px; }
  .renolink-hero-media figcaption { width: 80%; padding: 17px 19px; }
  .renolink-hero-media figcaption strong { font-size: 15px; }
  .renolink-match-note { left: 13px; min-width: 116px; padding: 12px 13px; }
  .renolink-match-note b { font-size: 28px; }
  .renolink-quote-note { right: 13px; bottom: 15px; padding: 12px 13px; }
  .renolink-quote-note strong { font-size: 12px; }
  .renolink-statement h2,
  .renolink-method h2,
  .renolink-comparison h2,
  .renolink-types-head h2,
  .renolink-builder-callout h2 { font-size: 45px; }
  .renolink-statement-copy,
  .renolink-method-intro > p:last-child { font-size: 15px; }
}

/* Tangerine-format refinement: a cleaner, bolder case-study language for the public site. */
.editorial-shell,
.editorial-home,
.renolink-hero,
.renolink-method,
.renolink-project-types,
.editorial-footer { background: #fffefd; }

.editorial-home .button { border-radius: 0; }
.renolink-hero-grid { border-bottom-color: #1d2026; }

.renolink-hero-copy h1,
.renolink-hero-copy h1 em,
.renolink-statement h2 em,
.renolink-builder-callout h2 em,
.renolink-match-note b,
.renolink-builder-line > strong {
  font-family: var(--sans);
  font-style: normal;
}

.renolink-hero-copy h1 em { color: #a68f77; font-weight: 700; letter-spacing: -.085em; }
.renolink-hero-proof { border-top-color: #1d2026; }
.renolink-hero-media,
.renolink-media-frame,
.renolink-comparison-board,
.renolink-match-note,
.renolink-quote-note { border-radius: 0; }
.renolink-match-note,
.renolink-quote-note { box-shadow: none; }

.renolink-statement {
  padding-top: 143px;
  padding-bottom: 143px;
  border-bottom: 1px solid #1d2026;
  background: #fffefd;
}

.renolink-statement .renolink-section-label { color: #1d2026; }
.renolink-statement h2 { font-size: clamp(54px, 5.6vw, 86px); }
.renolink-statement h2 em { color: #a68f77; }

.renolink-statement-copy {
  min-height: 286px;
  padding: 28px 28px 27px;
  color: #1d2026;
  background: #b5a089;
  font-size: 17px;
}

.renolink-trust-list { margin-top: 31px; border-top-color: rgba(29,32,38,.55); }
.renolink-trust-list span { border-bottom-color: rgba(29,32,38,.55); }

.renolink-method { border-bottom: 1px solid #1d2026; }
.renolink-method h2 { font-size: clamp(51px, 5.1vw, 78px); }
.renolink-method-step { border-bottom-color: #1d2026; }
.renolink-method-list { border-top-color: #1d2026; }
.renolink-method-step > span { color: #a68f77; }
.renolink-method-step i { color: #1d2026; }

.renolink-comparison { background: #1d2026; }
.renolink-comparison h2 { font-size: clamp(56px, 5.7vw, 86px); }
.renolink-comparison-board { box-shadow: 15px 15px 0 #b5a089; }
.renolink-board-head,
.renolink-board-foot { font-family: var(--sans); }

.renolink-project-types { border-bottom: 1px solid #1d2026; }
.renolink-types-head h2 { font-size: clamp(55px, 5.6vw, 86px); }
.renolink-types-list,
.renolink-types-list button { border-color: #1d2026; }
.renolink-types-list button:hover { color: #a68f77; }

.renolink-builder-callout { background: #b5a089; }
.renolink-builder-callout .renolink-section-label { color: #1d2026; }
.renolink-builder-callout h2 { color: #1d2026; }
.renolink-builder-callout h2 em { color: #fffefd; }
.renolink-builder-copy > p { color: #3e3934; }
.renolink-builder-callout .button-primary { color: #fffefd; background: #1d2026; }
.renolink-builder-callout .button-primary:hover { color: #fffefd; background: #3c3c41; }
.editorial-text-link-light { color: #1d2026; text-decoration-color: #1d2026; }
.editorial-text-link-light:hover { color: #fffefd; text-decoration-color: #fffefd; }

@media (max-width: 760px) {
  .renolink-statement-copy { min-height: 0; padding: 24px 22px; }
  .renolink-statement,
  .renolink-method,
  .renolink-comparison,
  .renolink-project-types,
  .renolink-builder-callout { padding-top: 84px; padding-bottom: 84px; }
}

/* Case-study sequence: summary facts, uninterrupted imagery and flat editorial screens. */
.renolink-summary-grid {
  display: grid;
  grid-template-columns: 150px minmax(0, 1.2fr) minmax(250px, .58fr);
  grid-template-rows: auto auto;
  gap: 37px 48px;
  align-items: start;
}

.renolink-summary-grid > .renolink-section-label { grid-column: 1; grid-row: 1; padding-top: 11px; color: #1d2026; }

.renolink-summary-grid h2 {
  grid-column: 2;
  grid-row: 1 / span 2;
  max-width: 720px;
  margin: 0;
  color: #1d2026;
  font-family: var(--sans);
  font-size: clamp(57px, 5.8vw, 92px);
  font-weight: 700;
  letter-spacing: -.085em;
  line-height: .88;
}

.renolink-summary-intro {
  grid-column: 3;
  grid-row: 1;
  margin: 0;
  color: #4b4847;
  font-size: 17px;
  line-height: 1.65;
}

.renolink-summary-facts {
  display: grid;
  grid-column: 3;
  grid-row: 2;
  gap: 0;
  margin: 0;
  border-top: 1px solid #1d2026;
}

.renolink-summary-facts div {
  display: grid;
  grid-template-columns: 59px 1fr;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid #1d2026;
}

.renolink-summary-facts dt { color: #8e7761; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.renolink-summary-facts dd { margin: 0; color: #26282d; font-size: 13px; font-weight: 700; line-height: 1.4; }

.renolink-visual-interlude {
  display: block;
  width: 100vw;
  height: min(72vw, 830px);
  min-height: 560px;
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
  background: #24262b;
}

.renolink-visual-interlude img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.renolink-hero-media { overflow: hidden; }
.renolink-hero-media figcaption,
.renolink-match-note,
.renolink-quote-note,
.renolink-hero-proof { display: none; }

.renolink-method { padding-top: 168px; padding-bottom: 168px; }
.renolink-method-step { grid-template-columns: 145px minmax(0, 1fr); gap: 32px; padding-top: 48px; padding-bottom: 50px; }
.renolink-method-step > div { grid-template-columns: minmax(260px, 1fr) minmax(220px, .55fr); gap: 45px; }
.renolink-method-step > i { display: none; }
.renolink-method-step h3 { font-size: clamp(34px, 3.7vw, 53px); }
.renolink-method-step p { max-width: 340px; font-size: 16px; }

.renolink-comparison { padding-top: 165px; padding-bottom: 165px; }
.renolink-comparison-board {
  padding: 26px 32px 29px;
  border: 1px solid #f8f5ef;
  box-shadow: none;
}

.renolink-builder-line {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  padding: 27px 0;
}

.renolink-builder-line.selected {
  margin: 0;
  padding-right: 0;
  padding-left: 0;
  color: #1d2026;
  background: transparent;
}

.renolink-builder-line.selected small { color: #766f69; }
.renolink-builder-line > strong { font-size: 26px; font-weight: 700; }

.renolink-project-types { padding-top: 165px; padding-bottom: 165px; }
.renolink-types-head { margin-bottom: 72px; }

.renolink-types-grid {
  display: grid;
  grid-template-columns: 1.2fr .85fr .85fr;
  grid-template-rows: 285px 285px;
  gap: 1px;
  background: #1d2026;
}

.renolink-type-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  min-width: 0;
  overflow: hidden;
  padding: 28px;
  border: 0;
  color: #fffefd;
  background: #3b3937;
  text-align: left;
  transition: color .25s ease;
}

.renolink-type-tile img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}

.renolink-type-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(24,25,28,.06), rgba(24,25,28,.8));
}

.renolink-type-tile > span,
.renolink-type-tile > b,
.renolink-type-tile > i { position: relative; z-index: 2; }
.renolink-type-tile > span { margin-bottom: 11px; color: rgba(255,254,253,.82); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.renolink-type-tile > b { max-width: 280px; font-family: var(--sans); font-size: clamp(29px, 3.1vw, 46px); font-weight: 700; letter-spacing: -.07em; line-height: .94; }
.renolink-type-tile > i { position: absolute; right: 27px; bottom: 29px; font-size: 28px; font-style: normal; transition: transform .25s ease; }
.renolink-type-tile:hover img { transform: scale(1.045); }
.renolink-type-tile:hover > i { transform: translateX(5px); }

.renolink-type-tile-kitchen { grid-row: 1 / span 2; }
.renolink-type-tile-full { grid-column: 2 / span 2; background: #b5a089; color: #1d2026; }
.renolink-type-tile-full::after { background: linear-gradient(128deg, rgba(255,254,253,.34), rgba(255,254,253,0)); }
.renolink-type-tile-full > span { color: #4c443b; }

.renolink-builder-callout {
  display: flex;
  align-items: center;
  min-height: 76svh;
  padding-top: 130px;
  padding-bottom: 130px;
  color: #fffefd;
  background: #1d2026;
}

.renolink-builder-callout .renolink-section-label { color: #c3ae96; }
.renolink-builder-callout h2 { color: #fffefd; font-size: clamp(68px, 7vw, 110px); }
.renolink-builder-callout h2 em { color: #c3ae96; }
.renolink-builder-copy > p { color: #cfcbc5; }
.renolink-builder-callout .button-primary { color: #1d2026; background: #fffefd; }
.renolink-builder-callout .button-primary:hover { color: #1d2026; background: #c3ae96; }
.editorial-text-link-light { color: #fffefd; text-decoration-color: #c3ae96; }
.editorial-text-link-light:hover { color: #c3ae96; text-decoration-color: #c3ae96; }

@media (max-width: 900px) {
  .renolink-summary-grid { grid-template-columns: 116px minmax(0, 1fr) minmax(210px, .52fr); gap: 30px; }
  .renolink-method-step { grid-template-columns: 115px minmax(0, 1fr); }
  .renolink-method-step > div { grid-template-columns: minmax(210px, .8fr) minmax(180px, .6fr); gap: 26px; }
  .renolink-types-grid { grid-template-columns: 1.1fr .9fr; grid-template-rows: 270px 270px 270px; }
  .renolink-type-tile-kitchen { grid-row: 1 / span 2; }
  .renolink-type-tile-extension { grid-column: 1; grid-row: 3; }
  .renolink-type-tile-full { grid-column: 2; grid-row: 3; }
}

@media (max-width: 760px) {
  .renolink-summary-grid { grid-template-columns: 1fr; grid-template-rows: auto; gap: 22px; }
  .renolink-summary-grid > .renolink-section-label,
  .renolink-summary-grid h2,
  .renolink-summary-intro,
  .renolink-summary-facts { grid-column: 1; grid-row: auto; }
  .renolink-summary-grid h2 { font-size: clamp(52px, 12.5vw, 74px); }
  .renolink-summary-intro { max-width: 480px; font-size: 16px; }
  .renolink-summary-facts { max-width: 480px; margin-top: 11px; }
  .renolink-visual-interlude { height: 68vw; min-height: 380px; }
  .renolink-method { padding-top: 91px; padding-bottom: 91px; }
  .renolink-method-step { grid-template-columns: 51px minmax(0, 1fr); gap: 13px; padding-top: 29px; padding-bottom: 31px; }
  .renolink-method-step > div { grid-template-columns: 1fr; gap: 11px; }
  .renolink-method-step h3 { font-size: clamp(29px, 8vw, 43px); }
  .renolink-method-step p { font-size: 14px; }
  .renolink-comparison { padding-top: 91px; padding-bottom: 91px; }
  .renolink-comparison-board { padding: 18px; }
  .renolink-builder-line { grid-template-columns: minmax(0, 1fr); gap: 8px; padding-top: 19px; padding-bottom: 20px; }
  .renolink-builder-line > strong { font-size: 22px; }
  .renolink-project-types { padding-top: 91px; padding-bottom: 91px; }
  .renolink-types-grid { grid-template-columns: 1fr; grid-template-rows: repeat(4, 300px); }
  .renolink-type-tile-kitchen,
  .renolink-type-tile-extension,
  .renolink-type-tile-full { grid-column: auto; grid-row: auto; }
  .renolink-type-tile { padding: 23px; }
  .renolink-type-tile > b { font-size: 38px; }
  .renolink-builder-callout { min-height: 0; padding-top: 96px; padding-bottom: 96px; }
  .renolink-builder-callout h2 { font-size: clamp(55px, 13vw, 76px); }
}

/* Cohesive public-page finish: one type scale and softer, more natural shapes. */
.editorial-home {
  --reno-display: clamp(66px, 7.3vw, 104px);
  --reno-heading: clamp(46px, 4.6vw, 68px);
  --reno-subheading: clamp(31px, 3vw, 43px);
  --reno-body: 17px;
  --reno-small: 12px;
  --reno-radius-lg: 32px;
  --reno-radius-md: 22px;
}

.editorial-home .button { border-radius: 999px; }

.renolink-kicker,
.renolink-section-label {
  font-size: 11px;
  letter-spacing: .12em;
}

.renolink-hero { padding: 18px 0 72px; }

.renolink-hero-grid {
  gap: 58px;
  min-height: 628px;
  padding: 0;
  border: 0;
}

.renolink-hero-copy { padding: 68px 0; }
.renolink-hero-copy h1 { max-width: 690px; font-size: var(--reno-display); letter-spacing: -.075em; line-height: .91; }
.renolink-hero-copy h1 em { letter-spacing: -.075em; }
.renolink-hero-copy > p { max-width: 470px; font-size: var(--reno-body); line-height: 1.58; }
.renolink-hero-actions { margin-top: 31px; }

.renolink-hero-media {
  min-height: 628px;
  border-radius: var(--reno-radius-lg);
  background: #e9e3dc;
}

.renolink-media-frame { border-radius: inherit; }

.renolink-statement { padding-top: 122px; padding-bottom: 122px; border: 0; }
.renolink-summary-grid h2,
.renolink-method h2,
.renolink-comparison h2,
.renolink-types-head h2 { font-size: var(--reno-heading); letter-spacing: -.07em; line-height: .94; }
.renolink-summary-intro,
.renolink-method-intro > p:last-child,
.renolink-comparison-copy > p:not(.renolink-section-label),
.renolink-builder-copy > p { font-size: var(--reno-body); line-height: 1.6; }
.renolink-summary-facts dt,
.renolink-board-head,
.renolink-board-foot,
.renolink-type-tile > span { font-size: var(--reno-small); }
.renolink-summary-facts dd { font-size: 14px; }

.renolink-visual-interlude {
  width: min(1280px, calc(100% - 48px));
  height: min(61vw, 720px);
  min-height: 500px;
  margin: 0 auto;
  border-radius: var(--reno-radius-lg);
}

.renolink-method { padding-top: 130px; padding-bottom: 130px; border: 0; }
.renolink-method-intro { margin-bottom: 58px; }
.renolink-method-list { border-top-color: #dbd4cc; }
.renolink-method-step { border-bottom-color: #dbd4cc; padding-top: 37px; padding-bottom: 39px; }
.renolink-method-step h3 { font-size: var(--reno-subheading); letter-spacing: -.06em; }
.renolink-method-step p { font-size: 16px; line-height: 1.6; }

.renolink-comparison {
  padding-top: 46px;
  padding-bottom: 46px;
  background: #f8f6f2;
}

.renolink-comparison-grid {
  gap: 62px;
  padding: 86px 76px;
  border-radius: var(--reno-radius-lg);
  color: #fffefd;
  background: #1d2026;
}

.renolink-comparison-board {
  padding: 25px 29px 27px;
  border: 0;
  border-radius: var(--reno-radius-md);
}

.renolink-builder-line { padding-top: 23px; padding-bottom: 23px; }
.renolink-builder-line b { font-size: 16px; }
.renolink-builder-line small { font-size: 12px; }
.renolink-builder-line > strong { font-size: 24px; }

.renolink-project-types { padding-top: 130px; padding-bottom: 130px; border: 0; background: #fffefd; }
.renolink-types-head { margin-bottom: 58px; }
.renolink-types-grid { gap: 16px; background: transparent; }
.renolink-type-tile { border-radius: var(--reno-radius-md); }
.renolink-type-tile > b { font-size: clamp(29px, 3vw, 42px); }

.renolink-builder-callout {
  display: block;
  min-height: 0;
  padding: 36px 0 72px;
  background: #fffefd;
}

.renolink-builder-inner {
  gap: 66px;
  min-height: 550px;
  padding: 82px 76px;
  border-radius: var(--reno-radius-lg);
  background: #1d2026;
}

.renolink-builder-callout h2 { font-size: clamp(62px, 6.2vw, 92px); letter-spacing: -.075em; line-height: .91; }

@media (max-width: 900px) {
  .renolink-hero-grid { gap: 36px; }
  .renolink-comparison-grid { gap: 40px; padding: 65px 48px; }
  .renolink-builder-inner { gap: 48px; padding: 65px 48px; }
}

@media (max-width: 760px) {
  .editorial-home {
    --reno-display: clamp(54px, 14vw, 70px);
    --reno-heading: clamp(40px, 10vw, 52px);
    --reno-subheading: clamp(28px, 7.5vw, 36px);
    --reno-body: 16px;
    --reno-small: 11px;
    --reno-radius-lg: 24px;
    --reno-radius-md: 18px;
  }

  .renolink-hero { padding-top: 10px; padding-bottom: 48px; }
  .renolink-hero-copy { padding: 46px 0 39px; }
  .renolink-hero-media { min-height: 430px; margin: 0; }
  .renolink-statement { padding-top: 78px; padding-bottom: 78px; }
  .renolink-visual-interlude { width: calc(100% - 28px); height: 88vw; min-height: 355px; }
  .renolink-method { padding-top: 82px; padding-bottom: 82px; }
  .renolink-method-intro { margin-bottom: 40px; }
  .renolink-method-step { padding-top: 27px; padding-bottom: 28px; }
  .renolink-method-step p { font-size: 15px; }
  .renolink-comparison { padding-top: 20px; padding-bottom: 20px; }
  .renolink-comparison-grid { gap: 38px; padding: 53px 24px; border-radius: var(--reno-radius-lg); }
  .renolink-comparison-board { padding: 19px; border-radius: var(--reno-radius-md); }
  .renolink-project-types { padding-top: 82px; padding-bottom: 82px; }
  .renolink-types-grid { gap: 12px; }
  .renolink-type-tile { border-radius: var(--reno-radius-md); }
  .renolink-builder-callout { padding-top: 20px; padding-bottom: 48px; }
  .renolink-builder-inner { min-height: 0; gap: 39px; padding: 57px 25px; border-radius: var(--reno-radius-lg); }
  .renolink-builder-callout h2 { font-size: var(--reno-display); }
}

/* Final scale normalisation for the public site. */
.editorial-home {
  --reno-display: clamp(68px, 6.2vw, 90px);
  --reno-heading: clamp(48px, 4.2vw, 64px);
  --reno-subheading: clamp(32px, 2.7vw, 40px);
  --reno-radius-lg: 18px;
  --reno-radius-md: 12px;
}

.editorial-home .button { border-radius: 10px; }

.editorial-shell .site-nav { height: 104px; }
.editorial-shell .site-nav .brand { height: 100px; }
.editorial-shell .site-nav .brand-artwork-header { width: 190px; height: 100px; }
.editorial-shell .site-nav .brand-artwork-header img { width: 236px; left: -24px; top: -54px; }

.renolink-statement,
.renolink-method,
.renolink-project-types { padding-top: 112px; padding-bottom: 112px; }

.renolink-builder-callout h2 { font-size: var(--reno-display); }
.renolink-type-tile > b { font-size: var(--reno-subheading); }

@media (max-width: 760px) {
  .editorial-home {
    --reno-display: clamp(52px, 13.5vw, 60px);
    --reno-heading: clamp(40px, 10.5vw, 46px);
    --reno-subheading: clamp(28px, 7.5vw, 32px);
    --reno-radius-lg: 16px;
    --reno-radius-md: 12px;
  }

  .renolink-statement,
  .renolink-method,
  .renolink-project-types { padding-top: 76px; padding-bottom: 76px; }
}

@media (max-width: 660px) {
  .editorial-shell .site-nav { height: 78px; }
  .editorial-shell .site-nav .brand { height: 74px; }
  .editorial-shell .site-nav .brand-artwork-header { width: 140px; height: 74px; }
  .editorial-shell .site-nav .brand-artwork-header img { width: 174px; left: -18px; top: -40px; }
}

/* Keep the public masthead clean beneath the supplied RenoLink logo. */
.editorial-shell .site-nav { border-bottom: 0; }

/* RenoLink front-page composition: minimal masthead, statement, brand orb and live-product preview. */
.showcase-shell,
.showcase-home { background: #f1f1f1; }

.showcase-nav {
  height: 132px;
  border: 0;
}

.showcase-branding,
.showcase-nav-actions {
  display: flex;
  align-items: center;
}

.showcase-branding { gap: 18px; }

.showcase-branding > span {
  color: #1b1d22;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .055em;
}

.showcase-nav .brand { height: 84px; }
.showcase-nav .brand-artwork-header { width: 166px; height: 84px; }
.showcase-nav .brand-artwork-header img { width: 206px; left: -21px; top: -47px; }
.showcase-nav-actions { gap: 24px; }

.showcase-start-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-height: 62px;
  padding: 0 28px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #050506;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.035em;
  transition: transform .2s ease, background .2s ease;
}

.showcase-start-button:hover { background: #a68f77; transform: translateY(-2px); }
.showcase-start-button span { font-size: 28px; font-weight: 400; line-height: .7; }

.showcase-menu-button {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 7px;
  width: 64px;
  height: 64px;
  padding: 0;
  border: 2px solid #1b1d22;
  border-radius: 50%;
  background: transparent;
}

.showcase-menu-button i { display: block; width: 25px; height: 2px; background: #1b1d22; }
.showcase-menu-button:hover { background: #fff; }

.showcase-hero { overflow: hidden; background: #f1f1f1; }

.showcase-hero-frame {
  position: relative;
  min-height: 690px;
}

.showcase-hero-copy {
  position: relative;
  z-index: 2;
  width: min(62%, 850px);
  padding-top: 169px;
}

.showcase-hero-copy h1 {
  margin: 0;
  color: #050506;
  font-family: var(--sans);
  font-size: clamp(64px, 5.4vw, 94px);
  font-weight: 500;
  letter-spacing: -.078em;
  line-height: .86;
}

.showcase-hero-copy > span {
  display: inline-flex;
  align-items: center;
  min-height: 56px;
  margin-top: 104px;
  padding: 0 24px;
  border: 1.5px solid #c7c7c7;
  border-radius: 999px;
  color: #111216;
  background: rgba(255,255,255,.28);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -.04em;
}

.showcase-brand-orb {
  position: absolute;
  top: 22px;
  right: 6.2%;
  display: grid;
  place-items: center;
  width: min(35vw, 500px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: #b5a089;
}

.showcase-brand-orb img {
  display: block;
  width: 78%;
  max-width: none;
  mix-blend-mode: multiply;
}

.showcase-browser-preview {
  position: absolute;
  z-index: 3;
  right: 4.5%;
  bottom: -122px;
  width: min(47vw, 610px);
  overflow: hidden;
  border: 1px solid #d2d2d2;
  border-radius: 14px 14px 0 0;
  background: #fff;
  box-shadow: 0 16px 36px rgba(0,0,0,.09);
}

.showcase-browser-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 33px;
  padding: 0 12px;
  border-bottom: 1px solid #e1e1e1;
  color: #646464;
  font-size: 10px;
}

.showcase-browser-bar span { width: 7px; height: 7px; border-radius: 50%; background: #d4d4d4; }
.showcase-browser-bar b { margin-left: 7px; font-size: 10px; font-weight: 600; }

.showcase-browser-content {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  min-height: 235px;
}

.showcase-browser-content > img { width: 100%; height: 100%; object-fit: cover; }
.showcase-browser-content > div { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 26px 24px; }
.showcase-browser-content small { color: #88735e; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.showcase-browser-content h3 { margin: 10px 0 9px; color: #1d2026; font-size: 22px; font-weight: 700; letter-spacing: -.065em; line-height: .98; }
.showcase-browser-content p { margin: 0; color: #666269; font-size: 12px; line-height: 1.55; }
.showcase-browser-content strong { margin-top: 16px; color: #1d2026; font-size: 12px; }

.showcase-arrow {
  position: absolute;
  right: -70px;
  bottom: -102px;
  color: #050506;
  font-family: var(--sans);
  font-size: 135px;
  font-weight: 200;
  line-height: 1;
}

.showcase-summary { padding: 180px 0 130px; background: #fff; }

.showcase-summary-grid {
  display: grid;
  grid-template-columns: 155px minmax(0, 1.24fr) minmax(260px, .56fr);
  gap: 45px;
  align-items: start;
}

.showcase-summary-grid > p,
.showcase-section-heading > p,
.showcase-closing p {
  margin: 0;
  color: #8d7760;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  line-height: 1.4;
}

.showcase-summary-grid h2,
.showcase-section-heading h2,
.showcase-closing h2 {
  margin: 0;
  color: #101116;
  font-family: var(--sans);
  font-size: clamp(46px, 4.3vw, 66px);
  font-weight: 600;
  letter-spacing: -.075em;
  line-height: .91;
}

.showcase-summary-grid > div > p { margin: 3px 0 31px; color: #555159; font-size: 16px; line-height: 1.65; }
.showcase-summary-grid dl { margin: 0; border-top: 1px solid #cbcbcb; }
.showcase-summary-grid dl div { display: grid; grid-template-columns: 58px 1fr; gap: 11px; padding: 12px 0; border-bottom: 1px solid #cbcbcb; }
.showcase-summary-grid dt { color: #8d7760; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.showcase-summary-grid dd { margin: 0; color: #202126; font-size: 13px; font-weight: 700; }

.showcase-image-break { width: min(1340px, calc(100% - 48px)); height: min(62vw, 740px); min-height: 480px; margin: 0 auto; overflow: hidden; border-radius: 20px; background: #dedad4; }
.showcase-image-break img { display: block; width: 100%; height: 100%; object-fit: cover; }

.showcase-process,
.showcase-projects { padding: 128px 0; background: #fff; }

.showcase-section-heading {
  display: grid;
  grid-template-columns: 155px minmax(0, 1fr);
  gap: 45px;
  align-items: start;
  max-width: 965px;
  margin-bottom: 66px;
}

.showcase-process-list { border-top: 1px solid #cbcbcb; }
.showcase-process-list article { display: grid; grid-template-columns: 155px minmax(0, 1fr); gap: 45px; padding: 33px 0 35px; border-bottom: 1px solid #cbcbcb; }
.showcase-process-list span { color: #8d7760; font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.showcase-process-list div { display: grid; grid-template-columns: minmax(260px, .9fr) minmax(220px, .55fr); gap: 45px; align-items: baseline; }
.showcase-process-list h3 { margin: 0; color: #121318; font-size: clamp(31px, 3vw, 42px); font-weight: 600; letter-spacing: -.065em; line-height: 1; }
.showcase-process-list p { margin: 0; color: #69656c; font-size: 16px; line-height: 1.6; }

.showcase-projects { padding-top: 0; background: #f1f1f1; }
.showcase-projects .container { padding-top: 128px; border-top: 1px solid #d0d0d0; }
.showcase-project-grid { display: grid; grid-template-columns: 1.2fr .9fr .9fr; grid-template-rows: 245px 245px; gap: 14px; }
.showcase-project-card { position: relative; display: flex; align-items: flex-end; justify-content: flex-start; overflow: hidden; padding: 23px; border: 0; border-radius: 16px; color: #fff; background: #3d3d42; text-align: left; }
.showcase-project-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.showcase-project-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(24,25,28,.03), rgba(24,25,28,.74)); }
.showcase-project-card span,
.showcase-project-card i { position: relative; z-index: 1; }
.showcase-project-card span { max-width: 240px; font-size: clamp(27px, 2.6vw, 38px); font-weight: 600; letter-spacing: -.07em; line-height: .95; }
.showcase-project-card i { position: absolute; z-index: 1; right: 22px; bottom: 20px; font-size: 27px; font-style: normal; }
.showcase-project-card:hover img { transform: scale(1.05); }
.showcase-project-card.large { grid-row: 1 / span 2; }
.showcase-project-card.text-card { grid-column: 2 / span 2; color: #1d2026; background: #b5a089; }
.showcase-project-card.text-card::after { background: linear-gradient(135deg, rgba(255,255,255,.3), transparent); }

.showcase-closing { padding: 38px 0 78px; background: #f1f1f1; }
.showcase-closing-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(310px, .6fr); gap: 70px; align-items: end; min-height: 500px; padding: 78px 74px; border-radius: 24px; color: #fff; background: #121318; }
.showcase-closing h2 { max-width: 675px; margin-top: 22px; color: #fff; font-size: clamp(57px, 5.6vw, 82px); }
.showcase-closing > div > p { color: #cfb9a3; }
.showcase-closing-inner > div:last-child > p { max-width: 375px; margin: 0 0 27px; color: #d4d0ca; font-size: 17px; line-height: 1.65; }
.showcase-closing .showcase-start-button { color: #1d2026; background: #fff; }
.showcase-builder-link { display: block; margin-top: 19px; padding: 0; border: 0; color: #fff; background: transparent; font-size: 14px; font-weight: 700; text-decoration: underline; text-decoration-color: #b5a089; text-underline-offset: 5px; }
.showcase-builder-link:hover { color: #cfb9a3; }
.showcase-footer { background: #f1f1f1; }

@media (max-width: 1000px) {
  .showcase-hero-copy { width: min(62%, 660px); }
  .showcase-brand-orb { right: 2%; width: min(37vw, 410px); }
  .showcase-browser-preview { right: 2%; width: min(50vw, 500px); }
  .showcase-summary-grid { grid-template-columns: 120px minmax(0, 1fr) minmax(210px, .58fr); gap: 30px; }
  .showcase-section-heading,
  .showcase-process-list article { grid-template-columns: 120px minmax(0, 1fr); gap: 30px; }
  .showcase-process-list div { grid-template-columns: minmax(220px, .9fr) minmax(180px, .55fr); gap: 28px; }
  .showcase-closing-inner { gap: 45px; padding: 68px 54px; }
}

@media (max-width: 760px) {
  .showcase-nav { height: 86px; }
  .showcase-nav .brand { height: 76px; }
  .showcase-nav .brand-artwork-header { width: 144px; height: 76px; }
  .showcase-nav .brand-artwork-header img { width: 178px; left: -18px; top: -41px; }
  .showcase-branding > span { display: none; }
  .showcase-nav-actions { gap: 11px; }
  .showcase-start-button { min-height: 48px; padding: 0 17px; font-size: 13px; }
  .showcase-start-button span { font-size: 22px; }
  .showcase-menu-button { width: 48px; height: 48px; border-width: 1.5px; }
  .showcase-menu-button i { width: 20px; }

  .showcase-hero-frame { min-height: 650px; }
  .showcase-hero-copy { width: 100%; padding-top: 83px; }
  .showcase-hero-copy h1 { font-size: clamp(48px, 13.3vw, 67px); letter-spacing: -.077em; }
  .showcase-hero-copy > span { min-height: 45px; margin-top: 48px; padding: 0 17px; font-size: 13px; }
  .showcase-brand-orb { top: 296px; right: 3%; width: min(69vw, 330px); }
  .showcase-browser-preview { right: 0; bottom: -47px; width: min(88vw, 470px); border-radius: 11px 0 0 0; }
  .showcase-browser-content { min-height: 181px; }
  .showcase-browser-content > div { padding: 18px; }
  .showcase-browser-content h3 { font-size: 17px; }
  .showcase-browser-content p { font-size: 10px; }
  .showcase-browser-content strong { margin-top: 9px; font-size: 10px; }
  .showcase-arrow { display: none; }

  .showcase-summary { padding: 108px 0 78px; }
  .showcase-summary-grid { grid-template-columns: 1fr; gap: 24px; }
  .showcase-summary-grid h2,
  .showcase-section-heading h2 { font-size: clamp(39px, 10vw, 48px); }
  .showcase-summary-grid > div > p { max-width: 510px; font-size: 16px; }
  .showcase-image-break { width: calc(100% - 28px); height: 91vw; min-height: 355px; border-radius: 16px; }
  .showcase-process,
  .showcase-projects { padding: 78px 0; }
  .showcase-projects { padding-top: 0; }
  .showcase-projects .container { padding-top: 78px; }
  .showcase-section-heading { grid-template-columns: 1fr; gap: 17px; margin-bottom: 42px; }
  .showcase-process-list article { grid-template-columns: 47px minmax(0, 1fr); gap: 13px; padding: 26px 0; }
  .showcase-process-list div { grid-template-columns: 1fr; gap: 10px; }
  .showcase-process-list h3 { font-size: clamp(27px, 7.6vw, 34px); }
  .showcase-process-list p { font-size: 15px; }
  .showcase-project-grid { grid-template-columns: 1fr; grid-template-rows: repeat(4, 270px); gap: 12px; }
  .showcase-project-card.large,
  .showcase-project-card.text-card { grid-column: auto; grid-row: auto; }
  .showcase-project-card span { font-size: 36px; }
  .showcase-closing { padding: 21px 0 45px; }
  .showcase-closing-inner { grid-template-columns: 1fr; gap: 36px; min-height: 0; padding: 55px 25px; border-radius: 18px; }
  .showcase-closing h2 { font-size: clamp(49px, 12vw, 62px); }
  .showcase-closing-inner > div:last-child > p { font-size: 16px; }
}

/* Let the reference-style composition breathe across a wide desktop viewport. */
.showcase-shell .container { width: calc(100% - 68px); max-width: none; }
.showcase-hero-copy { margin-left: clamp(0px, 6vw, 110px); }
.showcase-brand-orb { right: 4%; width: min(33vw, 480px); }

@media (max-width: 760px) {
  .showcase-shell .container { width: calc(100% - 28px); }
  .showcase-hero-copy { margin-left: 0; }
  .showcase-brand-orb { right: 3%; width: min(69vw, 330px); }
}

/* Photo-led hero correction: preserve the supplied logo crop and natural image proportions. */
.showcase-nav .brand { height: 102px; }
.showcase-nav .brand-artwork-header { width: 184px; height: 102px; }
.showcase-nav .brand-artwork-header img { width: 228px; left: -23px; top: -50px; }

.showcase-hero-photo {
  position: absolute;
  top: 22px;
  right: 4%;
  width: min(33vw, 480px);
  aspect-ratio: 4 / 4.55;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  background: #dedad4;
}

.showcase-hero-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 56% center;
}

.showcase-browser-preview { width: min(41vw, 500px); }
.showcase-browser-content { display: block; min-height: 0; }
.showcase-browser-content > img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }

@media (max-width: 760px) {
  .showcase-nav { height: 96px; }
  .showcase-nav .brand { height: 88px; }
  .showcase-nav .brand-artwork-header { width: 156px; height: 88px; }
  .showcase-nav .brand-artwork-header img { width: 194px; left: -20px; top: -42px; }
  .showcase-hero-frame { min-height: 840px; }
  .showcase-hero-photo { top: 300px; right: 3%; width: min(69vw, 330px); border-radius: 18px; }
  .showcase-browser-preview { width: min(88vw, 470px); }
}

/* The two hero visuals are a true stack: no shared absolute positioning. */
.showcase-hero-frame {
  min-height: 880px;
}

.showcase-visual-stack {
  position: absolute;
  z-index: 3;
  top: 22px;
  right: 4%;
  display: grid;
  width: min(41vw, 500px);
  gap: 20px;
  justify-items: end;
}

.showcase-visual-stack .showcase-hero-photo {
  position: relative;
  top: auto;
  right: auto;
  width: min(96%, 480px);
  aspect-ratio: 4 / 4.2;
  margin: 0;
  border-radius: 24px;
}

.showcase-visual-stack .showcase-browser-preview {
  position: relative;
  right: auto;
  bottom: auto;
  width: 100%;
  border-radius: 14px;
}

.showcase-visual-stack .showcase-browser-content {
  display: block;
  min-height: 0;
}

.showcase-visual-stack .showcase-browser-content > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.showcase-arrow { display: none; }

@media (max-width: 760px) {
  .showcase-hero-frame {
    min-height: 0;
    padding-bottom: 30px;
  }

  .showcase-visual-stack {
    position: relative;
    top: auto;
    right: auto;
    width: min(100%, 420px);
    margin: 42px 0 0 auto;
    gap: 14px;
  }

  .showcase-visual-stack .showcase-hero-photo {
    width: 100%;
    aspect-ratio: 4 / 4.2;
    border-radius: 18px;
  }

  .showcase-visual-stack .showcase-browser-preview {
    width: 100%;
    border-radius: 12px;
  }
}

/* Masthead lockup: the marketplace label owns the product preview. */
.showcase-nav {
  overflow: visible;
}

.showcase-nav .brand-artwork-frame,
.showcase-nav .brand-artwork-frame img {
  background: transparent;
  mix-blend-mode: normal;
}

.showcase-marketplace-panel {
  position: relative;
  display: grid;
  min-width: 198px;
  gap: 0;
}

.showcase-marketplace-label {
  display: grid;
  gap: 3px;
  color: #1b1d22;
  font-weight: 800;
  letter-spacing: .075em;
  line-height: 1.1;
}

.showcase-marketplace-label span:first-child {
  font-size: 12px;
}

.showcase-marketplace-label span:last-child {
  color: #8d7760;
  font-size: 10px;
}

.showcase-header-preview {
  position: absolute;
  z-index: 15;
  top: calc(100% + 11px);
  right: auto;
  bottom: auto;
  left: 0;
  width: clamp(226px, 17vw, 280px);
  margin: 0;
  border-radius: 12px;
}

.showcase-header-preview .showcase-browser-bar {
  height: 30px;
  padding: 0 10px;
}

.showcase-hero-frame {
  min-height: 690px;
}

.showcase-visual-stack {
  width: min(33vw, 480px);
}

.showcase-visual-stack .showcase-hero-photo {
  width: 100%;
}

@media (max-width: 760px) {
  .showcase-nav {
    height: 320px;
    align-items: flex-start;
    padding-top: 4px;
    box-sizing: border-box;
  }

  .showcase-branding {
    align-items: flex-start;
  }

  .showcase-nav-actions {
    margin-top: 18px;
  }

  .showcase-marketplace-panel {
    position: absolute;
    top: 100px;
    left: 0;
    width: min(78vw, 300px);
    min-width: 0;
  }

  .showcase-marketplace-label span:first-child { font-size: 10px; }
  .showcase-marketplace-label span:last-child { font-size: 9px; }

  .showcase-header-preview {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin-top: 10px;
    border-radius: 12px;
  }

  .showcase-hero-frame {
    min-height: 0;
    padding-bottom: 30px;
  }

  .showcase-visual-stack {
    width: min(100%, 420px);
  }
}

/* The RenoLink preview belongs to the hero marketplace label, not the masthead. */
.showcase-hero-copy > span {
  margin-top: 55px;
}

.showcase-hero-preview {
  position: relative;
  z-index: 4;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  display: block;
  width: min(100%, 340px);
  margin: 18px 0 0;
  border-radius: 14px;
}

.showcase-hero-preview .showcase-browser-bar {
  height: 30px;
  padding: 0 10px;
}

.showcase-hero-frame {
  min-height: 850px;
}

@media (max-width: 760px) {
  .showcase-nav {
    height: 96px;
    align-items: center;
    padding-top: 0;
  }

  .showcase-branding {
    align-items: center;
  }

  .showcase-nav-actions {
    margin-top: 0;
  }

  .showcase-marketplace-panel {
    display: none;
  }

  .showcase-hero-copy > span {
    margin-top: 32px;
  }

  .showcase-hero-preview {
    width: min(100%, 360px);
    margin-top: 14px;
    border-radius: 12px;
  }

  .showcase-hero-frame {
    min-height: 0;
  }
}

/* Give the final call to action the same confident scale as the hero. */
.showcase-closing > div > p {
  font-size: 13px;
}

.showcase-closing h2 {
  font-size: clamp(66px, 6.2vw, 94px);
}

.showcase-closing-inner > div:last-child > p {
  max-width: 420px;
  font-size: 20px;
  line-height: 1.55;
}

.showcase-closing .showcase-start-button {
  min-height: 68px;
  padding: 0 31px;
  font-size: 18px;
}

.showcase-builder-link {
  margin-top: 22px;
  font-size: 17px;
}

@media (max-width: 760px) {
  .showcase-closing > div > p { font-size: 11px; }
  .showcase-closing h2 { font-size: clamp(55px, 13.4vw, 70px); }
  .showcase-closing-inner > div:last-child > p { font-size: 18px; }
  .showcase-closing .showcase-start-button { min-height: 62px; font-size: 17px; }
  .showcase-builder-link { font-size: 16px; }
}

/* Clear choices for the round navigation button beside “Start a project”. */
.showcase-menu-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.showcase-menu-options .select-option {
  min-height: 145px;
  padding: 19px;
}

.showcase-menu-options .select-option .option-icon {
  width: 33px;
  height: 33px;
  margin-bottom: 24px;
}

.showcase-menu-options .select-option b {
  font-size: 15px;
}

.showcase-menu-options .select-option small {
  display: block;
  margin-top: 6px;
  color: #716f74;
  font-size: 11px;
  line-height: 1.45;
}

@media (max-width: 520px) {
  .showcase-menu-options { grid-template-columns: 1fr; }
  .showcase-menu-options .select-option { min-height: 116px; }
  .showcase-menu-options .select-option .option-icon { margin-bottom: 15px; }
}

/* Marketplace workflow additions: match rationale and project communication. */
.match-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 13px;
}

.match-reasons span {
  padding: 5px 8px;
  border: 1px solid #ded8d1;
  border-radius: 999px;
  color: #625b53;
  background: #faf8f5;
  font-size: 10px;
  font-weight: 700;
}

.messages-panel { overflow: hidden; }

.message-list {
  display: grid;
  gap: 0;
  border-top: 1px solid #ece7e1;
}

.message-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 16px;
  padding: 15px 24px;
  border-bottom: 1px solid #ece7e1;
}

.message-item > div { display: flex; align-items: baseline; gap: 7px; }
.message-item b { color: #25262b; font-size: 12px; }
.message-item span { color: #927d65; font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.message-item p { grid-column: 1; margin: 0; color: #615d63; font-size: 12px; line-height: 1.55; }
.message-item small { grid-column: 2; grid-row: 1 / span 2; align-self: start; color: #989299; font-size: 10px; }

.message-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 16px 24px 20px;
  background: #fcfbf9;
}

.message-form textarea {
  min-height: 43px;
  padding: 11px 12px;
  border: 1px solid #ded8d1;
  border-radius: 8px;
  color: #292a2f;
  background: #fffefd;
  font: inherit;
  font-size: 12px;
  line-height: 1.45;
  resize: vertical;
}

.message-form .button { align-self: end; }
.empty-state.compact { min-height: 0; padding: 24px; border: 0; border-radius: 0; }
.empty-state.compact h3 { font-size: 16px; }

@media (max-width: 660px) {
  .message-item { padding: 14px 18px; }
  .message-form { grid-template-columns: 1fr; padding: 14px 18px 18px; }
  .message-form .button { justify-self: start; }
}

/* Right-hand navigation drawer opened by the round menu control. */
.showcase-drawer-scrim {
  position: fixed;
  z-index: 100;
  inset: 0;
  display: flex;
  justify-content: flex-end;
  background: rgba(12, 13, 16, .34);
  backdrop-filter: blur(4px);
  animation: showcase-drawer-fade .22s ease both;
}

.showcase-drawer {
  display: flex;
  flex-direction: column;
  width: min(510px, 100%);
  min-height: 100%;
  padding: 31px 34px 27px;
  color: #14151a;
  background: #f3f2f0;
  box-shadow: -24px 0 70px rgba(0, 0, 0, .18);
  animation: showcase-drawer-in .34s cubic-bezier(.2, .8, .2, 1) both;
}

.showcase-drawer-head,
.showcase-drawer-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.showcase-drawer-kicker,
.showcase-drawer-foot span {
  color: #8d7760;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}

.showcase-drawer-close {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0 0 4px;
  border: 1.5px solid #1b1d22;
  border-radius: 50%;
  color: #1b1d22;
  background: transparent;
  font-size: 29px;
  font-weight: 300;
  line-height: 1;
}

.showcase-drawer-close:hover { color: #fff; background: #15161a; }

.showcase-drawer-intro {
  max-width: 365px;
  margin: clamp(50px, 8vh, 86px) 0 36px;
}

.showcase-drawer-intro h2 {
  margin: 0;
  font-size: clamp(45px, 4.4vw, 65px);
  font-weight: 550;
  letter-spacing: -.075em;
  line-height: .9;
}

.showcase-drawer-intro p {
  max-width: 285px;
  margin: 19px 0 0;
  color: #676269;
  font-size: 15px;
  line-height: 1.6;
}

.showcase-drawer-options {
  margin-top: clamp(48px, 9vh, 82px);
  border-top: 1px solid #cbc9c6;
}

.showcase-drawer-options button {
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr) auto;
  gap: 15px;
  width: 100%;
  padding: 20px 0 19px;
  border: 0;
  border-bottom: 1px solid #cbc9c6;
  color: #14151a;
  background: transparent;
  text-align: left;
  transition: color .2s ease, padding .2s ease;
}

.showcase-drawer-options button:hover {
  padding-right: 8px;
  padding-left: 8px;
  color: #8d7760;
}

/* Keep the side menu focused on the three main routes. */
.showcase-drawer-options button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 0;
  font-family: var(--sans);
  font-size: clamp(22px, 2vw, 29px);
  font-weight: 550;
  letter-spacing: -.06em;
  line-height: 1;
}

.showcase-drawer-options button i {
  align-self: auto;
  flex: 0 0 auto;
  font-size: 27px;
  font-style: normal;
  font-weight: 400;
}

.showcase-drawer-options span {
  padding-top: 3px;
  color: #8d7760;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}

.showcase-drawer-options b,
.showcase-drawer-options small,
.showcase-drawer-options i { display: block; }
.showcase-drawer-options b { font-size: 22px; font-weight: 600; letter-spacing: -.055em; }
.showcase-drawer-options small { margin-top: 4px; color: #6d686f; font-size: 12px; line-height: 1.45; }
.showcase-drawer-options i { align-self: center; font-size: 23px; font-style: normal; }

.showcase-drawer-foot {
  margin-top: auto;
  padding-top: 30px;
}

.showcase-drawer-foot button {
  padding: 0;
  border: 0;
  color: #34353a;
  background: transparent;
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@keyframes showcase-drawer-in {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}

@keyframes showcase-drawer-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (max-width: 560px) {
  .showcase-drawer { padding: 23px 21px 22px; }
  .showcase-drawer-intro { margin-top: 48px; }
  .showcase-drawer-options b { font-size: 20px; }
}

/* Hero correction: make the RenoLink product preview the sole visual. */
.showcase-hero-frame {
  min-height: 690px;
}

.showcase-visual-stack {
  width: min(41vw, 520px);
}

.showcase-visual-stack .showcase-hero-preview-visual {
  position: relative;
  width: 100%;
  margin: 0;
  border-radius: 16px;
}

.showcase-visual-stack .showcase-hero-preview-visual .showcase-browser-content > img {
  aspect-ratio: 16 / 9;
}

@media (max-width: 760px) {
  .showcase-hero-frame {
    min-height: 0;
  }

  .showcase-visual-stack {
    width: min(100%, 420px);
  }

  .showcase-visual-stack .showcase-hero-preview-visual {
    width: 100%;
    margin: 0;
    border-radius: 12px;
  }
}

/* Keep headline and product preview in separate columns on larger screens. */
@media (min-width: 761px) {
  .showcase-hero-frame {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(460px, 760px);
    gap: clamp(36px, 4vw, 82px);
    align-items: start;
  }

  .showcase-hero-copy {
    grid-column: 1;
    width: auto;
    max-width: 820px;
    margin-left: clamp(0px, 3vw, 56px);
  }

  .showcase-visual-stack {
    position: relative;
    top: auto;
    right: auto;
    grid-column: 2;
    width: 100%;
    margin-top: 22px;
    justify-self: center;
    transform: translateX(clamp(-76px, -4vw, -28px));
  }

  .showcase-visual-stack .showcase-hero-preview-visual {
    border-radius: 18px;
  }
}

@media (max-width: 1500px) and (min-width: 1001px) {
  .showcase-hero-frame {
    grid-template-columns: minmax(0, 1fr) minmax(430px, 47vw);
  }
}

@media (max-width: 1000px) and (min-width: 761px) {
  .showcase-hero-frame {
    grid-template-columns: minmax(0, 1fr) minmax(285px, 40vw);
    gap: 34px;
  }

  .showcase-hero-copy {
    margin-left: 0;
    max-width: none;
  }

  .showcase-visual-stack {
    transform: translateX(-18px);
  }
}

@media (max-width: 760px) {
  .showcase-hero-frame { display: block; }

  .showcase-visual-stack {
    margin: 42px auto 0;
    transform: none;
  }
}

/* Deliberate four-line hero statement, balanced against the product preview. */
@media (min-width: 761px) {
  .showcase-hero-copy h1 > span { display: block; }
}

@media (max-width: 760px) {
  .showcase-hero-copy h1 > span { display: inline; }
  .showcase-hero-copy h1 > span::after { content: " "; }
}

/* Workspace renovation: clearer decisions, calmer hierarchy, stronger scanning. */
.workspace-shell {
  background:
    radial-gradient(circle at 90% -8%, rgba(199, 178, 149, .13), transparent 26rem),
    linear-gradient(180deg, #f8f6f2 0, #f3f0eb 100%);
}

.workspace-main { max-width: 1220px; padding-top: 52px; }
.workspace-title-row { margin-bottom: 23px; }
.workspace-title-row h1 { max-width: 720px; font-size: clamp(38px, 4.3vw, 56px); line-height: .96; }
.workspace-title-row p { max-width: 530px; margin-top: 11px; font-size: 13px; line-height: 1.6; }
.workspace-title-row .button { min-height: 46px; white-space: nowrap; }
.workspace-tabs { margin-bottom: 17px; overflow-x: auto; max-width: 100%; }
.workspace-tab { min-height: 35px; white-space: nowrap; }
.workspace-tab:focus-visible,
.button:focus-visible,
.builder-notifications-button:focus-visible,
.workspace-back:focus-visible { outline: 3px solid rgba(181, 160, 137, .5); outline-offset: 3px; }

.project-banner { min-height: 218px; padding: 31px 33px; border: 0; border-radius: 16px; box-shadow: 0 20px 42px rgba(31, 29, 26, .12); }
.project-banner h2 { max-width: 720px; font-size: clamp(32px, 3.8vw, 46px); }
.project-banner p { max-width: 580px; font-size: 13px; line-height: 1.6; }
.project-banner-meta { gap: 20px; margin-top: 36px; }

.dashboard-snapshot { display: grid; gap: 1px; margin: 17px 0; overflow: hidden; border: 1px solid #e0dad1; border-radius: 14px; background: #e0dad1; box-shadow: 0 8px 22px rgba(35, 31, 27, .035); }
.homeowner-snapshot { grid-template-columns: repeat(3, 1fr); }
.builder-snapshot { grid-template-columns: repeat(4, 1fr); }
.dashboard-snapshot article { min-width: 0; padding: 17px 19px 18px; background: rgba(255, 254, 252, .94); }
.dashboard-snapshot span { display: block; color: #887b6f; font-family: var(--mono); font-size: 9px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.dashboard-snapshot b { display: block; overflow: hidden; margin-top: 8px; color: #24242a; font-size: 15px; letter-spacing: -.4px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-snapshot small { display: block; min-height: 28px; margin-top: 6px; color: #777178; font-size: 10px; line-height: 1.4; }
.builder-snapshot article:first-child b { color: #2c6d60; }
.builder-snapshot article:nth-child(2) b { color: #9a6a37; }
.builder-snapshot article:last-child b { color: #735d80; }

.journey-card { margin: 17px 0 22px; overflow: hidden; border: 1px solid #ded8d0; border-radius: 14px; background: #fffefa; box-shadow: 0 8px 22px rgba(35, 31, 27, .035); }
.journey-card-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 21px 24px 0; }
.journey-card-head h2 { margin: 5px 0 0; color: #29292f; font-family: var(--serif); font-size: 24px; font-weight: 600; letter-spacing: -.8px; }
.journey-card-head p { max-width: 340px; margin: 0 0 3px; color: #777178; font-size: 11px; line-height: 1.5; }
.journey-card .status-timeline { padding: 23px 24px 20px; background: transparent; }
.timeline-step { font-size: 10px; }
.timeline-step span:last-child { white-space: normal; }

.dashboard-grid { gap: 20px; }
.dashboard-grid-home { grid-template-columns: minmax(0, 1.55fr) minmax(292px, .72fr); }
.dashboard-grid-builder { grid-template-columns: minmax(0, 1.6fr) minmax(285px, .7fr); margin-top: 21px; }
.side-stack { gap: 16px; }
.card { border-radius: 14px; }
.section-card-head { padding: 21px 22px 0; }
.quote-list { padding: 8px 15px 14px; }
.quote-card { grid-template-columns: 48px minmax(0, 1fr) minmax(94px, auto); align-items: start; padding: 17px 8px; }
.quote-card-main h4 { font-size: 14px; }
.quote-actions { flex-wrap: wrap; gap: 4px; margin-top: 9px; }
.quote-actions .button { min-height: 28px; padding: 0 8px; }
.quote-card-price { padding-top: 3px; }
.quote-card-price strong { font-size: 27px; }
.next-action { position: relative; overflow: hidden; padding: 25px; }
.next-action::after { content: ""; position: absolute; width: 150px; height: 150px; right: -74px; bottom: -93px; border: 22px solid rgba(181, 160, 137, .18); border-radius: 50%; }
.next-action > * { position: relative; z-index: 1; }
.next-action h3 { font-size: 21px; line-height: 1.05; }
.activity-list { padding: 8px 22px 15px; }
.messages-panel .section-card-head { padding-bottom: 4px; }
.message-item { padding: 16px 22px; }

.builder-workspace-actions { gap: 9px; }
.builder-notifications-button { min-height: 42px; border-radius: 9px; }
.opportunity-card { border-radius: 14px; transition: transform .18s ease, box-shadow .18s ease; }
.opportunity-card:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(33, 29, 26, .07); }
.opportunity-card h3 { font-size: 18px; }
.opp-side { min-width: 138px; padding-left: 12px; border-left: 1px solid #ece6df; }
.opp-side .button { margin-top: 5px; }
.builder-profile-card { border-radius: 14px; }
.builder-profile-card h3 { font-size: 16px; }

@media (max-width: 850px) {
  .workspace-main { padding-top: 34px; }
  .homeowner-snapshot, .builder-snapshot { grid-template-columns: repeat(2, 1fr); }
  .dashboard-grid-home, .dashboard-grid-builder { grid-template-columns: 1fr; }
  .dashboard-grid-builder { margin-top: 17px; }
}

@media (max-width: 620px) {
  .workspace-topbar { height: auto; min-height: 64px; }
  .workspace-topbar .container { align-items: flex-start; flex-direction: column; padding-top: 10px; padding-bottom: 10px; }
  .workspace-head { width: 100%; justify-content: space-between; }
  .role-selector { align-self: stretch; overflow-x: auto; }
  .role-selector button { flex: 1 0 auto; }
  .workspace-main { padding-top: 27px; padding-bottom: 48px; }
  .workspace-title-row { align-items: flex-start; flex-direction: column; gap: 15px; }
  .workspace-title-row h1 { font-size: 38px; }
  .workspace-title-row .button { width: 100%; justify-content: center; }
  .project-banner { min-height: 0; padding: 24px 21px; }
  .project-banner-meta { gap: 9px 14px; margin-top: 25px; }
  .homeowner-snapshot, .builder-snapshot { grid-template-columns: 1fr; }
  .dashboard-snapshot article { padding: 15px 17px; }
  .dashboard-snapshot small { min-height: 0; }
  .journey-card-head { align-items: flex-start; flex-direction: column; gap: 7px; padding: 18px 18px 0; }
  .journey-card-head h2 { font-size: 22px; }
  .journey-card .status-timeline { grid-template-columns: 1fr; gap: 13px; padding: 20px 20px 21px; }
  .timeline-step { display: grid; grid-template-columns: 14px 1fr; align-items: center; gap: 10px; }
  .timeline-step:not(:last-child)::after { top: 14px; left: 6px; width: 2px; height: calc(100% + 2px); }
  .quote-card { grid-template-columns: 42px minmax(0, 1fr); }
  .quote-card-price { grid-column: 2; grid-row: 2; text-align: left; }
  .quote-card-price strong { font-size: 24px; }
  .opp-side { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; min-width: 0; padding: 13px 0 0; border-top: 1px solid #ece6df; border-left: 0; text-align: left; }
  .opp-side small { margin: 0; }
  .opportunity-card { grid-template-columns: 1fr; gap: 14px; }
  .builder-workspace-actions { width: 100%; }
  .builder-workspace-actions > * { width: 100%; }
  .builder-profile-switch { min-width: 0 !important; }
}

/* Readability pass: fewer visible words, more comfortable type. */
.workspace-title-row p { font-size: 14px; }
.workspace-tab { font-size: 12px; }
.project-banner-meta { font-size: 12px; }
.dashboard-snapshot span { font-size: 10px; }
.dashboard-snapshot b { font-size: 18px; }
.dashboard-snapshot small { font-size: 12px; line-height: 1.35; }
.journey-card-head p { font-size: 12px; }
.timeline-step { font-size: 11px; }
.section-card-head h3 { font-size: 18px; }
.section-card-head p { font-size: 12px; }
.quote-card-main p { display: -webkit-box; overflow: hidden; font-size: 12px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.quote-card-price span { font-size: 10px; }
.activity-copy { font-size: 12px; }
.activity-time { font-size: 10px; }
.detail-row { font-size: 12px; }
.next-action p { display: -webkit-box; overflow: hidden; font-size: 12px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.opportunity-card p { display: -webkit-box; overflow: hidden; font-size: 12px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.opp-meta { font-size: 11px; }
.builder-profile-card p,
.builder-profile-meta span { font-size: 10px; }
.message-item p { font-size: 13px; }
.message-item b { font-size: 13px; }
.message-item span,
.message-item small { font-size: 10px; }

@media (max-width: 620px) {
  .workspace-title-row p { font-size: 13px; }
  .dashboard-snapshot b { font-size: 17px; }
  .dashboard-snapshot small { font-size: 11px; }
}

/* Align all workspace surfaces with the editorial home-page system. */
.workspace-shell { background: #f7f6f3; }
.workspace-topbar { border-color: #e3ded7; background: rgba(255, 254, 253, .94); }
.workspace-back { color: #777279; }
.workspace-back:hover { color: #1d2026; }
.role-selector,
.workspace-tabs { border-color: #ddd6ce; border-radius: 5px; background: #efede9; }
.role-selector button,
.workspace-tab { border-radius: 3px; color: #716f74; }
.role-selector button.active,
.workspace-tab.active { color: #1d2026; background: #fffefd; box-shadow: 0 1px 4px rgba(29, 32, 38, .08); }
.workspace-main { max-width: 1240px; }
.workspace-title-row h1,
.journey-card-head h2 { color: #1d2026; font-family: var(--serif); }
.workspace-title-row p { color: #69686e; }
.eyebrow { color: #8e7f70; }
.eyebrow-dot { background: #b5a089; }

.card,
.journey-card,
.dashboard-snapshot { border-color: #ded8d0; border-radius: 6px; box-shadow: none; }
.card { background: #fffefd; }
.project-banner { background: #1d2026; border-radius: 6px; box-shadow: none; }
.project-banner::after { display: none; }
.project-banner h2 { color: #fffefd; }
.project-banner p { color: #c8c2bb; }
.project-banner-meta { color: #c8c2bb; }
.project-banner-meta span::before { color: #b5a089; }
.project-banner .status-chip { color: #e5d7c5; border-color: rgba(229, 215, 197, .25); background: transparent; }

.dashboard-snapshot { gap: 0; background: #fffefd; }
.dashboard-snapshot article { background: transparent; border-right: 1px solid #e4ddd5; }
.dashboard-snapshot article:last-child { border-right: 0; }
.dashboard-snapshot span { color: #8e7f70; font-family: var(--sans); font-weight: 800; }
.dashboard-snapshot b { color: #1d2026; font-family: var(--serif); font-size: 22px; font-weight: 600; letter-spacing: -.8px; }
.dashboard-snapshot small { color: #737178; }
.builder-snapshot article:first-child b,
.builder-snapshot article:nth-child(2) b,
.builder-snapshot article:last-child b { color: #1d2026; }

.journey-card { background: #fffefd; }
.journey-card-head { border-bottom: 1px solid #e5dfd7; padding-bottom: 17px; }
.journey-card-head p { color: #716f74; }
.journey-card .status-timeline { padding-top: 21px; }
.timeline-step { color: #918b84; }
.timeline-step.active { color: #1d2026; }
.timeline-step.active .timeline-dot { background: #1d2026; box-shadow: 0 0 0 1px #1d2026; }
.timeline-step.complete { color: #5d7868; }
.timeline-step.complete .timeline-dot { background: #6f947e; box-shadow: 0 0 0 1px #6f947e; }
.timeline-step.complete:not(:last-child)::after { background: #afc6b4; }

.section-card-head h3,
.quote-card-main h4,
.opportunity-card h3,
.detail-row b { color: #1d2026; }
.section-card-head p,
.quote-card-main p,
.opportunity-card p,
.detail-row span { color: #737178; }
.counter { border-radius: 3px; color: #655847; background: #eee7de; }
.quote-card,
.activity-item,
.detail-row { border-color: #e9e3dc; }
.builder-avatar { border-radius: 4px; }
.builder-avatar.a { background: #25262b; }
.builder-avatar.b { background: #9c8268; }
.builder-avatar.c { background: #6e7379; }
.builder-avatar.d { background: #7e7270; }
.quote-card-price strong,
.opp-side .match-score { color: #1d2026; }
.next-action { border-color: #e2d7c9; border-radius: 6px; background: #f4ede5; }
.next-action::after { border-color: rgba(181, 160, 137, .18); }
.next-action .micro-label { color: #8d765e; }
.next-action h3 { color: #1d2026; }
.next-action p { color: #6c655e; }
.builder-profile-card { border-color: #1d2026; border-radius: 6px; background: #1d2026; }
.builder-profile-card .builder-avatar { border-radius: 4px; background: #b5a089; }
.builder-profile-meta div { border-radius: 4px; background: rgba(255, 255, 255, .08); }
.builder-notifications-button { border-color: #ded8d0; border-radius: 5px; color: #1d2026; background: #fffefd; }
.builder-notifications-button > span { color: #a58b70; }
.builder-notifications-button b { background: #1d2026; }
.opportunity-card { border-radius: 6px; }
.opportunity-card:hover { box-shadow: 0 12px 25px rgba(29, 32, 38, .06); }
.opp-topline .micro-label { color: #8e7f70; }
.opp-side { border-color: #e9e3dc; }
.message-form { background: #fbfaf8; }
.message-form textarea { border-color: #ded8d1; border-radius: 5px; background: #fffefd; }

@media (max-width: 850px) {
  .dashboard-snapshot article:nth-child(2) { border-right: 0; }
  .dashboard-snapshot article:nth-child(-n + 2) { border-bottom: 1px solid #e4ddd5; }
}

@media (max-width: 620px) {
  .dashboard-snapshot article { border-right: 0; border-bottom: 1px solid #e4ddd5; }
  .dashboard-snapshot article:last-child { border-bottom: 0; }
  .journey-card-head { padding-bottom: 14px; }
}

/* Editorial dashboard composition — shared directly with the home-page language. */
.project-masthead {
  display: grid;
  gap: 32px;
  padding: 42px 44px 35px;
  color: #fffefd;
  background: #1d2026;
  border-top: 1px solid #1d2026;
  border-bottom: 1px solid #1d2026;
}
.project-masthead-top { display: flex; align-items: start; justify-content: space-between; gap: 24px; }
.project-masthead-kicker,
.project-masthead .micro-label { color: #c7b293 !important; }
.project-masthead h2 { max-width: 760px; margin: 12px 0 10px; color: #fffefd; font-family: var(--serif); font-size: clamp(38px, 4.6vw, 58px); font-weight: 600; letter-spacing: -2.2px; line-height: .94; }
.project-masthead p { max-width: 620px; margin: 0; color: #c7c2bb; font-size: 13px; line-height: 1.65; }
.project-masthead .status-chip { flex: 0 0 auto; color: #e3d3bf; border-color: rgba(227, 211, 191, .3); background: transparent; }
.project-masthead-meta { display: flex; flex-wrap: wrap; gap: 12px 28px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .15); color: #d8d2ca; font-size: 11px; font-weight: 700; }
.project-masthead-meta span::before { content: "•"; margin-right: 8px; color: #c7b293; }

.editorial-metrics { display: grid; margin: 34px 0; border-top: 1px solid #d9d2ca; border-bottom: 1px solid #d9d2ca; }
.homeowner-metrics { grid-template-columns: repeat(3, 1fr); }
.builder-metrics { grid-template-columns: repeat(4, 1fr); }
.editorial-metrics article { min-width: 0; padding: 2px 26px 3px; border-right: 1px solid #d9d2ca; }
.editorial-metrics article:first-child { padding-left: 0; }
.editorial-metrics article:last-child { border-right: 0; }
.editorial-metrics span { display: block; color: #8e7f70; font-family: var(--sans); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.editorial-metrics b { display: block; overflow: hidden; margin: 8px 0 4px; color: #1d2026; font-family: var(--serif); font-size: 25px; font-weight: 600; letter-spacing: -1px; text-overflow: ellipsis; white-space: nowrap; }
.editorial-metrics small { color: #6e6b70; font-size: 11px; line-height: 1.45; }

.editorial-journey { margin: 0 0 30px; padding: 22px 0 3px; border-top: 1px solid #d9d2ca; border-bottom: 1px solid #d9d2ca; }
.editorial-journey-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 0 0 19px; }
.editorial-journey-head h2 { margin: 7px 0 0; color: #1d2026; font-family: var(--serif); font-size: 29px; font-weight: 600; letter-spacing: -1px; }
.editorial-journey-head p { margin: 0; color: #777279; font-size: 12px; }
.editorial-journey .status-timeline { padding: 16px 0 18px; background: transparent; }

.workspace-title-row-builder { align-items: stretch; margin-bottom: 34px; padding: 36px 39px; color: #fffefd; background: #1d2026; border-radius: 0; }
.workspace-title-row-builder h1 { color: #fffefd; }
.workspace-title-row-builder p { color: #c8c2bb; }
.workspace-title-row-builder .eyebrow { color: #c7b293; }
.workspace-title-row-builder .eyebrow-dot { background: #c7b293; }
.workspace-title-row-builder .button-outline { color: #f5f1eb; border-color: rgba(255, 255, 255, .28); background: transparent; }
.workspace-title-row-builder .button-outline:hover { color: #1d2026; background: #fffefd; }
.workspace-title-row-builder .builder-workspace-actions { align-items: center; }
.workspace-title-row-builder .builder-notifications-button { color: #fffefd; border-color: rgba(255, 255, 255, .25); background: transparent; }
.workspace-title-row-builder .builder-notifications-button > span { color: #c7b293; }
.workspace-title-row-builder .builder-profile-switch label { color: #d6d0c8; }
.workspace-title-row-builder .builder-profile-switch select { color: #1d2026; border-color: #fffefd; background: #fffefd; }

@media (max-width: 850px) {
  .homeowner-metrics, .builder-metrics { grid-template-columns: repeat(2, 1fr); }
  .editorial-metrics article:nth-child(2) { border-right: 0; }
  .editorial-metrics article:nth-child(-n + 2) { padding-bottom: 17px; border-bottom: 1px solid #d9d2ca; }
  .editorial-metrics article:nth-child(n + 3) { padding-top: 17px; }
}

@media (max-width: 620px) {
  .project-masthead { gap: 24px; padding: 29px 22px 26px; }
  .project-masthead-top { flex-direction: column; }
  .project-masthead h2 { font-size: 39px; }
  .editorial-metrics { grid-template-columns: 1fr; margin: 25px 0; }
  .editorial-metrics article,
  .editorial-metrics article:first-child,
  .editorial-metrics article:nth-child(2) { padding: 15px 0; border-right: 0; border-bottom: 1px solid #d9d2ca; }
  .editorial-metrics article:first-child { padding-top: 0; }
  .editorial-metrics article:last-child { padding-bottom: 0; border-bottom: 0; }
  .editorial-journey { padding-top: 18px; }
  .editorial-journey-head { align-items: flex-start; flex-direction: column; gap: 7px; }
  .workspace-title-row-builder { padding: 28px 22px; }
  .workspace-title-row-builder .builder-workspace-actions { align-items: stretch; }
}

/* Current, compact workspace header. */
.workspace-topbar {
  height: 70px !important;
  min-height: 70px !important;
  padding: 0 !important;
  border-color: #e2ddd5;
  background: rgba(255, 254, 252, .94);
}

.workspace-topbar .workspace-header-inner {
  display: grid !important;
  grid-template-columns: auto 1fr auto;
  align-items: center !important;
  min-height: 70px;
  gap: 22px;
}

.workspace-topbar .workspace-brand {
  height: 68px !important;
  padding: 0;
}

.workspace-topbar .workspace-brand .brand-artwork-header {
  width: 148px;
  height: 68px;
}

.workspace-topbar .workspace-brand .brand-artwork-header img {
  width: 168px;
  left: -10px;
  top: -40px;
}

.workspace-context {
  display: flex;
  align-items: center;
  justify-self: center;
  gap: 11px;
  color: #7a746f;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
}

.workspace-context span {
  color: #a0978e;
  font-weight: 600;
}

.workspace-context strong {
  color: #24272d;
  font-size: 12px;
}

.workspace-context strong::before {
  display: inline-block;
  width: 3px;
  height: 3px;
  margin: 0 11px 2px 0;
  border-radius: 50%;
  background: #b4a088;
  content: "";
}

.workspace-header-actions,
.workspace-switcher {
  display: flex;
  align-items: center;
}

.workspace-header-actions { gap: 18px; }
.workspace-switcher { gap: 17px; }

.workspace-switcher button {
  position: relative;
  padding: 7px 0;
  border: 0;
  color: #827c76;
  background: transparent;
  font-size: 11px;
  font-weight: 750;
}

.workspace-switcher button::after {
  position: absolute;
  right: 0;
  bottom: 1px;
  left: 0;
  height: 1px;
  background: #24272d;
  content: "";
  opacity: 0;
  transform: scaleX(.35);
  transition: opacity .18s ease, transform .18s ease;
}

.workspace-switcher button:hover,
.workspace-switcher button.active { color: #24272d; }
.workspace-switcher button.active::after { opacity: 1; transform: scaleX(1); }

.workspace-exit {
  padding: 8px 11px;
  border: 1px solid #d9d2c9;
  border-radius: 4px;
  color: #34363b;
  background: #fffefd;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.workspace-exit:hover { border-color: #9b8978; background: #f5f1eb; }
.workspace-head-legacy,
.role-selector-legacy { display: none !important; }

@media (max-width: 760px) {
  .workspace-topbar {
    height: auto !important;
    min-height: 0 !important;
  }

  .workspace-topbar .workspace-header-inner {
    grid-template-columns: auto 1fr;
    min-height: 64px;
    gap: 0 14px;
  }

  .workspace-topbar .workspace-brand { height: 64px !important; }
  .workspace-topbar .workspace-brand .brand-artwork-header { width: 118px; height: 64px; }
  .workspace-topbar .workspace-brand .brand-artwork-header img { width: 140px; left: -8px; top: -33px; }
  .workspace-context { justify-self: end; }
  .workspace-context span { display: none; }
  .workspace-context strong::before { display: none; }

  .workspace-header-actions {
    grid-column: 1 / -1;
    justify-content: space-between;
    width: 100%;
    min-height: 43px;
    border-top: 1px solid #ebe6df;
  }

  .workspace-switcher { gap: 20px; }
  .workspace-switcher button { font-size: 10px; }
  .workspace-exit { padding: 7px 9px; font-size: 9px; }
}

/* A proper, intentional finish for the public home page. */
.showcase-closing { padding-bottom: 54px; }

.showcase-footer {
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
  background: #121318;
  color: #aaa7a2;
}

.showcase-footer .footer-inner { min-height: 38px; }

.showcase-footer .brand-footer {
  display: inline-flex;
  align-items: center;
  min-width: 126px;
  color: #fffefd;
}

.showcase-footer .brand-footer .brand-signature { display: none; }

.showcase-footer .brand-footer::before {
  content: "RenoLink";
  color: #fffefd;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -.04em;
}

.showcase-footer .footer-links,
.showcase-footer .footer-links .nav-signin { color: #d2ccc4; }

.showcase-footer .footer-links a:hover,
.showcase-footer .footer-links .nav-signin:hover { color: #fffefd; }

@media (max-width: 620px) {
  .showcase-closing { padding-bottom: 30px; }
  .showcase-footer { padding: 27px 0 30px; }
  .showcase-footer .footer-inner { gap: 13px; }
}

/* Dashboard reset: editorial hierarchy, fewer visual containers. */
.workspace-shell { background: #f4f2ee; }
.workspace-main { max-width: 1180px; padding-top: 58px; }

.dashboard-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #d9d2ca;
}

.dashboard-intro .eyebrow { margin-bottom: 12px; }
.dashboard-intro h1 {
  max-width: 780px;
  margin: 0;
  color: #1d2026;
  font-family: var(--serif);
  font-size: clamp(45px, 5.2vw, 70px);
  font-weight: 600;
  letter-spacing: -2.8px;
  line-height: .91;
}

.dashboard-intro p {
  margin: 14px 0 0;
  color: #747078;
  font-size: 14px;
}

.dashboard-intro > .button { flex: 0 0 auto; margin-bottom: 3px; }
.workspace-tabs {
  display: flex;
  width: fit-content;
  margin: 0 0 24px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.workspace-tab {
  padding: 7px 0 8px;
  border: 0;
  border-radius: 0;
  color: #868079;
  background: transparent;
  font-size: 12px;
  font-weight: 750;
}

.workspace-tab + .workspace-tab { margin-left: 24px; }
.workspace-tab.active { color: #1d2026; background: transparent; box-shadow: inset 0 -2px 0 #1d2026; }

.dashboard-project-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 30px 48px;
  margin-bottom: 34px;
  padding: 31px 0 27px;
  border-top: 2px solid #1d2026;
  border-bottom: 1px solid #d9d2ca;
}

.dashboard-project-status { display: flex; align-items: center; justify-content: flex-end; gap: 10px; color: #8b8176; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.dashboard-project-status .status-chip { color: #51483e; border-color: #d9d0c6; background: #eee9e2; }
.dashboard-project-copy { min-width: 0; }
.dashboard-project-copy .micro-label { color: #9a8978; }
.dashboard-project-copy h2 { margin: 10px 0 8px; color: #1d2026; font-family: var(--serif); font-size: clamp(34px, 4.1vw, 52px); font-weight: 600; letter-spacing: -2px; line-height: .95; }
.dashboard-project-copy p { margin: 0; color: #706e73; font-size: 13px; }

.dashboard-project-facts { display: flex; grid-column: 1 / -1; gap: 0; padding-top: 23px; border-top: 1px solid #e1dad2; }
.dashboard-project-facts > div { display: flex; flex-direction: column; min-width: 164px; padding-right: 28px; margin-right: 28px; border-right: 1px solid #e1dad2; }
.dashboard-project-facts > div:last-child { margin-right: 0; border-right: 0; }
.dashboard-project-facts b { color: #1d2026; font-family: var(--serif); font-size: 25px; font-weight: 600; letter-spacing: -1px; }
.dashboard-project-facts span { margin-top: 4px; color: #827b74; font-size: 10px; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }

.editorial-metrics { margin: 0 0 34px; }
.editorial-journey { margin-bottom: 34px; }
.dashboard-grid { gap: 34px; }
.dashboard-grid-home { grid-template-columns: minmax(0, 1.6fr) minmax(275px, .72fr); }
.dashboard-grid-builder { grid-template-columns: minmax(0, 1.6fr) minmax(275px, .68fr); }
.side-stack { gap: 28px; }

.workspace-shell .card,
.workspace-shell .opportunity-card {
  border: 1px solid #e1dad2;
  border-radius: 0;
  box-shadow: none;
}

.workspace-shell .section-card-head { padding: 26px 28px 0; }
.workspace-shell .section-card-head h3 { font-family: var(--serif); font-size: 25px; font-weight: 600; letter-spacing: -1px; }
.workspace-shell .section-card-head p { display: none; }
.workspace-shell .quote-list { padding: 5px 20px 14px; }
.workspace-shell .quote-card { padding: 22px 8px; }
.workspace-shell .quote-card-main h4 { font-size: 16px; }
.workspace-shell .quote-card-main p { font-size: 12px; }
.workspace-shell .quote-card-price strong { font-family: var(--serif); font-size: 31px; font-weight: 600; }
.workspace-shell .quote-actions .button { color: #5d5853; }

.workspace-shell .next-action { padding: 29px; border: 0; background: #1d2026; }
.workspace-shell .next-action::after { border-color: rgba(199, 178, 147, .22); }
.workspace-shell .next-action .micro-label { color: #c7b293; }
.workspace-shell .next-action h3 { color: #fffefd; font-family: var(--serif); font-size: 29px; font-weight: 600; letter-spacing: -1px; }
.workspace-shell .next-action p { color: #cfc8c0; font-size: 13px; }
.workspace-shell .next-action .button { color: #1d2026; border-color: #fffefd; background: #fffefd; }

.dashboard-intro-builder { align-items: end; margin-bottom: 34px; padding: 0 0 30px; color: inherit; background: transparent; }
.dashboard-intro-builder h1 { color: #1d2026; }
.dashboard-intro-builder p { color: #747078; }
.dashboard-intro-builder .eyebrow { color: #8e7f70; }
.dashboard-intro-builder .eyebrow-dot { background: #b5a089; }
.dashboard-intro-builder .button-outline { color: #4e4943; border-color: #cfc6bb; background: transparent; }
.dashboard-intro-builder .builder-notifications-button { color: #292c31; border-color: #d6cec4; background: #fffefd; }
.dashboard-intro-builder .builder-notifications-button > span { color: #a58b70; }
.dashboard-intro-builder .builder-profile-switch label { color: #777178; }
.dashboard-intro-builder .builder-profile-switch select { color: #292c31; border-color: #d6cec4; background: #fffefd; }

.workspace-shell .opportunity-card { padding: 28px; }
.workspace-shell .opportunity-card:hover { transform: none; border-color: #b9a48c; box-shadow: none; }
.workspace-shell .opportunity-card h3 { margin-top: 14px; font-family: var(--serif); font-size: 26px; font-weight: 600; letter-spacing: -1px; }
.workspace-shell .opp-side { min-width: 148px; }
.workspace-shell .builder-profile-card { background: #1d2026; border-color: #1d2026; }

@media (max-width: 850px) {
  .workspace-main { padding-top: 38px; }
  .dashboard-grid { gap: 26px; }
  .dashboard-project-facts > div { min-width: 0; flex: 1; padding-right: 16px; margin-right: 16px; }
}

@media (max-width: 620px) {
  .workspace-main { padding-top: 31px; }
  .dashboard-intro { align-items: flex-start; flex-direction: column; gap: 19px; margin-bottom: 22px; padding-bottom: 23px; }
  .dashboard-intro h1 { font-size: 45px; letter-spacing: -2px; }
  .dashboard-intro p { font-size: 13px; }
  .dashboard-intro > .button { width: 100%; }
  .workspace-tabs { width: 100%; margin-bottom: 19px; }
  .workspace-tab { flex: 1; text-align: left; }
  .workspace-tab + .workspace-tab { margin-left: 18px; }
  .dashboard-project-hero { grid-template-columns: 1fr; gap: 17px; margin-bottom: 27px; padding-top: 24px; }
  .dashboard-project-status { justify-content: space-between; }
  .dashboard-project-copy h2 { font-size: 38px; }
  .dashboard-project-facts { gap: 0; padding-top: 18px; }
  .dashboard-project-facts > div { padding-right: 10px; margin-right: 10px; }
  .dashboard-project-facts b { font-size: 20px; }
  .dashboard-project-facts span { font-size: 8px; }
  .workspace-shell .section-card-head { padding: 21px 20px 0; }
  .workspace-shell .section-card-head h3 { font-size: 22px; }
  .workspace-shell .quote-list { padding: 4px 13px 10px; }
  .workspace-shell .next-action { padding: 25px 22px; }
  .workspace-shell .opportunity-card { padding: 22px; }
}

/* Public-site direction: contemporary studio pacing, tailored to RenoLink. */
.showcase-shell,
.showcase-home { background: #f4f1ec; }

.showcase-shell .container { width: min(1380px, calc(100% - 64px)); }
.showcase-nav { height: 94px; }
.showcase-nav .brand { height: 72px; }
.showcase-nav .brand-artwork-header { width: 148px; height: 70px; }
.showcase-nav .brand-artwork-header img { width: 168px; left: -10px; top: -40px; }
.showcase-branding { gap: 17px; }
.showcase-marketplace-label { gap: 4px; }
.showcase-marketplace-label span:first-child { color: #25272b; font-size: 10px; }
.showcase-marketplace-label span:last-child { color: #908679; font-size: 9px; }
.showcase-nav-actions { gap: 14px; }
.showcase-start-button { min-height: 50px; padding: 0 20px; font-size: 13px; }
.showcase-start-button span { font-size: 21px; }
.showcase-menu-button { width: 50px; height: 50px; border-width: 1px; }
.showcase-menu-button i { width: 19px; height: 1px; }

.ds-hero { overflow: hidden; background: #f4f1ec; }
.ds-hero-frame { display: grid; grid-template-columns: minmax(0, .9fr) minmax(430px, .72fr); align-items: center; gap: clamp(42px, 7vw, 130px); min-height: min(760px, calc(100vh - 94px)); padding: 66px 0 84px; }
.ds-hero-copy { max-width: 690px; }
.ds-eyebrow { margin: 0 0 23px; color: #877b6d; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.ds-hero-copy h1 { max-width: 650px; margin: 0; color: #15171b; font-family: var(--sans); font-size: clamp(59px, 6.1vw, 100px); font-weight: 550; letter-spacing: -.085em; line-height: .87; }
.ds-hero-intro { max-width: 440px; margin: 29px 0 0; color: #656169; font-size: 18px; line-height: 1.52; }
.ds-hero-actions { display: flex; align-items: center; gap: 25px; margin-top: 40px; }
.ds-hero-actions .showcase-start-button { min-height: 60px; padding: 0 25px; }
.ds-builder-link { padding: 8px 0; border: 0; color: #25272b; background: transparent; font-size: 13px; font-weight: 750; text-decoration: underline; text-decoration-color: #b5a089; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.ds-builder-link:hover { color: #967a5e; }

.ds-hero-visual { position: relative; align-self: stretch; min-height: 520px; overflow: hidden; background: #d9d2c7; }
.ds-hero-visual > img { display: block; width: 100%; height: 100%; min-height: 520px; object-fit: cover; object-position: 53% center; transition: transform .7s ease; }
.ds-hero-visual:hover > img { transform: scale(1.025); }
.ds-hero-note { position: absolute; right: 0; bottom: 0; left: 0; display: grid; gap: 8px; padding: 22px 25px; color: #fffefa; background: rgba(21, 23, 27, .92); }
.ds-hero-note span { color: #cfb9a3; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.ds-hero-note b { font-family: var(--sans); font-size: 21px; font-weight: 600; letter-spacing: -.045em; }
.ds-hero-note small { color: #cbc6c0; font-size: 12px; }

.showcase-proof { border-top: 1px solid #d8d1c8; border-bottom: 1px solid #d8d1c8; background: #f4f1ec; }
.showcase-proof-inner { display: grid; grid-template-columns: repeat(3, minmax(0, .8fr)) minmax(260px, 1.5fr); align-items: stretch; }
.showcase-proof-inner > div,
.showcase-proof-inner > p { min-height: 142px; margin: 0; padding: 31px 28px; border-right: 1px solid #d8d1c8; }
.showcase-proof-inner > div:first-child { padding-left: 0; }
.showcase-proof-inner > p { padding-right: 0; border-right: 0; color: #666169; font-size: 14px; line-height: 1.55; }
.showcase-proof-inner b { display: block; color: #17191d; font-family: var(--sans); font-size: clamp(26px, 2.5vw, 37px); font-weight: 600; letter-spacing: -.065em; }
.showcase-proof-inner span { display: block; max-width: 105px; margin-top: 8px; color: #82796f; font-size: 10px; font-weight: 700; line-height: 1.35; text-transform: uppercase; }

.showcase-summary { padding: 138px 0 126px; background: #fffefa; }
.showcase-summary-grid { grid-template-columns: 160px minmax(0, 1.22fr) minmax(265px, .58fr); gap: 48px; }
.showcase-summary-grid h2,
.showcase-section-heading h2 { color: #17191d; font-family: var(--sans); font-weight: 550; letter-spacing: -.07em; line-height: .93; }
.showcase-summary-grid h2 { font-size: clamp(47px, 4.5vw, 75px); }
.showcase-summary-grid > p,
.showcase-section-heading > p { color: #9a8978; font-size: 10px; letter-spacing: .12em; }
.showcase-summary-grid > div > p { color: #656169; font-size: 15px; }
.showcase-image-break { width: min(1380px, calc(100% - 64px)); height: min(60vw, 720px); border-radius: 0; }
.showcase-process,
.showcase-projects { padding: 132px 0; background: #fffefa; }
.showcase-projects { padding-top: 0; background: #f4f1ec; }
.showcase-projects .container { padding-top: 128px; }
.showcase-section-heading { grid-template-columns: 160px minmax(0, 1fr); }
.showcase-section-heading h2 { max-width: 820px; font-size: clamp(46px, 4.35vw, 73px); }
.showcase-process-list article { grid-template-columns: 160px minmax(0, 1fr); }
.showcase-process-list h3 { color: #17191d; font-family: var(--sans); font-size: clamp(33px, 3vw, 49px); font-weight: 550; letter-spacing: -.07em; }
.showcase-project-grid { gap: 16px; }
.showcase-project-card { border-radius: 0; }
.showcase-project-card span { font-family: var(--sans); font-weight: 550; }
.showcase-closing { padding: 0 0 62px; background: #f4f1ec; }
.showcase-closing-inner { min-height: 450px; border-radius: 0; }

@media (max-width: 900px) {
  .ds-hero-frame { grid-template-columns: minmax(0, 1fr) minmax(330px, .75fr); gap: 38px; }
  .ds-hero-copy h1 { font-size: clamp(53px, 7vw, 74px); }
  .showcase-proof-inner { grid-template-columns: repeat(3, 1fr); }
  .showcase-proof-inner > p { grid-column: 1 / -1; min-height: 0; padding: 22px 0; border-top: 1px solid #d8d1c8; }
  .showcase-summary-grid { grid-template-columns: 120px minmax(0, 1fr) minmax(220px, .6fr); gap: 32px; }
  .showcase-section-heading,
  .showcase-process-list article { grid-template-columns: 120px minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .showcase-shell .container { width: calc(100% - 36px); }
  .showcase-nav { height: 75px; }
  .showcase-nav .brand { height: 64px; }
  .showcase-nav .brand-artwork-header { width: 118px; height: 64px; }
  .showcase-nav .brand-artwork-header img { width: 140px; left: -8px; top: -33px; }
  .showcase-marketplace-panel,
  .showcase-menu-button { display: none; }
  .showcase-start-button { min-height: 43px; padding: 0 14px; font-size: 11px; }
  .ds-hero-frame { display: block; min-height: 0; padding: 58px 0 0; }
  .ds-hero-copy h1 { font-size: clamp(51px, 14.5vw, 70px); }
  .ds-hero-intro { margin-top: 22px; font-size: 16px; }
  .ds-hero-actions { gap: 19px; margin-top: 30px; }
  .ds-hero-actions .showcase-start-button { min-height: 54px; padding: 0 19px; }
  .ds-builder-link { font-size: 12px; }
  .ds-hero-visual { min-height: 440px; margin-top: 54px; }
  .ds-hero-visual > img { min-height: 440px; }
  .showcase-proof-inner { display: grid; grid-template-columns: 1fr 1fr; }
  .showcase-proof-inner > div { min-height: 122px; padding: 24px 15px; }
  .showcase-proof-inner > div:first-child { padding-left: 0; }
  .showcase-proof-inner > div:nth-child(2) { border-right: 0; }
  .showcase-proof-inner > div:nth-child(3) { grid-column: 1 / -1; padding-left: 0; border-top: 1px solid #d8d1c8; }
  .showcase-proof-inner > p { padding: 21px 0; font-size: 13px; }
  .showcase-summary,
  .showcase-process { padding: 83px 0; }
  .showcase-summary-grid { grid-template-columns: 1fr; gap: 22px; }
  .showcase-summary-grid h2,
  .showcase-section-heading h2 { font-size: clamp(43px, 11vw, 57px); }
  .showcase-image-break { width: calc(100% - 36px); min-height: 365px; }
  .showcase-projects { padding-bottom: 78px; }
  .showcase-projects .container { padding-top: 80px; }
  .showcase-section-heading { grid-template-columns: 1fr; gap: 18px; }
  .showcase-process-list article { grid-template-columns: 46px minmax(0, 1fr); }
  .showcase-process-list h3 { font-size: 34px; }
  .showcase-closing { padding-bottom: 36px; }
  .showcase-closing-inner { min-height: 0; border-radius: 0; }
}

/* Product-dashboard shell, guided by the supplied clean workspace reference. */
.dashboard-app {
  display: grid;
  grid-template-columns: 244px minmax(0, 1fr);
  min-height: 100vh;
  background: #f8f9fb;
}

.dashboard-sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 23px 13px 17px;
  border-right: 1px solid #eaecf0;
  background: #fff;
}

.dashboard-logo {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  padding: 0 7px;
  border: 0;
  color: #202226;
  background: transparent;
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -1.1px;
}

.dashboard-logo span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 7px;
  color: #fff;
  background: #2f6ce5;
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: -.03em;
}

.dashboard-sidebar-label { margin: 37px 8px 10px; color: #989da6; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.dashboard-side-nav { display: grid; gap: 3px; }
.dashboard-side-nav button,
.dashboard-sidebar-bottom button {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 39px;
  padding: 0 10px;
  border: 0;
  border-radius: 7px;
  color: #5e6470;
  background: transparent;
  font-size: 12px;
  font-weight: 650;
  text-align: left;
}

.dashboard-side-nav button i,
.dashboard-sidebar-bottom i { width: 15px; color: #848a94; font-size: 15px; font-style: normal; text-align: center; }
.dashboard-side-nav button:hover,
.dashboard-sidebar-bottom button:hover { color: #2f6ce5; background: #f3f6ff; }
.dashboard-side-nav button.active { color: #fff; background: #2f6ce5; box-shadow: 0 5px 11px rgba(47, 108, 229, .18); }
.dashboard-side-nav button.active i { color: #fff; }
.dashboard-sidebar-bottom { display: grid; gap: 2px; margin-top: auto; padding-top: 16px; border-top: 1px solid #edf0f3; }

.dashboard-canvas { min-width: 0; }
.dashboard-app .workspace-topbar {
  position: sticky;
  top: 0;
  height: 58px !important;
  min-height: 58px !important;
  border-color: #eaecf0;
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(12px);
}

.dashboard-app .workspace-topbar .workspace-header-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between;
  min-height: 58px;
  padding: 0 28px;
}

.dashboard-search {
  display: flex;
  align-items: center;
  gap: 9px;
  width: min(345px, 42vw);
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid #edf0f2;
  border-radius: 6px;
  color: #9298a2;
  background: #fafbfc;
  font-size: 11px;
  text-align: left;
}

.dashboard-search > span:first-child { color: #737a85; font-size: 18px; line-height: 1; }
.dashboard-search kbd { margin-left: auto; padding: 2px 5px; border-radius: 3px; color: #8d939d; background: #eef0f3; font-family: var(--sans); font-size: 9px; }
.dashboard-app .workspace-header-actions { gap: 13px; }
.dashboard-quick-action { min-height: 32px; padding: 0 12px; border: 0; border-radius: 5px; color: #fff; background: #2f6ce5; font-size: 10px; font-weight: 750; }
.dashboard-quick-action:hover { background: #255bc4; }
.dashboard-bell { position: relative; width: 28px; height: 28px; padding: 0; border: 0; color: #6f7580; background: transparent; font-size: 19px; }
.dashboard-bell-count { position: absolute; top: -5px; right: -6px; display: grid; place-items: center; min-width: 15px; height: 15px; padding: 0 3px; border-radius: 999px; color: #fff; background: #bb6249; font-family: var(--mono); font-size: 8px; line-height: 1; }
.media-preview-open { display: inline-flex; align-items: center; margin: 7px 8px 0; color: var(--forest); font-size: 10px; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.dashboard-user { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 2px solid #f1c6a0; border-radius: 50%; color: #7b4e34; background: #f6ddc6; font-size: 10px; font-weight: 800; }

.dashboard-app .workspace-main { width: min(1180px, calc(100% - 56px)); max-width: none; margin: 0 auto; padding: 31px 0 56px; }
.dashboard-app .dashboard-intro { align-items: center; margin-bottom: 20px; padding-bottom: 19px; border-bottom: 0; }
.dashboard-app .dashboard-intro .eyebrow { margin-bottom: 7px; color: #8b919b; font-size: 10px; }
.dashboard-app .dashboard-intro h1 { font-family: var(--sans); font-size: clamp(27px, 2.4vw, 35px); font-weight: 650; letter-spacing: -.06em; line-height: 1; }
.dashboard-app .dashboard-intro p { display: none; }
.dashboard-app .dashboard-intro > .button { min-height: 34px; padding: 0 12px; border-radius: 5px; font-size: 10px; }

.dashboard-app .workspace-tabs { gap: 0; width: 100%; margin: 0 0 18px; padding: 4px; border: 1px solid #ebedf0; border-radius: 8px; background: #fff; }
.dashboard-app .workspace-tab { flex: 0 0 auto; padding: 7px 12px; border-radius: 5px; color: #737984; font-size: 11px; }
.dashboard-app .workspace-tab + .workspace-tab { margin-left: 2px; }
.dashboard-app .workspace-tab.active { color: #2f6ce5; background: #edf3ff; box-shadow: none; }

.dashboard-app .dashboard-project-hero {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px 28px;
  margin-bottom: 18px;
  padding: 23px 25px 19px;
  border: 1px solid #e5e8ec;
  border-top: 1px solid #e5e8ec;
  border-radius: 9px;
  background: #fff;
}

.dashboard-app .dashboard-project-status { color: #8d939d; font-size: 9px; }
.dashboard-app .dashboard-project-status .status-chip { color: #39774e; border: 0; border-radius: 999px; background: #dff5e6; }
.dashboard-app .dashboard-project-copy h2 { margin: 7px 0 6px; font-family: var(--sans); font-size: 23px; font-weight: 650; letter-spacing: -.045em; }
.dashboard-app .dashboard-project-copy p { color: #858b95; font-size: 11px; }
.dashboard-app .dashboard-project-facts { gap: 0; padding-top: 16px; border-color: #edf0f2; }
.dashboard-app .dashboard-project-facts > div { min-width: 130px; padding-right: 19px; margin-right: 19px; border-color: #edf0f2; }
.dashboard-app .dashboard-project-facts b { font-family: var(--sans); font-size: 17px; font-weight: 700; letter-spacing: -.04em; }
.dashboard-app .dashboard-project-facts span { color: #9399a2; font-size: 8px; }

.dashboard-app .editorial-metrics { margin: 0 0 18px; overflow: hidden; border: 1px solid #e5e8ec; border-radius: 9px; background: #fff; }
.dashboard-app .editorial-metrics article { padding: 18px 21px; border-color: #edf0f2; }
.dashboard-app .editorial-metrics span { color: #9197a0; font-size: 9px; }
.dashboard-app .editorial-metrics b { margin: 6px 0 2px; font-family: var(--sans); font-size: 19px; font-weight: 700; letter-spacing: -.04em; }
.dashboard-app .editorial-metrics small { color: #858b94; font-size: 10px; }
.dashboard-app .editorial-journey { margin-bottom: 18px; padding: 20px 23px 4px; border: 1px solid #e5e8ec; border-radius: 9px; background: #fff; }
.dashboard-app .editorial-journey-head h2 { font-family: var(--sans); font-size: 17px; font-weight: 700; letter-spacing: -.04em; }

.dashboard-app .dashboard-grid { gap: 16px; }
.dashboard-app .side-stack { gap: 16px; }
.dashboard-app .card,
.dashboard-app .opportunity-card { border-color: #e5e8ec; border-radius: 9px; background: #fff; }
.dashboard-app .section-card-head { padding: 19px 20px 0; }
.dashboard-app .section-card-head h3 { font-family: var(--sans); font-size: 15px; font-weight: 700; letter-spacing: -.03em; }
.dashboard-app .quote-list { padding: 4px 15px 11px; }
.dashboard-app .quote-card { padding: 16px 6px; }
.dashboard-app .quote-card-main h4 { font-family: var(--sans); font-size: 13px; }
.dashboard-app .quote-card-price strong { font-family: var(--sans); font-size: 22px; }
.dashboard-app .next-action { border-radius: 9px; background: #f4f7ff; }
.dashboard-app .next-action::after { display: none; }
.dashboard-app .next-action .micro-label { color: #5f7cc5; }
.dashboard-app .next-action h3 { color: #20242b; font-family: var(--sans); font-size: 20px; font-weight: 700; }
.dashboard-app .next-action p { color: #6d7480; font-size: 12px; }
.dashboard-app .next-action .button { color: #fff; border-color: #2f6ce5; background: #2f6ce5; }
.dashboard-app .builder-profile-card { background: #fff; }
.dashboard-app .builder-profile-card .profile-top h3,
.dashboard-app .builder-profile-card .profile-top p { color: #24272d; }
.dashboard-app .builder-profile-meta div { background: #f6f8fa; }
.dashboard-app .builder-profile-meta span { color: #9097a1; }
.dashboard-app .opportunity-card { padding: 21px; }
.dashboard-app .opportunity-card h3 { margin-top: 9px; font-family: var(--sans); font-size: 19px; font-weight: 700; }
.dashboard-app .opportunity-card:hover { border-color: #c8d6f3; background: #fff; }

@media (max-width: 900px) {
  .dashboard-app.dashboard-role-homeowner,
  .dashboard-app.dashboard-role-builder { display: block; }
  .dashboard-app.dashboard-role-homeowner .dashboard-sidebar,
  .dashboard-app.dashboard-role-builder .dashboard-sidebar { display: none; }
  .dashboard-app .workspace-main { width: min(100% - 36px, 1180px); }
  .dashboard-app .dashboard-project-facts > div { min-width: 0; }
}

@media (max-width: 720px) {
  .dashboard-app { display: block; }
  .dashboard-sidebar { display: none; }
  .dashboard-app .workspace-topbar { height: 54px !important; min-height: 54px !important; }
  .dashboard-app .workspace-topbar .workspace-header-inner { min-height: 54px; padding: 0 16px; }
  .dashboard-search { width: auto; min-width: 0; padding: 0; border: 0; background: transparent; }
  .dashboard-search > span:nth-child(2),
  .dashboard-search kbd,
  .dashboard-bell { display: none; }
  .dashboard-search > span:first-child { font-size: 21px; }
  .dashboard-app .workspace-header-actions { gap: 8px; }
  .dashboard-quick-action { padding: 0 9px; font-size: 9px; }
  .dashboard-app .workspace-main { width: calc(100% - 30px); padding-top: 23px; }
  .dashboard-app .dashboard-intro { margin-bottom: 14px; }
  .dashboard-app .dashboard-intro h1 { font-size: 28px; }
  .dashboard-app .dashboard-project-hero { padding: 19px 17px 16px; }
  .dashboard-app .dashboard-project-copy h2 { font-size: 20px; }
  .dashboard-app .dashboard-project-facts > div { padding-right: 8px; margin-right: 8px; }
  .dashboard-app .dashboard-project-facts b { font-size: 15px; }
  .dashboard-app .editorial-metrics { border-radius: 8px; }
  .dashboard-app .editorial-metrics article { padding: 15px 14px; }
}

/* RenoLink palette for the app shell: warm paper, charcoal and stone. */
.dashboard-app { background: #f4f1ec; }
.dashboard-sidebar { border-color: #e6e0d8; background: #fffefd; }
.dashboard-logo { color: #1d2026; }
.dashboard-logo span { color: #fffefd; background: #1d2026; }
.dashboard-sidebar-label { color: #9a9289; }
.dashboard-side-nav button,
.dashboard-sidebar-bottom button { color: #6f6a65; }
.dashboard-side-nav button i,
.dashboard-sidebar-bottom i { color: #958c82; }
.dashboard-side-nav button:hover,
.dashboard-sidebar-bottom button:hover { color: #1d2026; background: #f3eee7; }
.dashboard-side-nav button.active { color: #fffefd; background: #1d2026; box-shadow: 0 5px 13px rgba(29, 32, 38, .15); }
.dashboard-side-nav button.active i { color: #cbb59b; }
.dashboard-sidebar-bottom { border-color: #eee8e1; }

.dashboard-app .workspace-topbar { border-color: #e6e0d8; background: rgba(255, 254, 253, .94); }
.dashboard-search { border-color: #ece6df; color: #918980; background: #faf8f5; }
.dashboard-search > span:first-child { color: #746d65; }
.dashboard-search kbd { color: #867d73; background: #efeae3; }
.dashboard-quick-action { background: #1d2026; }
.dashboard-quick-action:hover { background: #54483d; }
.dashboard-bell { color: #716a63; }
.dashboard-user { border-color: #decbb7; color: #6b503b; background: #f0dfcf; }

.dashboard-app .dashboard-intro .eyebrow { color: #988a7c; }
.dashboard-app .dashboard-intro h1 { color: #1d2026; }
.dashboard-app .workspace-tabs { border-color: #e7e1da; background: #fffefd; }
.dashboard-app .workspace-tab { color: #7b746d; }
.dashboard-app .workspace-tab.active { color: #1d2026; background: #f1e8de; }
.dashboard-app .dashboard-project-hero,
.dashboard-app .editorial-metrics,
.dashboard-app .editorial-journey,
.dashboard-app .card,
.dashboard-app .opportunity-card { border-color: #e5ded6; background: #fffefd; }
.dashboard-app .dashboard-project-status { color: #91877c; }
.dashboard-app .dashboard-project-status .status-chip { color: #526a52; background: #e4f0e2; }
.dashboard-app .dashboard-project-copy h2,
.dashboard-app .dashboard-project-facts b { color: #1d2026; }
.dashboard-app .dashboard-project-copy p,
.dashboard-app .dashboard-project-facts span { color: #847b73; }
.dashboard-app .dashboard-project-facts,
.dashboard-app .dashboard-project-facts > div { border-color: #eee7df; }
.dashboard-app .editorial-metrics article { border-color: #eee7df; }
.dashboard-app .editorial-metrics span { color: #90867c; }
.dashboard-app .editorial-metrics b { color: #1d2026; }
.dashboard-app .editorial-metrics small { color: #847b73; }
.dashboard-app .workspace-shell .next-action,
.dashboard-app .next-action { background: #efe6dc; }
.dashboard-app .next-action .micro-label { color: #8f7159; }
.dashboard-app .next-action h3 { color: #1d2026; }
.dashboard-app .next-action p { color: #6f6760; }
.dashboard-app .next-action .button { border-color: #1d2026; background: #1d2026; }
.dashboard-app .opportunity-card:hover { border-color: #c7b293; background: #fffefd; }
.dashboard-app .builder-profile-meta div { background: #f6f2ed; }
.dashboard-app .builder-profile-meta span { color: #8d8379; }

/* Finishing details: quieter corners and a considered warm hover response. */
.dashboard-app .dashboard-project-hero,
.dashboard-app .editorial-metrics,
.dashboard-app .editorial-journey,
.dashboard-app .card,
.dashboard-app .opportunity-card { box-shadow: 0 1px 1px rgba(29, 32, 38, .015); }
.dashboard-app .card:hover { border-color: #d8cdc1; }
.dashboard-app .dashboard-quick-action,
.dashboard-app .dashboard-side-nav button,
.dashboard-app .workspace-tab,
.dashboard-app .dashboard-search { transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease; }

/* Component-level refinement: shared icon geometry and stronger product detail. */
.workspace-icon { display: inline-block; flex: 0 0 auto; width: 16px; height: 16px; }
.dashboard-side-nav .workspace-icon,
.dashboard-sidebar-bottom .workspace-icon { width: 15px; height: 15px; color: #958c82; }
.dashboard-side-nav button.active .workspace-icon { color: #cbb59b; }
.dashboard-search .workspace-icon { width: 15px; height: 15px; color: #746d65; }
.dashboard-quick-action .workspace-icon { width: 13px; height: 13px; margin-right: 5px; vertical-align: -2px; }
.dashboard-bell .workspace-icon { width: 17px; height: 17px; vertical-align: middle; }

.dashboard-app .dashboard-sidebar { box-shadow: 1px 0 0 rgba(29, 32, 38, .015); }
.dashboard-app .workspace-topbar { box-shadow: 0 1px 0 rgba(29, 32, 38, .015); }
.dashboard-app .dashboard-intro { position: relative; }
.dashboard-app .dashboard-intro::after { position: absolute; right: 0; bottom: -3px; left: 0; height: 1px; background: linear-gradient(90deg, #ded5cb 0, rgba(222, 213, 203, 0) 62%); content: ""; }
.dashboard-app .dashboard-intro > .button { font-weight: 750; letter-spacing: .01em; }

.dashboard-app .dashboard-project-hero { position: relative; overflow: hidden; }
.dashboard-app .dashboard-project-hero::before { position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: #b5a089; content: ""; }
.dashboard-app .dashboard-project-status .status-chip { padding: 5px 9px; font-size: 9px; font-weight: 800; letter-spacing: .02em; }
.dashboard-app .dashboard-project-facts > div:first-child b { color: #896f58; }
.dashboard-app .dashboard-project-facts > div:nth-child(2) b { color: #526a52; }
.dashboard-app .dashboard-project-facts > div:last-child b { color: #3c3b40; }

.dashboard-app .editorial-metrics article { position: relative; }
.dashboard-app .editorial-metrics article::before { display: block; width: 20px; height: 3px; margin-bottom: 12px; border-radius: 999px; background: #d7c6b5; content: ""; }
.dashboard-app .editorial-metrics article:nth-child(2)::before { background: #cbdac9; }
.dashboard-app .editorial-metrics article:nth-child(3)::before { background: #d7d0c5; }
.dashboard-app .editorial-metrics article:nth-child(4)::before { background: #d9c9bd; }

.dashboard-app .section-card-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.dashboard-app .section-card-head h3::before { display: inline-block; width: 7px; height: 7px; margin: 0 8px 1px 0; border-radius: 50%; background: #b5a089; content: ""; }
.dashboard-app .quote-card { transition: background .18s ease; }
.dashboard-app .quote-card:hover { background: #fcfaf7; }
.dashboard-app .quote-card-price { min-width: 108px; padding-left: 15px; border-left: 1px solid #eee7df; }
.dashboard-app .quote-actions .button:hover { color: #1d2026; background: #f3eee8; }
.dashboard-app .activity-item { padding: 14px 0; }
.dashboard-app .activity-marker { width: 7px; height: 7px; box-shadow: 0 0 0 4px #f4eee7; }
.dashboard-app .message-item { padding: 16px 20px; }
.dashboard-app .message-item:hover { background: #fcfaf7; }

.dashboard-app .builder-profile-card { overflow: hidden; }
.dashboard-app .builder-profile-card::before { display: block; height: 4px; margin: -1px -1px 19px; background: linear-gradient(90deg, #1d2026 0 54%, #b5a089 54% 100%); content: ""; }
.dashboard-app .opportunity-card { position: relative; }
.dashboard-app .opportunity-card::before { position: absolute; top: 0; left: 0; width: 3px; height: 100%; background: #d9cbbd; content: ""; }
.dashboard-app .opp-side { border-color: #eee7df; }
.dashboard-app .opp-side .match-score { color: #1d2026; font-family: var(--sans); font-size: 25px; }
.dashboard-app .builder-notifications-button { border-radius: 6px; box-shadow: none; }

@media (max-width: 620px) {
  .dashboard-app .dashboard-intro::after { right: -15px; left: -15px; }
  .dashboard-app .editorial-metrics article::before { width: 16px; margin-bottom: 9px; }
  .dashboard-app .quote-card-price { min-width: 0; padding-left: 0; border-left: 0; }
}

/* Final dashboard restraint: remove concept-style decoration in favour of a mature UI. */
.dashboard-logo { display: none; }
.dashboard-sidebar { padding-top: 24px; }
.dashboard-sidebar-label { margin-top: 0; margin-bottom: 12px; }
.dashboard-app .dashboard-sidebar { background: #fbfaf8; }
.dashboard-app .workspace-topbar { background: rgba(251, 250, 248, .96); }
.dashboard-app .workspace-main { padding-top: 35px; }

.dashboard-app .dashboard-intro { margin-bottom: 18px; padding-bottom: 0; }
.dashboard-app .dashboard-intro::after,
.dashboard-app .dashboard-project-hero::before,
.dashboard-app .editorial-metrics article::before,
.dashboard-app .section-card-head h3::before,
.dashboard-app .builder-profile-card::before,
.dashboard-app .opportunity-card::before { display: none; }

.dashboard-app .dashboard-intro .eyebrow { margin-bottom: 8px; color: #8b837b; font-weight: 700; letter-spacing: .055em; text-transform: none; }
.dashboard-app .dashboard-intro h1 { font-size: clamp(29px, 2.5vw, 36px); font-weight: 650; letter-spacing: -.055em; }
.dashboard-app .dashboard-intro > .button { min-height: 36px; border-radius: 7px; }

.dashboard-app .workspace-tabs { width: auto; margin-bottom: 20px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.dashboard-app .workspace-tab { padding: 8px 11px; border-bottom: 1px solid transparent; border-radius: 0; }
.dashboard-app .workspace-tab.active { color: #1d2026; background: transparent; box-shadow: inset 0 -2px 0 #1d2026; }

.dashboard-app .dashboard-project-hero,
.dashboard-app .editorial-metrics,
.dashboard-app .editorial-journey,
.dashboard-app .card,
.dashboard-app .opportunity-card { border-color: #e8e2da; border-radius: 8px; box-shadow: 0 1px 2px rgba(29, 32, 38, .025); }
.dashboard-app .dashboard-project-hero { padding: 24px 26px 21px; }
.dashboard-app .dashboard-project-copy h2 { font-size: 22px; }
.dashboard-app .dashboard-project-facts { margin-top: 3px; }
.dashboard-app .dashboard-project-facts > div { min-width: 145px; }
.dashboard-app .dashboard-project-facts b { font-size: 16px; }

.dashboard-app .editorial-metrics article { padding: 20px 22px; }
.dashboard-app .editorial-metrics b { margin-top: 4px; font-size: 20px; }
.dashboard-app .editorial-metrics small { margin-top: 2px; }
.dashboard-app .editorial-journey { padding: 20px 24px 7px; }
.dashboard-app .editorial-journey-head { padding-bottom: 13px; }
.dashboard-app .editorial-journey-head p { display: none; }

.dashboard-app .section-card-head { padding: 21px 22px 0; }
.dashboard-app .section-card-head h3 { font-size: 15px; }
.dashboard-app .quote-list { padding: 5px 17px 13px; }
.dashboard-app .quote-card { padding: 18px 7px; }
.dashboard-app .quote-card:hover,
.dashboard-app .message-item:hover { background: transparent; }
.dashboard-app .quote-card-price { min-width: 112px; }
.dashboard-app .next-action { padding: 24px; }
.dashboard-app .next-action h3 { font-size: 19px; }
.dashboard-app .opportunity-card { padding: 23px; }
.dashboard-app .opportunity-card h3 { font-size: 18px; }
.dashboard-app .card:hover { border-color: #e8e2da; }

.dashboard-app .dashboard-side-nav button { min-height: 38px; border-radius: 6px; }
.dashboard-app .dashboard-side-nav button.active { box-shadow: none; }
.dashboard-app .dashboard-quick-action { border-radius: 6px; box-shadow: none; }

@media (max-width: 620px) {
  .dashboard-app .workspace-main { padding-top: 25px; }
  .dashboard-app .dashboard-intro { margin-bottom: 12px; }
  .dashboard-app .workspace-tabs { width: 100%; overflow-x: auto; }
  .dashboard-app .workspace-tab { flex: 0 0 auto; }
  .dashboard-app .dashboard-project-hero { padding: 20px 18px 17px; }
  .dashboard-app .editorial-metrics article { padding: 16px; }
}

/* Builder profile contrast correction for the light dashboard card. */
.dashboard-app .builder-profile-card { color: #1d2026; background: #fffefd; border-color: #e8e2da; }
.dashboard-app .builder-profile-card h3,
.dashboard-app .builder-profile-card .profile-top h3,
.dashboard-app .builder-profile-meta b { color: #1d2026; }
.dashboard-app .builder-profile-card p,
.dashboard-app .builder-profile-card .profile-top p { color: #756e67; }
.dashboard-app .builder-profile-meta div { border: 1px solid #eee7df; background: #faf7f2; }
.dashboard-app .builder-profile-meta span { color: #8a8178; }
.dashboard-app .builder-profile-card .button-outline { color: #34312e !important; border-color: #d8cec3 !important; background: #fffefd !important; }
.dashboard-app .builder-profile-card .button-outline:hover { border-color: #a9937b !important; background: #f5efe8 !important; }

/* Messaging lives in a focused conversation pop-up, not a permanent dashboard form. */
.dashboard-app .message-launcher-body { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 18px 22px 21px; }
.dashboard-app .message-launcher-body > div { min-width: 0; }
.dashboard-app .message-launcher-body span { color: #8b8178; font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.dashboard-app .message-launcher-body p { display: -webkit-box; max-width: 380px; margin: 6px 0 0; overflow: hidden; color: #5e5954; font-size: 12px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.dashboard-app .message-launcher-body .button { flex: 0 0 auto; }

.modal-scrim .modal:has(.message-list) { width: min(650px, calc(100vw - 32px)); max-height: min(720px, calc(100vh - 32px)); overflow: hidden; border: 1px solid #e4ddd5; border-radius: 12px; background: #fffefd; box-shadow: 0 24px 70px rgba(29, 32, 38, .2); }
.modal-scrim .modal:has(.message-list) .modal-head { padding: 23px 25px 18px; border-bottom: 1px solid #ece6df; }
.modal-scrim .modal:has(.message-list) .modal-head h2 { color: #1d2026; font-family: var(--sans); font-size: 23px; font-weight: 700; letter-spacing: -.045em; }
.modal-scrim .modal:has(.message-list) .modal-head p { max-width: 470px; color: #756f69; font-size: 12px; }
.modal-scrim .modal:has(.message-list) .modal-body { display: flex; flex-direction: column; max-height: 510px; padding: 0; }
.modal-scrim .modal:has(.message-list) .message-list { flex: 1; min-height: 150px; padding: 6px 25px; overflow-y: auto; }
.modal-scrim .modal:has(.message-list) .message-item { margin: 0; padding: 16px 0; border-bottom: 1px solid #f0ebe5; }
.modal-scrim .modal:has(.message-list) .message-item:last-child { border-bottom: 0; }
.modal-scrim .modal:has(.message-list) .message-item b { color: #292724; font-size: 12px; }
.modal-scrim .modal:has(.message-list) .message-item span,
.modal-scrim .modal:has(.message-list) .message-item small { color: #918980; }
.modal-scrim .modal:has(.message-list) .message-form { grid-template-columns: minmax(0, 1fr) auto; margin-top: 0; padding: 16px 25px 20px; border-top: 1px solid #ece6df; background: #fcfaf7; }
.modal-scrim .modal:has(.message-list) .message-form textarea { min-height: 45px; border-color: #ded5cb; border-radius: 7px; background: #fffefd; }
.modal-scrim .modal:has(.message-list) .message-form .button { min-height: 45px; border-radius: 7px; color: #fffefd; border-color: #1d2026; background: #1d2026; }

@media (max-width: 620px) {
  .dashboard-app .message-launcher-body { align-items: flex-start; flex-direction: column; padding: 16px 19px 19px; }
  .modal-scrim .modal:has(.message-list) .modal-head { padding: 20px 19px 16px; }
  .modal-scrim .modal:has(.message-list) .message-list { padding: 5px 19px; }
  .modal-scrim .modal:has(.message-list) .message-form { grid-template-columns: 1fr; padding: 14px 19px 18px; }
  .modal-scrim .modal:has(.message-list) .message-form .button { width: 100%; }
}

.message-popup-button {
  position: fixed;
  right: 26px;
  bottom: 24px;
  z-index: 18;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 8px;
  color: #fffefd;
  background: #1d2026;
  box-shadow: 0 12px 28px rgba(29, 32, 38, .2);
  font-size: 12px;
  font-weight: 750;
}

.message-popup-button .workspace-icon { width: 17px; height: 17px; color: #cfb9a3; }
.message-popup-button:hover { background: #413b35; transform: translateY(-1px); }

@media (max-width: 620px) {
  .message-popup-button { right: 16px; bottom: 16px; min-height: 44px; padding: 0 14px; }
}

/* More comfortable reading scale across the product workspace. */
.dashboard-app { font-size: 14px; }
.dashboard-side-nav button,
.dashboard-sidebar-bottom button { font-size: 13px; }
.dashboard-sidebar-label { font-size: 11px; }
.dashboard-search { font-size: 12px; }
.dashboard-quick-action { font-size: 11px; }
.dashboard-app .dashboard-intro .eyebrow { font-size: 11px; }
.dashboard-app .workspace-tab { font-size: 12px; }
.dashboard-app .dashboard-project-status { font-size: 10px; }
.dashboard-app .dashboard-project-copy p { font-size: 13px; }
.dashboard-app .dashboard-project-facts span { font-size: 10px; }
.dashboard-app .dashboard-project-facts b { font-size: 18px; }
.dashboard-app .editorial-metrics span { font-size: 10px; }
.dashboard-app .editorial-metrics b { font-size: 22px; }
.dashboard-app .editorial-metrics small { font-size: 11px; }
.dashboard-app .editorial-journey-head h2 { font-size: 19px; }
.dashboard-app .section-card-head h3 { font-size: 17px; }
.dashboard-app .quote-card-main h4 { font-size: 14px; }
.dashboard-app .quote-card-main p,
.dashboard-app .next-action p,
.dashboard-app .message-launcher-body p { font-size: 13px; }
.dashboard-app .quote-card-price strong { font-size: 24px; }
.dashboard-app .quote-card-price span,
.dashboard-app .message-launcher-body span { font-size: 11px; }
.dashboard-app .opportunity-card h3 { font-size: 20px; }
.dashboard-app .opportunity-card p,
.dashboard-app .opp-meta { font-size: 13px; }
.dashboard-app .opp-side small { font-size: 11px; }
.dashboard-app .builder-profile-card h3 { font-size: 17px; }
.dashboard-app .builder-profile-card p { font-size: 12px; }
.dashboard-app .builder-profile-meta span { font-size: 10px; }
.dashboard-app .builder-profile-meta b { font-size: 14px; }
.modal-scrim .modal:has(.message-list) .modal-head p,
.modal-scrim .modal:has(.message-list) .message-item p { font-size: 13px; }
.modal-scrim .modal:has(.message-list) .message-item b { font-size: 13px; }

@media (max-width: 620px) {
  .dashboard-side-nav button,
  .dashboard-sidebar-bottom button { font-size: 14px; }
  .dashboard-app .workspace-tab { font-size: 13px; }
  .dashboard-app .dashboard-project-copy p { font-size: 12px; }
  .dashboard-app .dashboard-project-facts span { font-size: 9px; }
  .dashboard-app .editorial-metrics small { font-size: 10px; }
}

/* Responsive workspace navigation and utility controls. */
.dashboard-app .workspace-topbar { backdrop-filter: none; }
.dashboard-bell:focus-visible,
.dashboard-user:focus-visible,
.dashboard-search:focus-visible,
.dashboard-side-nav button:focus-visible,
.dashboard-sidebar-bottom button:focus-visible {
  outline: 3px solid rgba(181, 160, 137, .6);
  outline-offset: 2px;
}

@media (max-width: 720px) {
  .dashboard-app .dashboard-sidebar {
    position: sticky;
    top: 54px;
    z-index: 16;
    display: block;
    width: 100%;
    height: auto;
    padding: 7px 15px;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid #e6e0d8;
    background: #fbfaf8;
  }

  .dashboard-app .dashboard-sidebar-label,
  .dashboard-app .dashboard-sidebar-bottom { display: none; }

  .dashboard-app .dashboard-side-nav {
    display: flex;
    width: max-content;
    gap: 4px;
  }

  .dashboard-app .dashboard-side-nav button {
    width: auto;
    min-height: 36px;
    padding: 0 10px;
    white-space: nowrap;
  }

  .dashboard-app .dashboard-side-nav .workspace-icon { width: 14px; height: 14px; }
  .dashboard-app .dashboard-bell { display: grid; place-items: center; }
  .dashboard-app .workspace-main { padding-top: 20px; }
}

/* Floating support-style inbox: messages stay available without interrupting the workspace. */
.message-widget-layer {
  position: fixed;
  inset: 0;
  z-index: 60;
  pointer-events: none;
}

.message-widget {
  position: absolute;
  right: 24px;
  bottom: 24px;
  display: flex;
  flex-direction: column;
  width: min(420px, calc(100vw - 32px));
  height: min(600px, calc(100dvh - 48px));
  overflow: hidden;
  pointer-events: auto;
  border: 1px solid #ddd5cc;
  border-radius: 12px;
  background: #fffefd;
  box-shadow: 0 20px 55px rgba(29, 32, 38, .22);
}

.message-widget-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 19px 20px 16px;
  border-bottom: 1px solid #ece6df;
  background: #fffefd;
}

.message-widget-head > div { min-width: 0; }
.message-widget-head span { display: block; color: #8b8178; font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.message-widget-head h2 { margin: 5px 0 0; overflow: hidden; color: #1d2026; font-family: var(--sans); font-size: 18px; font-weight: 700; letter-spacing: -.035em; text-overflow: ellipsis; white-space: nowrap; }
.message-widget-head p { margin: 5px 0 0; color: #756f69; font-size: 12px; line-height: 1.42; }
.message-widget-head .modal-close { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 6px; color: #5d5751; background: #f5f0ea; font-size: 21px; line-height: 1; }
.message-widget-head .modal-close:hover { color: #1d2026; background: #ece4da; }

.message-widget-body { display: flex; flex: 1; min-height: 0; flex-direction: column; background: #fffefd; }
.message-widget .message-list,
.message-widget .builder-notification-list { flex: 1; min-height: 0; padding: 4px 20px; overflow-y: auto; }
.message-widget .message-item { margin: 0; padding: 15px 0; border-bottom: 1px solid #f0ebe5; }
.message-widget .message-item:last-child { border-bottom: 0; }
.message-widget .message-item b { color: #292724; font-size: 13px; }
.message-widget .message-item span,
.message-widget .message-item small { color: #918980; }
.message-widget .message-item p { margin: 6px 0; color: #4f4a45; font-size: 13px; line-height: 1.48; }
.message-widget .message-form { grid-template-columns: minmax(0, 1fr) auto; margin: 0; padding: 13px 16px 16px; border-top: 1px solid #ece6df; background: #fcfaf7; }
.message-widget .message-form textarea { min-height: 44px; border-color: #ded5cb; border-radius: 7px; background: #fffefd; font-size: 13px; }
.message-widget .message-form .button { min-height: 44px; padding: 0 13px; border-radius: 7px; color: #fffefd; border-color: #1d2026; background: #1d2026; }
.message-widget .builder-notification-item { padding: 16px 0; }
.message-widget .builder-notification-item h3 { color: #292724; font-size: 14px; }
.message-widget .builder-notification-item p { color: #5e5954; font-size: 13px; }

@media (max-width: 620px) {
  .message-widget { right: 12px; bottom: 12px; width: calc(100vw - 24px); height: min(620px, calc(100dvh - 24px)); }
  .message-widget-head { padding: 17px 17px 14px; }
  .message-widget .message-list,
  .message-widget .builder-notification-list { padding-right: 17px; padding-left: 17px; }
  .message-widget .message-form { grid-template-columns: 1fr; gap: 8px; padding: 12px 14px 14px; }
  .message-widget .message-form .button { width: 100%; }
}

/* Unified dashboard refresh — warm, clear and deliberately restrained. */
.dashboard-app {
  --dashboard-paper: #f5f2ed;
  --dashboard-surface: #fffefd;
  --dashboard-line: #e4ddd5;
  --dashboard-ink: #24211e;
  --dashboard-muted: #6f6962;
  --dashboard-soft: #f0ebe4;
  --dashboard-sage: #536a59;
  color: var(--dashboard-ink);
  background: var(--dashboard-paper);
  font-family: var(--sans);
}

.dashboard-app .dashboard-sidebar {
  width: 244px;
  padding: 27px 14px 18px;
  border-color: var(--dashboard-line);
  background: #fbfaf7;
  box-shadow: none;
}

.dashboard-app .dashboard-sidebar-label {
  margin: 0 8px 13px;
  color: #827970;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}

.dashboard-app .dashboard-side-nav { gap: 4px; }
.dashboard-app .dashboard-side-nav button,
.dashboard-app .dashboard-sidebar-bottom button {
  min-height: 40px;
  padding: 0 11px;
  border-radius: 7px;
  color: #625d57;
  font-size: 13px;
  font-weight: 700;
}

.dashboard-app .dashboard-side-nav button:hover,
.dashboard-app .dashboard-sidebar-bottom button:hover { color: var(--dashboard-ink); background: #f0ebe4; }
.dashboard-app .dashboard-side-nav button.active { color: #fffefd; background: #272522; box-shadow: none; }
.dashboard-app .dashboard-side-nav button.active .workspace-icon { color: #d9c4aa; }
.dashboard-app .dashboard-sidebar-bottom { padding-top: 15px; border-color: var(--dashboard-line); }

.dashboard-app .workspace-topbar {
  height: 64px !important;
  min-height: 64px !important;
  border-color: var(--dashboard-line);
  background: rgba(255, 254, 253, .98);
  box-shadow: none;
}

.dashboard-app .workspace-topbar .workspace-header-inner { min-height: 64px; padding: 0 30px; }
.dashboard-app .workspace-header-actions { gap: 12px; }
.dashboard-app .dashboard-search {
  width: min(370px, 40vw);
  min-height: 36px;
  border-color: var(--dashboard-line);
  border-radius: 7px;
  color: #817970;
  background: #faf8f5;
  font-size: 12px;
}

.dashboard-app .dashboard-search kbd { color: #776f67; background: #eee9e2; }
.dashboard-app .dashboard-quick-action {
  min-height: 36px;
  padding: 0 13px;
  border-radius: 7px;
  color: #fffefd;
  background: #272522;
  font-size: 11px;
}

.dashboard-app .dashboard-quick-action:hover { background: #49433d; }
.dashboard-app .dashboard-bell { color: #5d5751; }
.dashboard-app .dashboard-user { width: 31px; height: 31px; border: 1px solid #d9c6b0; color: #5a4637; background: #ebded0; }

.dashboard-app .workspace-main { width: min(1200px, calc(100% - 64px)); padding: 38px 0 64px; }
.dashboard-app .dashboard-intro { align-items: flex-end; gap: 24px; margin-bottom: 26px; }
.dashboard-app .dashboard-intro .eyebrow { display: block; margin-bottom: 9px; color: #857b71; font-size: 11px; font-weight: 750; letter-spacing: .05em; }
.dashboard-app .dashboard-intro h1 { color: var(--dashboard-ink); font-size: clamp(30px, 3vw, 39px); font-weight: 700; letter-spacing: -.055em; line-height: 1.02; }
.dashboard-app .dashboard-intro p { display: block; margin: 8px 0 0; color: var(--dashboard-muted); font-size: 14px; }
.dashboard-app .dashboard-intro > .button { min-height: 40px; padding: 0 15px; border-radius: 7px; font-size: 12px; }

.dashboard-app .workspace-tabs { margin-bottom: 24px; padding: 0; border: 0; border-bottom: 1px solid var(--dashboard-line); border-radius: 0; background: transparent; }
.dashboard-app .workspace-tab { padding: 10px 1px 11px; color: #756e67; font-size: 13px; font-weight: 700; }
.dashboard-app .workspace-tab + .workspace-tab { margin-left: 24px; }
.dashboard-app .workspace-tab.active { color: var(--dashboard-ink); background: transparent; box-shadow: inset 0 -2px 0 var(--dashboard-ink); }

.dashboard-app .dashboard-project-hero,
.dashboard-app .editorial-metrics,
.dashboard-app .editorial-journey,
.dashboard-app .card,
.dashboard-app .opportunity-card {
  border-color: var(--dashboard-line);
  border-radius: 10px;
  background: var(--dashboard-surface);
  box-shadow: 0 1px 2px rgba(36, 33, 30, .025);
}

.dashboard-app .dashboard-project-hero { gap: 21px 34px; margin-bottom: 20px; padding: 25px 27px 22px; }
.dashboard-app .dashboard-project-copy h2 { margin: 7px 0 7px; color: var(--dashboard-ink); font-size: 25px; font-weight: 700; letter-spacing: -.045em; }
.dashboard-app .dashboard-project-copy p,
.dashboard-app .dashboard-project-facts span,
.dashboard-app .dashboard-project-status { color: var(--dashboard-muted); font-size: 12px; }
.dashboard-app .dashboard-project-facts { padding-top: 19px; border-color: #eee8e1; }
.dashboard-app .dashboard-project-facts > div { border-color: #eee8e1; }
.dashboard-app .dashboard-project-facts b { color: var(--dashboard-ink); font-size: 20px; }
.dashboard-app .dashboard-project-status .status-chip { color: var(--dashboard-sage); background: #e8f0e6; }

.dashboard-app .editorial-metrics { margin-bottom: 20px; }
.dashboard-app .editorial-metrics article { padding: 20px 22px; border-color: #eee8e1; }
.dashboard-app .editorial-metrics span,
.dashboard-app .editorial-metrics small { color: var(--dashboard-muted); font-size: 12px; }
.dashboard-app .editorial-metrics b { color: var(--dashboard-ink); font-size: 22px; }
.dashboard-app .editorial-journey { margin-bottom: 20px; padding: 21px 24px 7px; }
.dashboard-app .editorial-journey-head h2 { color: var(--dashboard-ink); font-size: 20px; }
.dashboard-app .editorial-journey-head p { display: block; color: var(--dashboard-muted); font-size: 13px; }

.dashboard-app .dashboard-grid { gap: 20px; }
.dashboard-app .side-stack { gap: 20px; }
.dashboard-app .section-card-head { padding: 21px 22px 0; }
.dashboard-app .section-card-head h3 { color: var(--dashboard-ink); font-size: 17px; font-weight: 750; letter-spacing: -.025em; }
.dashboard-app .section-card-head p { display: block; margin-top: 5px; color: var(--dashboard-muted); font-size: 13px; }
.dashboard-app .counter { color: #655541; background: #f0e8de; }

.dashboard-app .quote-list { padding: 6px 18px 14px; }
.dashboard-app .quote-card { padding: 18px 7px; border-color: #eee8e1; }
.dashboard-app .quote-card-main h4,
.dashboard-app .quote-card-price strong { color: var(--dashboard-ink); }
.dashboard-app .quote-card-main p { color: var(--dashboard-muted); font-size: 13px; }
.dashboard-app .quote-card-price { border-color: #eee8e1; }
.dashboard-app .quote-card-price strong { font-size: 25px; }
.dashboard-app .quote-card-price span { color: var(--dashboard-muted); font-size: 11px; }
.dashboard-app .quote-actions .button { color: #514c46; }

.dashboard-app .next-action { border: 1px solid #e1d7cb; border-radius: 10px; background: #f0e8de; }
.dashboard-app .next-action h3 { color: var(--dashboard-ink); font-size: 21px; }
.dashboard-app .next-action p { color: #645d56; font-size: 13px; }
.dashboard-app .next-action .button { color: #fffefd; border-color: #272522; background: #272522; }
.dashboard-app .activity-item,
.dashboard-app .detail-row { border-color: #eee8e1; }
.dashboard-app .activity-copy,
.dashboard-app .detail-row b { color: var(--dashboard-ink); }
.dashboard-app .activity-time,
.dashboard-app .detail-row span { color: var(--dashboard-muted); }

.dashboard-app .opportunity-card { padding: 24px; }
.dashboard-app .opportunity-card:hover { border-color: #cdbda9; background: var(--dashboard-surface); box-shadow: 0 4px 13px rgba(36, 33, 30, .045); transform: translateY(-1px); }
.dashboard-app .opportunity-card h3 { color: var(--dashboard-ink); font-size: 21px; }
.dashboard-app .opportunity-card p,
.dashboard-app .opp-meta { color: var(--dashboard-muted); font-size: 13px; }
.dashboard-app .opp-side { border-color: #eee8e1; }
.dashboard-app .opp-side .match-score { color: var(--dashboard-ink); font-size: 26px; }
.dashboard-app .builder-profile-card { color: var(--dashboard-ink); border-color: var(--dashboard-line); background: var(--dashboard-surface); }
.dashboard-app .builder-profile-card h3,
.dashboard-app .builder-profile-card .profile-top h3,
.dashboard-app .builder-profile-meta b { color: var(--dashboard-ink); }
.dashboard-app .builder-profile-card p,
.dashboard-app .builder-profile-card .profile-top p,
.dashboard-app .builder-profile-meta span { color: var(--dashboard-muted); }
.dashboard-app .builder-profile-meta div { border-color: #eee8e1; background: #faf7f2; }

.dashboard-app .data-table-wrap { border-color: var(--dashboard-line); border-radius: 8px; }
.dashboard-app .data-table th { color: #70685f; background: #faf7f2; font-size: 11px; }
.dashboard-app .data-table td { color: #4f4a45; border-color: #eee8e1; font-size: 13px; }
.dashboard-app .data-table td b { color: var(--dashboard-ink); }
.dashboard-app .data-table tbody tr:hover { background: #fcfaf7; }

.dashboard-app .button,
.dashboard-app input,
.dashboard-app select,
.dashboard-app textarea { font-family: var(--sans); }
.dashboard-app .button-outline { color: #3d3833; border-color: #d7cdc1; background: var(--dashboard-surface); }
.dashboard-app .button-outline:hover { border-color: #aa967f; background: #f5efe8; }
.dashboard-app .button-primary,
.dashboard-app .button-forest { color: #fffefd; border-color: #272522; background: #272522; }
.dashboard-app .button-primary:hover,
.dashboard-app .button-forest:hover { background: #49433d; }

@media (max-width: 900px) {
  .dashboard-app .workspace-main { width: min(100% - 40px, 1200px); padding-top: 29px; }
  .dashboard-app .dashboard-sidebar { width: 210px; }
}

@media (max-width: 720px) {
  .dashboard-app .workspace-topbar,
  .dashboard-app .workspace-topbar .workspace-header-inner { min-height: 56px; height: 56px !important; }
  .dashboard-app .workspace-topbar .workspace-header-inner { padding: 0 15px; }
  .dashboard-app .dashboard-sidebar { top: 56px; }
  .dashboard-app .dashboard-search { width: auto; padding: 0; border: 0; background: transparent; }
  .dashboard-app .dashboard-search > span:nth-child(2),
  .dashboard-app .dashboard-search kbd { display: none; }
  .dashboard-app .workspace-main { width: calc(100% - 30px); padding: 23px 0 58px; }
  .dashboard-app .dashboard-intro { align-items: flex-start; flex-direction: column; gap: 14px; margin-bottom: 20px; }
  .dashboard-app .dashboard-intro h1 { font-size: 30px; }
  .dashboard-app .dashboard-intro > .button { width: 100%; }
  .dashboard-app .workspace-tabs { overflow-x: auto; }
  .dashboard-app .workspace-tab { flex: 0 0 auto; }
  .dashboard-app .dashboard-project-hero { padding: 20px 18px 17px; }
  .dashboard-app .editorial-metrics article { padding: 17px; }
  .dashboard-app .section-card-head { padding: 19px 18px 0; }
  .dashboard-app .section-card-head p { font-size: 12px; }
  .dashboard-app .opportunity-card { padding: 19px; }
}

/* High-contrast dashboard composition: intentionally distinct from the marketing site. */
.dashboard-app { background: #f3efe9; }
.dashboard-app .dashboard-sidebar {
  border-color: #302d29;
  background: #252320;
}
.dashboard-app .dashboard-sidebar-label { color: #b8aea3; }
.dashboard-app .dashboard-side-nav button,
.dashboard-app .dashboard-sidebar-bottom button { color: #d7d0c8; }
.dashboard-app .dashboard-side-nav .workspace-icon,
.dashboard-app .dashboard-sidebar-bottom .workspace-icon { color: #aba095; }
.dashboard-app .dashboard-side-nav button:hover,
.dashboard-app .dashboard-sidebar-bottom button:hover { color: #fffefd; background: #36322e; }
.dashboard-app .dashboard-side-nav button.active { color: #252320; background: #e9dccd; }
.dashboard-app .dashboard-side-nav button.active .workspace-icon { color: #5e5449; }
.dashboard-app .dashboard-sidebar-bottom { border-color: #3a3631; }

.dashboard-app .workspace-topbar { background: #fffefd; }
.dashboard-app .workspace-main { width: min(1240px, calc(100% - 72px)); }
.dashboard-app .dashboard-intro { padding-bottom: 24px; border-bottom: 1px solid #ded6cd; }
.dashboard-app .dashboard-intro h1 { font-size: clamp(32px, 3.2vw, 42px); }

.dashboard-app .workspace-tabs {
  width: fit-content;
  margin-bottom: 24px;
  padding: 4px;
  border: 1px solid #ded6cd;
  border-radius: 9px;
  background: #fffefd;
}
.dashboard-app .workspace-tab { padding: 8px 11px; border-radius: 6px; }
.dashboard-app .workspace-tab + .workspace-tab { margin-left: 2px; }
.dashboard-app .workspace-tab.active { color: #fffefd; background: #252320; box-shadow: none; }

.dashboard-app .dashboard-project-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid #ded6cd;
  border-radius: 12px;
  color: var(--dashboard-ink);
  background: #fffefd;
  box-shadow: 0 5px 16px rgba(54, 45, 36, .05);
}
.dashboard-app .dashboard-project-hero::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 34%;
  height: 100%;
  border-left: 1px solid #e8e0d7;
  background: #f5f0e9;
  content: "";
}
.dashboard-app .dashboard-project-copy,
.dashboard-app .dashboard-project-status,
.dashboard-app .dashboard-project-facts { position: relative; z-index: 1; }
.dashboard-app .dashboard-project-copy .micro-label,
.dashboard-app .dashboard-project-copy p,
.dashboard-app .dashboard-project-facts span,
.dashboard-app .dashboard-project-status { color: #766e66; }
.dashboard-app .dashboard-project-copy h2,
.dashboard-app .dashboard-project-facts b { color: var(--dashboard-ink); }
.dashboard-app .dashboard-project-facts { border-color: #e8e0d7; }
.dashboard-app .dashboard-project-facts > div { border-color: #e8e0d7; }
.dashboard-app .dashboard-project-status .status-chip { color: #426a4b; background: #e3efe2; }
.dashboard-app .dashboard-project-fact--matches b { color: #8a6b51; }
.dashboard-app .dashboard-project-fact--verified b { color: #426a4b; }

.dashboard-app .dashboard-project-status {
  gap: 14px;
  font-size: 16px;
  letter-spacing: .06em;
}
.dashboard-app .dashboard-project-status .status-chip {
  min-height: 42px;
  padding: 9px 15px;
  font-size: 14px;
  letter-spacing: .04em;
}
.dashboard-app .dashboard-project-status .status-chip::before {
  width: 10px;
  height: 10px;
}

.dashboard-app .editorial-metrics {
  gap: 12px;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.dashboard-app .editorial-metrics article {
  min-height: 126px;
  border: 1px solid #e1d9d0;
  border-radius: 10px;
  background: #fffefd;
  box-shadow: 0 1px 2px rgba(36,33,30,.025);
}
.dashboard-app .editorial-metrics article:first-child,
.dashboard-app .editorial-metrics article:last-child { border-radius: 10px; }
.dashboard-app .editorial-metrics b { margin-top: 10px; font-size: 25px; }

.dashboard-app .editorial-journey { border-radius: 10px; }
.dashboard-app .card,
.dashboard-app .opportunity-card { border-radius: 10px; }
.dashboard-app .section-card-head { padding: 22px 24px 0; }
.dashboard-app .quote-list { padding: 7px 19px 15px; }
.dashboard-app .next-action { border: 0; color: #fffefd; background: #252320; }
.dashboard-app .next-action .micro-label { color: #d5bca1; }
.dashboard-app .next-action h3 { color: #fffefd; }
.dashboard-app .next-action p { color: #d8d0c7; }
.dashboard-app .next-action .button { color: #252320; border-color: #fffefd; background: #fffefd; }

.dashboard-app .opportunity-card { border-left: 3px solid #b89d7e; }
.dashboard-app .opportunity-card:hover { border-left-color: #6f947e; }
.dashboard-app .builder-profile-card { border-top: 3px solid #b89d7e; }
.dashboard-app .data-table th { padding-top: 13px; padding-bottom: 13px; }
.dashboard-app .data-table td { padding-top: 15px; padding-bottom: 15px; }

@media (max-width: 720px) {
  .dashboard-app .dashboard-sidebar { border-color: #302d29; background: #252320; }
  .dashboard-app .workspace-main { width: calc(100% - 30px); }
  .dashboard-app .workspace-tabs { width: 100%; overflow-x: auto; }
  .dashboard-app .dashboard-project-hero::after { width: 46%; }
  .dashboard-app .editorial-metrics { gap: 9px; }
  .dashboard-app .editorial-metrics article { min-height: 0; }
}

/* Live account entry in the marketing navigation. */
.showcase-account-button {
  min-height: 42px;
  padding: 0 4px;
  border: 0;
  color: #3c3834;
  background: transparent;
  font-size: 12px;
  font-weight: 750;
}
.showcase-account-button:hover { color: #8a7057; }
.showcase-account-button:focus-visible { outline: 3px solid rgba(181, 160, 137, .55); outline-offset: 3px; }

@media (max-width: 760px) {
  .showcase-account-button { display: none; }
}

.auth-method-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin: 14px 0 20px;
  padding: 4px;
  border: 1px solid #e2dad1;
  border-radius: 8px;
  background: #f7f3ee;
}
.auth-method-tabs button {
  min-height: 34px;
  border: 0;
  border-radius: 5px;
  color: #706861;
  background: transparent;
  font-size: 12px;
  font-weight: 750;
}
.auth-method-tabs button.active { color: #fffefd; background: #252320; }
.auth-method-tabs button:focus-visible { outline: 3px solid rgba(181, 160, 137, .55); outline-offset: 2px; }

/* Account access and role choices are compact, pill-shaped controls. */
.auth-modal .auth-mode-tabs {
  border-radius: 999px;
  padding: 4px;
  background: #f1f5f0;
}
.auth-modal .auth-mode-tabs button {
  min-height: 40px;
  border-radius: 999px;
  font-size: 12px;
}
.auth-modal .auth-mode-tabs button.active {
  color: #fffefa;
  background: #25483f;
  box-shadow: 0 3px 9px rgba(37, 72, 63, .18);
}
.auth-modal .auth-method-tabs {
  margin: 18px 0 22px;
  border-radius: 999px;
}
.auth-modal .auth-method-tabs button {
  min-height: 38px;
  border-radius: 999px;
}
.auth-role-pills {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 22px;
}
.auth-role-pill {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 74px;
  padding: 12px 14px;
  border: 1px solid #dfe6dd;
  border-radius: 22px;
  color: #283830;
  background: #fffefa;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.auth-role-pill:hover {
  transform: translateY(-1px);
  border-color: #9bb9a4;
  box-shadow: 0 6px 16px rgba(37, 72, 63, .1);
}
.auth-role-pill:focus-visible {
  outline: 3px solid rgba(76, 126, 104, .35);
  outline-offset: 2px;
}
.auth-role-pill-builder {
  border-color: #c7dccb;
  background: #f3f8f2;
}
.auth-role-pill-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: var(--forest);
  background: #e4f1e6;
  font-size: 17px;
}
.auth-role-pill-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.auth-role-pill-copy b {
  font-size: 13px;
  line-height: 1.2;
}
.auth-role-pill-copy small {
  color: #68756e;
  font-size: 9px;
  line-height: 1.35;
}
.auth-role-pill-arrow {
  color: var(--forest);
  font-size: 18px;
  line-height: 1;
}
.auth-modal #login-form {
  max-width: 480px;
  margin: 22px auto 0;
}
@media (max-width: 660px) {
  .auth-role-pills { grid-template-columns: 1fr; }
}

/* Project uploader: every selected item remains manageable before submission. */
.upload-file-remove {
  border: 0;
  cursor: pointer;
  text-align: left;
}
.upload-file-remove:hover { background: #e8dfd5; }
.upload-file-remove span { margin-left: 4px; font-size: 15px; line-height: 1; }
.upload-file-remove:focus-visible { outline: 3px solid rgba(181, 160, 137, .6); outline-offset: 2px; }

/* Builder identity and admin profile review */
.builder-avatar img,
.table-avatar img { display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.builder-profile-photo-field { display: flex; align-items: center; gap: 15px; margin-bottom: 21px; padding: 14px; border: 1px solid #e2d9cf; border-radius: 9px; background: #fbf8f4; }
.builder-profile-photo-preview .builder-avatar { width: 64px; height: 64px; border-radius: 12px; }
.builder-profile-photo-field label { display: block; margin-bottom: 7px; color: var(--ink); font-size: 12px; font-weight: 750; }
.builder-profile-photo-field input { max-width: 100%; font-size: 12px; }
.builder-profile-photo-field small { display: block; margin-top: 6px; color: var(--ink-soft); font-size: 11px; line-height: 1.45; }
.field-hint { display: inline-flex; align-items: center; margin-left: 6px; padding: 3px 6px; border-radius: 999px; color: #567358; background: #eaf1e7; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; vertical-align: 1px; }
.builder-review-modal { max-width: 760px; }
.builder-review-summary { display: flex; align-items: center; gap: 15px; margin-bottom: 25px; padding: 16px; border: 1px solid #e2d9cf; border-radius: 9px; background: #fbf8f4; }
.builder-review-avatar.builder-avatar { width: 68px; height: 68px; flex: 0 0 68px; border-radius: 13px; font-size: 17px; }
.builder-review-summary-line { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.builder-review-summary h3 { margin: 0; color: var(--dashboard-ink, #252320); font-size: 18px; }
.builder-review-summary p { margin: 5px 0 3px; color: var(--dashboard-ink, #252320); font-size: 12px; font-weight: 700; }
.builder-review-summary > div > span { color: var(--dashboard-muted, #756d64); font-size: 12px; }
.builder-review-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 24px; }
.builder-review-detail-list { padding: 0; }
.builder-review-detail-list .detail-row { padding: 10px 0; }
.builder-review-detail-list .detail-row b { max-width: 62%; color: var(--dashboard-ink, #252320); text-align: right; }
.builder-review-about { margin: 9px 0 18px; color: var(--dashboard-muted, #756d64); font-size: 13px; line-height: 1.65; }
.builder-review-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.builder-review-stats div { padding: 12px 10px; border: 1px solid #e8dfd6; border-radius: 7px; background: #fbf8f4; }
.builder-review-stats b { display: block; color: var(--dashboard-ink, #252320); font-size: 18px; }
.builder-review-stats span { display: block; margin-top: 4px; color: var(--dashboard-muted, #756d64); font-size: 10px; line-height: 1.3; }
.builder-review-section { margin-top: 23px; padding-top: 20px; border-top: 1px solid #e8dfd6; }
.builder-review-section-head { display: flex; align-items: end; justify-content: space-between; gap: 15px; }
.builder-review-section h3 { margin: 5px 0 0; color: var(--dashboard-ink, #252320); font-size: 16px; }
.builder-review-section p { margin: 5px 0 0; color: var(--dashboard-muted, #756d64); font-size: 12px; }
.builder-review-files { display: grid; gap: 7px; margin-top: 13px; }
.builder-review-file { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid #e8dfd6; border-radius: 7px; background: #fffefd; }
.builder-review-file > span:first-child { display: flex; align-items: center; min-width: 0; gap: 8px; color: var(--dashboard-ink, #252320); font-size: 12px; }
.builder-review-file b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.builder-review-file-meta { color: var(--dashboard-muted, #756d64); font-size: 11px; }
.builder-review-empty { margin-top: 12px; padding: 13px; border: 1px dashed #d9cec2; border-radius: 7px; color: var(--dashboard-muted, #756d64); background: #fbf8f4; font-size: 12px; }
.builder-review-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #e8dfd6; }

/* Replace the browser-default upload control with a quieter product control. */
.modal input[type="file"] {
  width: 100%;
  min-height: 48px;
  padding: 7px;
  border: 1px dashed #cfc3b7;
  border-radius: 8px;
  color: #766d64;
  background: #fbf8f4;
  cursor: pointer;
  font-size: 12px;
}
.modal input[type="file"]::file-selector-button {
  margin-right: 10px;
  padding: 9px 13px;
  border: 0;
  border-radius: 6px;
  color: #fffefd;
  background: #2d3731;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 750;
}
.modal input[type="file"]:hover { border-color: #a99582; background: #f8f2eb; }
.modal input[type="file"]:hover::file-selector-button { background: #506452; }
.modal input[type="file"]:focus-visible { outline: 3px solid rgba(111, 148, 126, .28); outline-offset: 2px; }
.builder-profile-photo-field input[type="file"] { min-height: 44px; }

/* Workspace search */
.workspace-search-modal { max-width: 650px; }
.workspace-search-form { display: flex; align-items: center; gap: 10px; padding: 0 28px 21px; }
.workspace-search-input-wrap { display: flex; align-items: center; flex: 1; min-height: 46px; gap: 9px; padding: 0 13px; border: 1px solid #d9d0c6; border-radius: 8px; background: #fbf8f4; }
.workspace-search-input-wrap .workspace-icon { width: 17px; height: 17px; color: #867b70; }
.workspace-search-input-wrap input { width: 100%; min-height: 42px; padding: 0; border: 0; outline: 0; color: #252320; background: transparent; font-size: 13px; }
.workspace-search-form > .button { min-height: 46px; }
.workspace-search-results { display: grid; gap: 6px; padding: 0 28px 28px; }
.workspace-search-result { display: grid; grid-template-columns: 82px minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%; padding: 13px 12px; border: 1px solid #e6ded6; border-radius: 8px; color: #252320; background: #fffefd; text-align: left; cursor: pointer; }
.workspace-search-result:hover { border-color: #c8b6a3; background: #fbf8f4; }
.workspace-search-result-type { color: #89715a; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.workspace-search-result-copy { display: grid; min-width: 0; gap: 4px; }
.workspace-search-result-copy b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.workspace-search-result-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #7a7168; font-size: 11px; }
.workspace-search-arrow { color: #7a967e; font-size: 18px; }
.workspace-search-empty { display: grid; gap: 5px; padding: 22px 15px; border: 1px dashed #d9cec2; border-radius: 8px; color: #756d64; background: #fbf8f4; text-align: center; }
.workspace-search-empty b { color: #302d29; font-size: 14px; }
.workspace-search-empty span { font-size: 12px; }

@media (max-width: 620px) {
  .workspace-search-form { align-items: stretch; flex-direction: column; padding-right: 20px; padding-left: 20px; }
  .workspace-search-form > .button { width: 100%; }
  .workspace-search-results { padding-right: 20px; padding-left: 20px; }
  .workspace-search-result { grid-template-columns: 1fr auto; }
  .workspace-search-result-type { display: none; }
}

@media (max-width: 620px) {
  .builder-review-grid { grid-template-columns: 1fr; gap: 6px; }
  .builder-review-section-head { align-items: start; flex-direction: column; }
  .builder-review-file { align-items: start; flex-direction: column; }
  .builder-review-actions .button { width: 100%; }
}

/* Homeowner quote empty state */
.dashboard-app .empty-state-quotes {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: start;
  gap: 17px;
  padding: 30px 26px;
  text-align: left;
  border: 1px dashed #dcd2c7;
  border-radius: 9px;
  background: #fbf8f4;
}
.dashboard-app .empty-state-quotes .empty-icon {
  width: 52px;
  height: 52px;
  margin: 0;
  border: 1px solid #d9cfbf;
  border-radius: 10px;
  color: #567358;
  background: #eaf1e7;
}
.dashboard-app .empty-state-quotes .empty-icon .workspace-icon { width: 22px; height: 22px; }
.dashboard-app .empty-state-content { min-width: 0; }
.dashboard-app .empty-state-eyebrow {
  display: block;
  margin-bottom: 6px;
  color: #867361;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.dashboard-app .empty-state-quotes h3 { color: var(--dashboard-ink); font-size: 18px; font-weight: 750; letter-spacing: -.025em; }
.dashboard-app .empty-state-quotes p { max-width: 510px; margin: 7px 0 15px; color: var(--dashboard-muted); font-size: 13px; line-height: 1.6; }
.dashboard-app .empty-state-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.dashboard-app .empty-state-footer > span { color: #70675e; font-size: 12px; font-weight: 650; }
.dashboard-app .empty-state-footer i { display: inline-block; width: 7px; height: 7px; margin: 0 7px 1px 0; border-radius: 50%; background: #6f947e; }

@media (max-width: 620px) {
  .dashboard-app .empty-state-quotes { grid-template-columns: 1fr; justify-items: center; padding: 31px 20px; text-align: center; }
  .dashboard-app .empty-state-quotes p { margin-right: auto; margin-left: auto; }
  .dashboard-app .empty-state-footer { align-items: center; flex-direction: column; }
}
.availability-editor { display: grid; gap: 12px; padding: 13px; border: 1px solid #dce5dc; border-radius: 10px; background: #fbfcf8; }
.availability-window-list { display: grid; gap: 10px; }
.availability-window-row { display: grid; grid-template-columns: 1fr 1fr 1.15fr auto; align-items: end; gap: 9px; padding: 10px; border: 1px solid #e4ebe3; border-radius: 8px; background: #fffefa; }
.availability-window-row .field { margin: 0; }
.availability-window-row .field label { margin-bottom: 5px; font-size: 9px; }
.availability-window-remove { white-space: nowrap; }
.availability-editor > small { color: var(--ink-soft); font-size: 10px; line-height: 1.5; }
.builder-availability-summary { display: grid; gap: 4px; margin-top: 14px; padding-top: 13px; border-top: 1px solid #e7ebe5; }
.builder-availability-summary span { color: #789083; font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.builder-availability-summary b { color: #29332e; font-size: 11px; line-height: 1.45; }
.builder-availability-summary small,
.availability-disclaimer { color: var(--ink-soft); font-size: 10px; line-height: 1.5; }
.opportunity-alert-note { margin-bottom: 14px; }

/* Keep less-common workflow statuses visually consistent with the main pills. */
.status-quoted,
.status-scheduled,
.status-ready-for-review { color: #9b6611; background: #fff4d9; border-color: #f3ddb0; }
.status-in-review { color: #355f83; background: #e7f3fa; border-color: #cce0ee; }
.status-resolved,
.status-closed,
.status-released { color: #17715f; background: #e7f5ea; border-color: #c9e5d0; }
.status-cancelled { color: #a84639; background: #fff0ec; border-color: #f2d0c8; }

@media (max-width: 640px) {
  .availability-window-row { grid-template-columns: 1fr 1fr; }
  .availability-window-row .field:nth-child(3) { grid-column: 1 / -1; }
  .availability-window-remove { justify-self: start; }
}

/* Site-wide readability pass: keep the warm palette, but give supporting copy
   enough contrast to remain comfortable at a glance. */
:root { --ink-soft: #4f5e59; }

/* Public pages (light surfaces). */
.hero-copy > p,
.hero-trust,
.quote-preview span,
.trusted-intro,
.section-heading p,
.process-card p,
.category-card small,
.workspace-title-row p,
.field small,
.upload-zone span,
.empty-state p,
.compare-header p,
.comparison-table th,
.comparison-table td,
.modal-head p,
.quote-form-foot span,
.detail-modal-builder p,
.builder-notification-item small,
.auth-role-card p,
.auth-role-card small,
.auth-signin-note,
.availability-editor > small,
.availability-disclaimer {
  color: #5d5751;
}

.micro-label,
.project-visual-head .micro-label,
.dashboard-app .dashboard-intro .eyebrow,
.dashboard-app .dashboard-project-copy .micro-label,
.dashboard-app .empty-state-eyebrow {
  color: #6f655b;
}

.wizard-step,
.wizard-reassurance,
.wizard-step-no,
.role-selector button,
.workspace-back,
.workspace-tab,
.builder-availability-summary span {
  color: #625c55;
}

.field label,
.data-table th,
.comparison-table th {
  color: #5b554e;
}

.footer-inner { color: #c5beb6; }
.footer-links,
.footer-links .nav-signin { color: #d1c9c0; }

/* Dashboard light surfaces. These selectors intentionally avoid the dark
   sidebar and dark next-action panel, whose lighter copy already has strong
   contrast against their backgrounds. */
.dashboard-app { --dashboard-muted: #5b554e; }
.dashboard-app .dashboard-search { color: #5b554e; }
.dashboard-app .dashboard-search kbd { color: #5f5850; }
.dashboard-app .dashboard-bell { color: #514b45; }
.dashboard-app .dashboard-intro .eyebrow { color: #6a6057; }
.dashboard-app .workspace-tab { color: #5f5851; }
.dashboard-app .dashboard-intro p,
.dashboard-app .dashboard-project-copy p,
.dashboard-app .dashboard-project-facts span,
.dashboard-app .dashboard-project-status,
.dashboard-app .editorial-metrics span,
.dashboard-app .editorial-metrics small,
.dashboard-app .editorial-journey-head p,
.dashboard-app .section-card-head p,
.dashboard-app .quote-card-main p,
.dashboard-app .quote-card-price span,
.dashboard-app .activity-time,
.dashboard-app .detail-row span,
.dashboard-app .opportunity-card p,
.dashboard-app .opp-meta,
.dashboard-app .builder-profile-card p,
.dashboard-app .builder-profile-card .profile-top p,
.dashboard-app .builder-profile-meta span,
.dashboard-app .empty-state-quotes p,
.dashboard-app .empty-state-footer > span,
.dashboard-app .data-table td,
.dashboard-app .builder-review-summary > div > span,
.dashboard-app .builder-review-about,
.dashboard-app .builder-review-stats span,
.dashboard-app .builder-review-section p,
.dashboard-app .builder-review-file-meta,
.dashboard-app .builder-review-empty {
  color: #5b554e;
}

.dashboard-app .dashboard-project-copy .micro-label { color: #6b6158; }
.dashboard-app .data-table th { color: #5d564e; }
.dashboard-app .opp-side small { color: #625b54; }
.dashboard-app .dashboard-sidebar-label { color: #c7beb4; }

/* Pop-up messaging and search metadata should read like product UI, not
   browser-default helper text. */
.message-widget-head > div > span,
.message-widget .message-item span,
.message-widget .message-item small,
.workspace-search-result-copy small,
.workspace-search-empty,
.builder-alert-foot span {
  color: #625b54;
}
.message-widget-head p,
.message-widget .message-item p,
.message-widget .builder-notification-item p,
.builder-notification-item p,
.builder-alert-popup > p {
  color: #514b45;
}
.workspace-search-input-wrap .workspace-icon { color: #625a51; }
.workspace-search-result-type { color: #735c45; }
.workspace-search-empty span { color: #625b54; }

/* Attachment previews */
.media-preview-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 10px; margin-top: 13px; }
.media-preview-card { position: relative; min-width: 0; margin: 0; overflow: hidden; border: 1px solid #ded8cf; border-radius: 9px; background: #f7f4ef; }
.media-preview-card img, .media-preview-card video { display: block; width: 100%; height: 104px; object-fit: cover; background: #e9e4dc; }
.media-preview-document { display: grid; place-items: center; gap: 5px; height: 104px; color: #756a5f; background: #eee9e1; font-size: 10px; font-weight: 800; }
.media-preview-document .ui-icon { width: 23px; height: 23px; }
.media-preview-card figcaption { padding: 7px 26px 8px 8px; overflow: hidden; color: #5f574f; font-size: 10px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.media-preview-remove { position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 23px; height: 23px; padding: 0; border: 0; border-radius: 50%; color: #fff; background: rgba(31, 31, 31, .72); font-size: 15px; line-height: 1; cursor: pointer; }
.media-preview-remove:hover { background: #26252a; }

/* Builder review and profile editing: calm panels, clear hierarchy, and a
   scrollable body so long evidence lists do not crowd the modal footer. */
.builder-review-modal,
.builder-profile-edit-modal { display: flex; width: min(860px, calc(100vw - 32px)); height: min(860px, calc(100vh - 32px)); max-height: min(860px, calc(100vh - 32px)); flex-direction: column; overflow: hidden; }
.builder-review-modal .modal-head,
.builder-profile-edit-modal .modal-head { flex: 0 0 auto; }
.builder-review-body,
.builder-profile-edit-body { min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.builder-review-summary { align-items: center; margin-bottom: 18px; padding: 18px; border-color: #ddd2c7; border-radius: 12px; background: linear-gradient(135deg, #fbf8f4 0%, #f5efe8 100%); }
.builder-review-summary-copy { min-width: 0; }
.builder-review-summary-line { align-items: center; gap: 9px; }
.builder-review-summary h3 { font-size: 20px; }
.builder-review-grid { align-items: stretch; gap: 14px; }
.builder-review-panel { min-width: 0; padding: 17px; border: 1px solid #e6ddd4; border-radius: 10px; background: #fffefd; }
.builder-review-detail-list .detail-row { gap: 16px; padding: 11px 0; }
.builder-review-detail-list .detail-row:first-child { padding-top: 5px; }
.builder-review-detail-list .detail-row:last-child { padding-bottom: 5px; }
.builder-review-detail-list .detail-row b { max-width: 65%; overflow-wrap: anywhere; }
.builder-review-about { margin: 10px 0 22px; }
.builder-review-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.builder-review-stats div { min-width: 0; padding: 13px 11px; border-radius: 9px; background: #faf7f2; }
.builder-review-stats b { font-size: 20px; }
.builder-review-section { margin-top: 14px; padding: 17px; border: 1px solid #e6ddd4; border-radius: 10px; background: #faf7f2; }
.builder-review-section-head { align-items: center; }
.builder-review-section h3 { font-size: 17px; }
.builder-review-section p { max-width: 560px; line-height: 1.5; }
.builder-review-files { gap: 8px; margin-top: 15px; }
.builder-review-file { min-height: 48px; padding: 9px 11px; border-color: #e3d9cf; border-radius: 8px; background: #fffefd; }
.builder-review-file-name { min-width: 0; }
.builder-review-file-name b { font-size: 12px; }
.builder-review-file-status { flex: 0 0 auto; }
.builder-review-portfolio-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 11px; margin-top: 15px; }
.builder-review-portfolio-card { min-width: 0; margin: 0; overflow: hidden; border: 1px solid #e3d9cf; border-radius: 9px; background: #fffefd; }
.builder-review-portfolio-card > a { display: block; }
.builder-review-portfolio-card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #e9e4dc; }
.builder-review-portfolio-placeholder { display: grid; place-items: center; gap: 6px; width: 100%; aspect-ratio: 4 / 3; color: #756a5f; background: #eee9e1; font-size: 10px; font-weight: 750; }
.builder-review-portfolio-placeholder .ui-icon { width: 25px; height: 25px; }
.builder-review-portfolio-card figcaption { padding: 8px 10px; overflow: hidden; color: #5f574f; font-size: 10px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.builder-review-actions { margin-top: 18px; padding-top: 18px; border-top: 0; }
.builder-review-footer,
.builder-profile-edit-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 18px; padding-top: 17px; border-top: 1px solid #e6ddd4; }
.builder-review-footer > span,
.builder-profile-edit-footer > span { color: #6c6258; font-size: 11px; line-height: 1.45; }
.profile-edit-section { margin-top: 14px; padding: 17px; border: 1px solid #e6ddd4; border-radius: 10px; background: #faf7f2; }
.profile-edit-section:first-child { margin-top: 0; }
.profile-edit-section-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.profile-edit-section-heading h3 { margin: 5px 0 0; color: var(--dashboard-ink, #252320); font-size: 17px; }
.profile-edit-section-heading p { margin: 5px 0 0; color: #6c6258; font-size: 12px; line-height: 1.5; }
.profile-edit-status { flex: 0 0 auto; }
.builder-profile-edit-footer { margin-top: 17px; }

.homeowner-matches-card { overflow: hidden; }
.homeowner-match-list { display: grid; }
.homeowner-match-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 19px 22px; border-top: 1px solid #eee7df; }
.homeowner-match-identity { display: flex; align-items: center; min-width: 0; gap: 13px; }
.homeowner-match-identity .builder-avatar { width: 48px; height: 48px; flex: 0 0 48px; }
.homeowner-match-copy { min-width: 0; }
.homeowner-match-title { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.homeowner-match-title h4 { margin: 0; color: var(--dashboard-ink, #252320); font-size: 15px; }
.homeowner-match-copy p { margin: 5px 0 0; color: var(--dashboard-muted, #756d64); font-size: 11px; line-height: 1.45; }
.homeowner-match-reasons { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.homeowner-match-reasons span { padding: 4px 7px; border-radius: 999px; color: #6a7e70; background: #eef3ed; font-size: 9px; font-weight: 750; }
.homeowner-match-actions { flex: 0 0 auto; min-width: 165px; text-align: right; }
.homeowner-match-actions > strong { display: block; color: var(--dashboard-ink, #252320); font-size: 21px; }
.homeowner-match-actions > small { display: block; margin: 2px 0 10px; color: var(--dashboard-muted, #756d64); font-size: 9px; }
.homeowner-match-actions .quote-actions { justify-content: flex-end; margin-top: 0; }

@media (max-width: 620px) {
  .builder-review-modal,
  .builder-profile-edit-modal { width: min(100%, calc(100vw - 24px)); height: calc(100vh - 24px); max-height: calc(100vh - 24px); }
  .builder-review-summary { align-items: flex-start; padding: 14px; }
  .builder-review-grid { grid-template-columns: 1fr; }
  .builder-review-section-head,
  .profile-edit-section-heading,
  .builder-review-footer,
  .builder-profile-edit-footer { align-items: flex-start; flex-direction: column; }
  .builder-review-section-head .button,
  .builder-review-actions .button,
  .builder-review-footer .button,
  .builder-profile-edit-footer .button { width: 100%; }
  .builder-review-file { align-items: flex-start; }
  .builder-review-file-status { align-self: flex-start; }
  .builder-review-portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .builder-review-stats { gap: 6px; }
  .builder-review-stats div { padding: 10px 8px; }
  .builder-review-stats b { font-size: 17px; }
  .homeowner-match-card { align-items: flex-start; flex-direction: column; gap: 14px; padding: 17px 18px; }
  .homeowner-match-actions { width: 100%; text-align: left; }
  .homeowner-match-actions .quote-actions { justify-content: flex-start; }
  .homeowner-match-actions .button { flex: 1; }
}

/* Make the signed-in workspace destination unmistakable. */
.dashboard-home-button {
  display: flex;
  align-items: center;
  gap: 9px;
  width: auto;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--dashboard-line, #e6e0d8);
  border-radius: 7px;
  color: var(--dashboard-ink, #252320);
  background: #faf8f5;
  font-size: 12px;
  font-weight: 750;
  text-align: left;
}
.dashboard-home-button:hover { border-color: #cbb59b; background: #f5efe8; }
.dashboard-home-button .workspace-icon { width: 16px; height: 16px; color: #6f6256; }
.dashboard-home-button:focus-visible { outline: 3px solid rgba(181, 160, 137, .6); outline-offset: 2px; }

@media (max-width: 720px) {
  .dashboard-home-button { min-height: 32px; padding: 0 5px; border: 0; background: transparent; }
  .dashboard-home-button > span { display: inline; white-space: nowrap; }
  .dashboard-home-button .workspace-icon { width: 21px; height: 21px; }
}

/* Keep the builder's edit action lighter than the primary workflow buttons. */
.dashboard-app .builder-edit-quote-button {
  color: #5c4c3c;
  border-color: #cdb79e;
  background: #f4e8da;
  box-shadow: none;
}
.dashboard-app .builder-edit-quote-button:hover:not(:disabled) {
  color: #3f342a;
  border-color: #a99177;
  background: #ecddcc;
}

.dashboard-app .homeowner-comparison-card .compare-header {
  align-items: flex-start;
  padding: 26px 26px 22px;
  background: #fcfaf7;
}
.dashboard-app .homeowner-comparison-card .compare-header-kicker {
  display: block;
  margin-bottom: 7px;
  color: #9a7754;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.dashboard-app .homeowner-comparison-card .compare-header h3 {
  color: var(--dashboard-ink);
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.1;
}
.dashboard-app .homeowner-comparison-card .compare-header p {
  max-width: 460px;
  margin-top: 7px;
  color: #625b54;
  font-size: 13px;
  line-height: 1.45;
}

/* Professional dashboard type and colour hierarchy. Keep the public marketing
   pages unchanged, while making workspace copy and messaging feel more direct. */
:root {
  --dashboard-sans: "Inter", "Segoe UI", Arial, sans-serif;
  --dashboard-ink: #3b2a20;
  --dashboard-accent: #76543b;
  --dashboard-accent-strong: #5a3e2c;
}

.dashboard-app,
.dashboard-app *,
.message-widget,
.message-widget * {
  font-family: var(--dashboard-sans) !important;
}

.dashboard-app {
  --dashboard-ink: #3b2a20;
  --dashboard-muted: #67574c;
  --dashboard-accent: #76543b;
  --dashboard-accent-strong: #5a3e2c;
}

#app:has(.dashboard-app) .modal-scrim .modal,
#app:has(.dashboard-app) .modal-scrim .modal * {
  font-family: var(--dashboard-sans) !important;
}

.dashboard-app .dashboard-logo,
.dashboard-app .dashboard-intro h1,
.dashboard-app .dashboard-project-copy h2,
.dashboard-app .dashboard-project-facts b,
.dashboard-app .editorial-journey-head h2,
.dashboard-app .section-card-head h3,
.dashboard-app .quote-card-main h4,
.dashboard-app .quote-card-price strong,
.dashboard-app .next-action h3,
.dashboard-app .opportunity-card h3,
.dashboard-app .builder-profile-card h3,
.dashboard-app .builder-review-summary h3,
.dashboard-app .profile-edit-section-heading h3,
.dashboard-app .homeowner-match-title h4,
.dashboard-app .data-table td b {
  color: var(--dashboard-ink) !important;
  font-weight: 800;
  letter-spacing: -.035em;
}

.dashboard-app .dashboard-intro .eyebrow,
.dashboard-app .dashboard-project-copy .micro-label,
.dashboard-app .empty-state-eyebrow,
.dashboard-app .section-card-head h3::before,
.dashboard-app .homeowner-comparison-card .compare-header-kicker {
  color: var(--dashboard-accent) !important;
}

.dashboard-app .dashboard-side-nav button,
.dashboard-app .dashboard-sidebar-bottom button,
.dashboard-app .workspace-tab,
.dashboard-app .dashboard-home-button,
.dashboard-app .button,
.dashboard-app .dashboard-quick-action {
  font-weight: 750;
}

.dashboard-app .dashboard-side-nav button.active {
  color: #fff !important;
  background: linear-gradient(135deg, #76543b, #4a3325);
  box-shadow: 0 6px 14px rgba(91, 62, 44, .2);
}

.dashboard-app .dashboard-side-nav button.active .workspace-icon { color: #f1e3d7 !important; }
.dashboard-app .workspace-tab.active {
  color: var(--dashboard-accent-strong) !important;
  background: #f1e8de;
  box-shadow: inset 0 -2px 0 var(--dashboard-accent);
}

.dashboard-app .dashboard-quick-action,
.dashboard-app .button-primary,
.dashboard-app .button-forest,
.dashboard-app .message-form .button {
  background: var(--dashboard-accent);
  border-color: var(--dashboard-accent);
}

.dashboard-app .dashboard-quick-action:hover,
.dashboard-app .button-primary:hover:not(:disabled),
.dashboard-app .button-forest:hover:not(:disabled),
.dashboard-app .message-form .button:hover:not(:disabled) {
  background: var(--dashboard-accent-strong);
  border-color: var(--dashboard-accent-strong);
}

.dashboard-app .dashboard-project-facts > div:first-child b,
.dashboard-app .quote-card-price strong,
.dashboard-app .opp-side .match-score {
  color: var(--dashboard-accent) !important;
}

.dashboard-app .dashboard-intro p,
.dashboard-app .dashboard-project-copy p,
.dashboard-app .dashboard-project-facts span,
.dashboard-app .editorial-metrics span,
.dashboard-app .editorial-metrics small,
.dashboard-app .editorial-journey-head p,
.dashboard-app .section-card-head p,
.dashboard-app .quote-card-main p,
.dashboard-app .opportunity-card p,
.dashboard-app .opp-meta,
.dashboard-app .builder-profile-card p,
.dashboard-app .message-launcher-body p {
  color: #67574c !important;
}

/* The conversation widget uses the same type system and a stronger teal
   accent so it reads as part of the dashboard, not a separate overlay. */
.message-widget {
  border-color: #e1d2c4;
  box-shadow: 0 9px 24px rgba(74, 51, 37, .16), 0 2px 5px rgba(74, 51, 37, .08);
}

.message-widget-head {
  border-bottom-color: #e8ddd3;
  background: linear-gradient(135deg, #f8f1eb, #fffdfb);
}

.message-widget-head > div > span,
.message-widget .message-item span,
.message-widget .message-item small {
  color: var(--dashboard-accent) !important;
  font-weight: 800;
}

.message-widget-head h2,
.message-widget .message-item b,
.message-widget .builder-notification-item h3 {
  color: var(--dashboard-ink) !important;
  font-weight: 800;
  letter-spacing: -.025em;
}

.message-widget-head p,
.message-widget .message-item p,
.message-widget .builder-notification-item p {
  color: #5e4b3e !important;
}

.message-widget .message-item { border-bottom-color: #eee4dc; }
.message-widget .message-item:hover,
.message-widget .builder-notification-item.unread { background: #f8f1eb; }
.message-widget .message-form { border-top-color: #e8ddd3; background: #fcf8f4; }
.message-widget .message-form textarea:focus { border-color: #a98263; box-shadow: 0 0 0 3px rgba(118, 84, 59, .14); }

/* Larger, heavier workspace type while retaining the dark brown identity. */
.dashboard-app { font-size: 15px; }
.dashboard-app .dashboard-sidebar-label { font-size: 12px; }
.dashboard-app .dashboard-side-nav button,
.dashboard-app .dashboard-sidebar-bottom button { font-size: 14px; font-weight: 800; }
.dashboard-app .dashboard-search { font-size: 13px; }
.dashboard-app .dashboard-quick-action { font-size: 12px; font-weight: 800; }
.dashboard-app .dashboard-intro .eyebrow { font-size: 12px; font-weight: 800; }
.dashboard-app .dashboard-intro h1 { font-size: clamp(35px, 3.4vw, 46px); font-weight: 800; }
.dashboard-app .dashboard-intro p { font-size: 15px; }
.dashboard-app .workspace-tab { font-size: 14px; font-weight: 800; }
.dashboard-app .dashboard-project-copy h2 { font-size: 28px; font-weight: 800; }
.dashboard-app .dashboard-project-copy p { font-size: 14px; }
.dashboard-app .dashboard-project-facts b { font-size: 21px; font-weight: 800; }
.dashboard-app .dashboard-project-facts span { font-size: 11px; }
.dashboard-app .editorial-metrics span { font-size: 11px; font-weight: 750; }
.dashboard-app .editorial-metrics b { font-size: 25px; font-weight: 800; }
.dashboard-app .editorial-metrics small { font-size: 12px; }
.dashboard-app .editorial-journey-head h2 { font-size: 22px; font-weight: 800; }
.dashboard-app .editorial-journey-head p { font-size: 14px; }
.dashboard-app .section-card-head h3 { font-size: 19px; font-weight: 800; }
.dashboard-app .section-card-head p { font-size: 14px; }
.dashboard-app .quote-card-main h4 { font-size: 15px; font-weight: 800; }
.dashboard-app .quote-card-main p { font-size: 14px; }
.dashboard-app .quote-card-price strong { font-size: 27px; font-weight: 800; }
.dashboard-app .quote-card-price span { font-size: 12px; }
.dashboard-app .next-action h3 { font-size: 23px; font-weight: 800; }
.dashboard-app .next-action p { font-size: 14px; }
.dashboard-app .opportunity-card h3 { font-size: 22px; font-weight: 800; }
.dashboard-app .opportunity-card p,
.dashboard-app .opp-meta { font-size: 14px; }
.dashboard-app .builder-profile-card h3 { font-size: 18px; font-weight: 800; }
.dashboard-app .builder-profile-card p { font-size: 13px; }
.dashboard-app .data-table th { font-size: 12px; font-weight: 800; }
.dashboard-app .data-table td { font-size: 14px; }
.dashboard-app .message-launcher-body span { font-size: 12px; font-weight: 800; }
.dashboard-app .message-launcher-body p { font-size: 14px; }

.message-widget-head > div > span { font-size: 11px; }
.message-widget-head h2 { color: var(--dashboard-ink) !important; font-size: 21px; font-weight: 800; }
.message-widget-head p { font-size: 14px; }
.message-widget .message-item b { color: var(--dashboard-ink) !important; font-size: 14px; font-weight: 800; }
.message-widget .message-item span,
.message-widget .message-item small { font-size: 11px; }
.message-widget .message-item p { font-size: 14px; line-height: 1.55; }
.message-widget .builder-notification-item h3 { font-size: 15px; font-weight: 800; }
.message-widget .builder-notification-item p { font-size: 14px; }
.message-widget .message-form textarea { font-size: 14px; }
.message-widget .message-form .button { font-size: 13px; font-weight: 800; }

#app:has(.dashboard-app) .modal-scrim .modal-head h2 {
  color: var(--dashboard-ink) !important;
  font-size: 31px;
  font-weight: 800;
}
#app:has(.dashboard-app) .modal-scrim .modal-head p,
#app:has(.dashboard-app) .modal-scrim .modal-body { font-size: 14px; }

/* Raise the minimum reading size for supporting dashboard copy. */
.dashboard-app small,
.dashboard-app .micro-label,
.dashboard-app .status-chip,
.dashboard-app .counter,
.dashboard-app .activity-time,
.dashboard-app .detail-row span,
.dashboard-app .detail-row b,
.dashboard-app .dashboard-project-facts span,
.dashboard-app .editorial-metrics span,
.dashboard-app .editorial-metrics small,
.dashboard-app .quote-card-price span,
.dashboard-app .builder-profile-meta span,
.dashboard-app .opp-side small,
.dashboard-app .empty-state-eyebrow,
.dashboard-app .empty-state-footer > span,
.dashboard-app .message-launcher-body span,
.dashboard-app .builder-review-summary > div > span,
.dashboard-app .builder-review-file-meta,
.dashboard-app .builder-review-section p,
.dashboard-app .data-table th {
  font-size: 12px !important;
}

.dashboard-app .status-chip,
.dashboard-app .counter,
.dashboard-app .micro-label,
.dashboard-app .empty-state-eyebrow,
.dashboard-app .data-table th {
  font-weight: 800;
}

.message-widget small,
.message-widget-head > div > span,
.message-widget .message-item span,
.message-widget .message-item small {
  font-size: 12px !important;
}

#app:has(.dashboard-app) .modal-scrim .modal small,
#app:has(.dashboard-app) .modal-scrim .modal .micro-label,
#app:has(.dashboard-app) .modal-scrim .modal .status-chip,
#app:has(.dashboard-app) .modal-scrim .modal .counter {
  font-size: 12px !important;
}

/* Readable body copy: this also overrides older inline 10px/11px helper
   styles still present in a few workspace cards. */
.dashboard-app p,
.message-widget p,
#app:has(.dashboard-app) .modal-scrim .modal p {
  font-size: 14px !important;
  line-height: 1.6;
}

.dashboard-app small,
.dashboard-app .detail-row span,
.dashboard-app .detail-row b,
.dashboard-app .dashboard-project-facts span,
.dashboard-app .editorial-metrics span,
.dashboard-app .editorial-metrics small,
.dashboard-app .quote-card-price span,
.dashboard-app .builder-profile-meta span,
.dashboard-app .opp-side small,
.dashboard-app .empty-state-eyebrow,
.dashboard-app .empty-state-footer > span,
.dashboard-app .message-launcher-body span,
.dashboard-app .builder-review-summary > div > span,
.dashboard-app .builder-review-file-meta,
.dashboard-app .data-table th,
.message-widget small,
.message-widget-head > div > span,
.message-widget .message-item span,
.message-widget .message-item small {
  font-size: 13px !important;
}

/* Project brief modal: turn the raw form layout into a clear project summary. */
#app:has(.dashboard-app) .modal[aria-label="Project brief"] {
  width: min(780px, calc(100vw - 32px));
  max-height: min(820px, calc(100vh - 32px));
  overflow: hidden;
  border-color: #ddcbbb;
  border-radius: 18px;
  background: #fcf9f6;
  box-shadow: 0 26px 76px rgba(65, 44, 31, .22);
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-head {
  padding: 28px 30px 24px;
  border-bottom-color: #eaded4;
  background: linear-gradient(135deg, #f4e9df 0%, #fffdfb 74%);
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-head .eyebrow {
  color: #76543b !important;
  font-size: 12px;
  font-weight: 800;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-head h2 {
  margin-top: 8px;
  color: #3b2a20 !important;
  font-size: clamp(28px, 4vw, 38px);
  font-weight: 800;
  line-height: 1.04;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-head p {
  margin-top: 10px;
  color: #6d5a4c !important;
  font-size: 15px !important;
  font-weight: 600;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-body {
  display: grid;
  gap: 19px;
  max-height: calc(100vh - 220px);
  padding: 25px 30px 29px;
  overflow-y: auto;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-body > .field:first-child {
  margin: 0;
  padding: 20px 21px 22px;
  border: 1px solid #e4d5c8;
  border-radius: 14px;
  background: #f7eee7;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-body > .field:first-child label,
#app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-body > .field + .detail-list + .field label {
  color: #76543b !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-body > .field:first-child > div,
#app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-body > .field + .detail-list + .field > div {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #4c392d !important;
  background: transparent !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-body > .detail-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 16px;
  margin: 0;
  padding: 7px 17px 4px !important;
  border: 1px solid #e4d8ce;
  border-radius: 14px;
  background: #fffefd;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .detail-row {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 15px 0;
  border-bottom-color: #eee5dd;
  font-size: 15px !important;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .detail-row span {
  color: #806b5b !important;
  font-size: 12px !important;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .detail-row b {
  overflow-wrap: anywhere;
  color: #3b2a20 !important;
  font-size: 15px !important;
  font-weight: 800;
  text-align: left;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-body > .field + .detail-list + .field {
  margin: 0 !important;
  padding: 18px 20px 20px;
  border: 1px solid #e7d9ce;
  border-radius: 14px;
  background: #fffefd;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .media-preview-grid {
  margin: 0;
  padding: 18px;
  border: 1px solid #e4d8ce;
  border-radius: 14px;
  background: #fffefd;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .media-preview-grid::before {
  grid-column: 1 / -1;
  color: #76543b;
  content: "Project attachments";
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .media-preview-card {
  border-color: #e0d1c5;
  border-radius: 10px;
  background: #faf5f0;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .media-preview-card figcaption {
  color: #5e493b;
  font-size: 13px;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .quote-form-foot {
  margin: 0;
  padding-top: 20px;
  border-top-color: #e2d5ca;
}

#app:has(.dashboard-app) .modal[aria-label="Project brief"] .quote-form-foot > span {
  color: #6d5a4c !important;
  font-size: 13px !important;
  font-weight: 650;
}

@media (max-width: 620px) {
  #app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-head { padding: 23px 20px 20px; }
  #app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-body { max-height: calc(100vh - 185px); padding: 20px; }
  #app:has(.dashboard-app) .modal[aria-label="Project brief"] .modal-body > .detail-list { grid-template-columns: 1fr; padding-right: 15px !important; padding-left: 15px !important; }
}

/* Quote detail modal: make the decision path easier to scan. */
.quote-detail-modal { width: min(680px, 100%); border-color: #ded7ce; border-radius: 16px; background: #fffefd; }
.quote-detail-head { padding: 25px 28px 22px; background: linear-gradient(180deg, #fffefd 0%, #fcfaf7 100%); }
.quote-detail-head .eyebrow { color: #887d70; }
.quote-detail-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 7px; }
.quote-detail-title-row h2 { margin: 0; color: #28241f; font-family: var(--sans); font-size: 34px; font-weight: 760; letter-spacing: -.06em; }
.quote-detail-title-row .status-chip { margin-top: 2px; }
.quote-detail-head p { margin-top: 8px; color: #756e66; font-size: 12px; }
.quote-detail-body { display: grid; gap: 23px; padding: 22px 28px 28px; }
.quote-detail-facts { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid #e5ddd4; border-radius: 10px; background: #faf7f2; }
.quote-detail-facts > div { min-width: 0; padding: 13px 15px; border-right: 1px solid #e5ddd4; }
.quote-detail-facts > div:last-child { border-right: 0; }
.quote-detail-facts span, .quote-detail-label { display: block; color: #94897d; font-size: 9px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.quote-detail-facts b { display: block; margin-top: 5px; overflow: hidden; color: #2f2a25; font-size: 12px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.quote-builder-card { display: flex; align-items: center; gap: 13px; margin: 0; padding: 14px 15px; border: 1px solid #e5ddd4; border-radius: 11px; background: #fffefd; }
.quote-builder-card .builder-avatar { flex: 0 0 auto; width: 46px; height: 46px; }
.quote-builder-copy { min-width: 0; flex: 1; }
.quote-builder-copy h3 { margin: 3px 0 2px; color: #2d2925; font-size: 14px; }
.quote-builder-copy p { margin: 0; overflow: hidden; color: #786f66; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.quote-builder-card > .button { flex: 0 0 auto; }
.quote-detail-section { display: grid; gap: 11px; }
.quote-detail-section-heading { display: flex; align-items: flex-start; gap: 10px; }
.quote-detail-index { display: grid; flex: 0 0 auto; place-items: center; width: 23px; height: 23px; border-radius: 7px; color: #547263; background: #e7f0e8; font-family: var(--mono); font-size: 9px; font-weight: 700; }
.quote-detail-index-warm { color: #987354; background: #f4e9dd; }
.quote-detail-section-heading h3 { margin: 0; color: #312d28; font-size: 14px; letter-spacing: -.02em; }
.quote-detail-section-heading p { margin: 3px 0 0; color: #887f76; font-size: 11px; line-height: 1.45; }
.quote-detail-copy { padding: 14px 15px; border: 1px solid #e5ddd4; border-radius: 9px; color: #57514b; background: #fbfaf8; font-size: 12px; line-height: 1.65; }
.quote-detail-copy-included { border-color: #dbe8dc; background: #f7fbf6; }
.quote-detail-copy-excluded { border-color: #eee0d2; background: #fdf9f4; }
.quote-detail-milestones { padding-top: 1px; }
.quote-detail-milestones-heading { align-items: center; }
.quote-detail-total { margin-left: auto; text-align: right; }
.quote-detail-total span { display: block; color: #94897d; font-size: 9px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.quote-detail-total b { display: block; margin-top: 3px; color: #2e2924; font-family: var(--serif); font-size: 21px; font-weight: 600; letter-spacing: -.04em; }
.quote-detail-modal .milestone-list { gap: 6px; margin: 0; }
.quote-detail-modal .milestone-row { padding: 11px 13px; border-color: #e4ddd5; border-radius: 8px; background: #fffefd; color: #635b54; font-size: 12px; }
.quote-detail-modal .milestone-row span { display: inline-flex; align-items: center; gap: 9px; }
.quote-detail-modal .milestone-row i { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 6px; color: #887d70; background: #f3eee8; font-family: var(--mono); font-size: 8px; font-style: normal; }
.quote-detail-modal .milestone-row b { color: #302b26; font-size: 12px; }
.quote-detail-warning { margin: -2px 0 0; color: #9a684d; font-size: 10px; line-height: 1.5; }
.quote-detail-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid #e8e1d9; }
.quote-detail-next-step { max-width: 265px; }
.quote-detail-next-step p { margin: 5px 0 0; color: #746c64; font-size: 11px; line-height: 1.5; }
.quote-detail-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.quote-detail-actions .button { min-height: 39px; }

@media (max-width: 620px) {
  .quote-detail-head { padding: 21px 19px 18px; }
  .quote-detail-body { gap: 20px; padding: 18px 19px 22px; }
  .quote-detail-title-row h2 { font-size: 30px; }
  .quote-detail-facts { grid-template-columns: 1fr; }
  .quote-detail-facts > div { padding: 10px 13px; border-right: 0; border-bottom: 1px solid #e5ddd4; }
  .quote-detail-facts > div:last-child { border-bottom: 0; }
  .quote-builder-card { align-items: flex-start; flex-wrap: wrap; }
  .quote-builder-card > .button { margin-left: 59px; }
  .quote-detail-milestones-heading { align-items: flex-start; flex-wrap: wrap; }
  .quote-detail-total { width: 100%; margin: 3px 0 0 33px; text-align: left; }
  .quote-detail-footer { align-items: stretch; flex-direction: column; gap: 14px; }
  .quote-detail-next-step { max-width: none; }
  .quote-detail-actions { justify-content: stretch; }
  .quote-detail-actions .button { flex: 1; }
}

/* Dark, compact operations dashboard. */
.ops-dashboard { --ops-bg:#121212; --ops-surface:#1d1d1d; --ops-raised:#242424; --ops-line:#303030; --ops-soft:#2a2a2a; --ops-text:#eeeeea; --ops-muted:#9a9892; --ops-accent:#14b8ae; display:grid; grid-template-columns:202px minmax(0,1fr); min-height:100vh; color:var(--ops-text); background:var(--ops-bg); font-family:var(--sans); }
.ops-sidebar { display:flex; flex-direction:column; min-height:100vh; padding:19px 14px 18px; border-right:1px solid #2a2a2a; background:#191919; }
.ops-brand { display:grid; gap:4px; padding:0 0 21px; border:0; color:var(--ops-text); background:transparent; text-align:left; }
.ops-brand b { font-size:15px; font-weight:800; letter-spacing:-.45px; }.ops-brand span { color:#aaa7a0; font-size:10px; font-weight:600; }
.ops-nav-label { margin:0 0 9px; color:#aaa7a0; font-size:10px; font-weight:800; }.ops-settings-label { margin-top:25px; }
.ops-nav { display:grid; gap:2px; }.ops-nav button { display:flex; align-items:center; gap:10px; min-height:31px; padding:0 10px; border:0; border-radius:7px; color:#d5d2cd; background:transparent; font-size:11px; font-weight:700; text-align:left; }.ops-nav button:hover { color:#fff; background:#252525; }.ops-nav button.active { color:#f7f7f4; background:#292929; }.ops-nav .workspace-icon { width:13px; height:13px; color:#989793; stroke-width:2; }.ops-nav button.active .workspace-icon { color:var(--ops-accent); }
.ops-sidebar-actions { display:grid; gap:7px; margin-top:auto; padding-top:16px; border-top:1px solid var(--ops-soft); }.ops-sidebar-actions button { display:flex; align-items:center; justify-content:center; gap:7px; min-height:30px; border:1px solid #3d3d3d; border-radius:6px; color:#dedbd5; background:#252525; font-size:10px; font-weight:750; }.ops-sidebar-actions .workspace-icon { width:12px; height:12px; }
.ops-main { width:min(1060px,calc(100% - 48px)); margin:0 auto; padding:25px 0 54px; }.ops-top { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:19px; }.ops-top h1 { margin:0; color:#f5f4f0; font-size:23px; font-weight:800; letter-spacing:-.85px; line-height:1.12; }.ops-top p { margin:5px 0 0; color:#a6a39d; font-size:10px; font-weight:650; }.ops-actions { display:flex; align-items:center; gap:9px; }.ops-actions button { min-height:34px; border-radius:6px; font-size:10px; font-weight:800; }.ops-search { display:flex; align-items:center; gap:8px; width:256px; padding:0 11px; border:1px solid #313131; color:#86847f; background:#202020; text-align:left; }.ops-search .workspace-icon { width:13px; height:13px; }.ops-add-builder { display:flex; align-items:center; justify-content:center; gap:7px; min-width:105px; border:1px solid #17bfb5; color:#08201e; background:var(--ops-accent); }.ops-add-builder .workspace-icon { width:13px; height:13px; }
.ops-layout { display:grid; grid-template-columns:minmax(0,1.78fr) minmax(270px,.94fr); gap:15px; align-items:start; }.ops-primary,.ops-secondary { display:grid; gap:15px; min-width:0; }.ops-card { overflow:hidden; border:1px solid var(--ops-line); border-radius:9px; background:var(--ops-surface); }.ops-card-head { display:flex; align-items:center; justify-content:space-between; min-height:45px; padding:0 17px; border-bottom:1px solid var(--ops-line); }.ops-card-head h2 { margin:0; color:#f0efeb; font-size:11px; font-weight:800; letter-spacing:-.18px; }.ops-card-head span { color:#a29f99; font-size:9px; font-weight:750; }
.ops-health { min-height:238px; }.ops-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; padding:15px 17px 17px; }.ops-metrics article { min-height:167px; padding:13px; border:1px solid #303030; border-radius:7px; background:var(--ops-raised); }.ops-metrics span { display:block; color:#c9c6c0; font-size:10px; font-weight:750; }.ops-metrics strong { display:inline-block; margin:8px 6px 8px 0; color:#f2f1ed; font-size:22px; font-weight:800; letter-spacing:-.9px; line-height:1; }.ops-metrics em { color:#a29f99; font-size:9px; font-style:normal; font-weight:650; }.ops-metrics p { margin:0; color:#a6a39e; font-size:9px; font-weight:600; line-height:1.55; }
.ops-execution { min-height:280px; }.ops-execution-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(233px,.82fr); padding:0 17px; }.ops-execution-item { display:grid; grid-template-columns:minmax(0,1fr) 38px; gap:12px; min-height:65px; padding:14px 13px 12px 0; border-bottom:1px solid var(--ops-soft); }.ops-execution-item:last-child { border-bottom:0; }.ops-execution-item b { display:block; color:#edebe7; font-size:10px; font-weight:800; }.ops-execution-item p { margin:4px 0 0; color:#a29f99; font-size:9px; font-weight:600; line-height:1.45; }.ops-execution-item time { color:#c8c5bf; font-size:9px; font-weight:750; }.ops-team-table { padding-left:17px; border-left:1px solid var(--ops-soft); }.ops-team-table > div { display:grid; grid-template-columns:1.05fr .95fr .86fr; gap:6px; align-items:center; min-height:42px; border-bottom:1px solid var(--ops-soft); color:#dfdcd6; font-size:9px; }.ops-team-table > div:first-child { min-height:35px; color:#94918b; font-size:8px; font-weight:750; }.ops-team-table > div:last-child { border-bottom:0; }.ops-team-table b { font-size:9px; font-weight:750; }.ops-status { display:inline-flex; align-items:center; justify-content:center; min-height:22px; padding:3px 8px; border:1px solid; border-radius:6px; font-size:8px; font-weight:800; line-height:1; white-space:nowrap; }.ops-status.good { border-color:#2d634e; color:#7dc79e; background:#1c3027; }.ops-status.review { border-color:#665820; color:#dfc66b; background:#332d19; }.ops-status.risk { border-color:#663c3c; color:#db8585; background:#352020; }
.ops-attention { min-height:264px; }.ops-table-wrap { padding:14px 17px; overflow-x:auto; }.ops-table { width:100%; border-collapse:collapse; color:#dedbd5; text-align:left; }.ops-table th { height:31px; color:#94918b; border-bottom:1px solid var(--ops-soft); font-size:8px; font-weight:750; }.ops-table td { height:43px; border-bottom:1px solid var(--ops-soft); color:#dedbd5; font-size:9px; font-weight:700; white-space:nowrap; }.ops-table td:nth-child(3) { max-width:190px; overflow:hidden; color:#c3c0bb; text-overflow:ellipsis; }.ops-table tr:last-child td { border-bottom:0; }
.ops-recent { min-height:430px; }.ops-activity { min-height:94px; padding:14px 17px 11px; border-bottom:1px solid var(--ops-soft); }.ops-activity:last-child { border-bottom:0; }.ops-activity b { display:block; color:#e8e6e1; font-size:10px; font-weight:800; }.ops-activity p { margin:6px 0; color:#aaa7a1; font-size:9px; font-weight:600; line-height:1.55; }.ops-activity small { color:#c6c3bc; font-size:8px; font-weight:750; }.ops-empty { padding:20px 17px; color:#aaa7a0; font-size:10px; }
.ops-billing { min-height:188px; }.ops-billing > div { padding:2px 17px; }.ops-billing p { position:relative; display:grid; grid-template-columns:1fr auto; gap:3px; margin:0; padding:11px 0; border-bottom:1px solid var(--ops-soft); }.ops-billing p:last-child { border-bottom:0; }.ops-billing span { color:#e3e0da; font-size:10px; font-weight:800; }.ops-billing b { color:#f1efeb; font-size:10px; font-weight:800; }.ops-billing small { grid-column:1 / 2; color:#aaa7a0; font-size:8px; font-weight:600; }.ops-usage { min-height:193px; padding-bottom:15px; }.ops-usage > b { display:block; padding:15px 17px 2px; color:#e6e3dd; font-size:10px; }.ops-usage > b strong { float:right; color:#e9e6df; font-size:10px; }.ops-usage > small { display:block; padding:0 17px; color:#a6a39e; font-size:8px; font-weight:650; }.ops-progress { height:8px; margin:16px 17px 9px; overflow:hidden; border-radius:6px; background:#2d2d2d; }.ops-progress span { display:block; height:100%; border-radius:inherit; background:#5a9789; }.ops-usage p { margin:0 17px; color:#aaa7a1; font-size:8px; font-weight:600; line-height:1.55; }
.ops-detail-view .card { border-color:var(--ops-line); border-radius:9px; color:var(--ops-text); background:var(--ops-surface); }.ops-detail-view .section-card-head { padding:18px 20px; border-bottom:1px solid var(--ops-line); }.ops-detail-view .section-card-head h3,.ops-detail-view .data-table td b { color:var(--ops-text); }.ops-detail-view .section-card-head p,.ops-detail-view .data-table td { color:#aaa7a0; }.ops-detail-view .data-table th { color:#aaa7a0; background:#202020; }.ops-detail-view .data-table td,.ops-detail-view .data-table-wrap { border-color:var(--ops-line); }.ops-detail-view .button-outline { color:#e6e3dc; border-color:#444; background:#252525; }
@media (max-width:1080px) { .ops-main { width:min(100% - 38px,900px); }.ops-layout { grid-template-columns:minmax(0,1.55fr) minmax(240px,.85fr); }.ops-search { width:205px; }.ops-execution-grid { grid-template-columns:1fr; }.ops-team-table { display:none; } }
@media (max-width:900px) { .ops-dashboard { display:block; }.ops-sidebar { min-height:auto; padding:14px 16px; border-right:0; border-bottom:1px solid #2a2a2a; }.ops-brand { padding-bottom:12px; }.ops-nav-label,.ops-sidebar-actions { display:none; }.ops-nav { display:flex; gap:3px; overflow-x:auto; }.ops-nav button { width:auto; flex:0 0 auto; padding:0 10px; }.ops-main { width:calc(100% - 30px); padding-top:21px; }.ops-top { flex-direction:column; gap:15px; }.ops-actions { width:100%; }.ops-search { flex:1; width:auto; }.ops-layout { grid-template-columns:1fr; }.ops-secondary { grid-template-columns:1fr 1fr; }.ops-recent { grid-column:1 / -1; min-height:0; } }
@media (max-width:540px) { .ops-actions { display:grid; grid-template-columns:1fr auto; }.ops-search { grid-column:1 / -1; width:100%; }.ops-metrics { grid-template-columns:1fr; }.ops-metrics article { min-height:132px; }.ops-secondary { grid-template-columns:1fr; }.ops-recent { grid-column:auto; }.ops-table th:nth-child(2),.ops-table td:nth-child(2),.ops-table th:nth-child(4),.ops-table td:nth-child(4) { display:none; } }

.configuration-error { display:grid; min-height:100vh; place-items:center; padding:28px; color:#172b2b; background:#f6f5ef; text-align:center; }
.configuration-error > div { max-width:460px; padding:34px; border:1px solid #dce2dc; border-radius:18px; background:#fffefa; box-shadow:0 12px 34px rgba(31,54,49,.08); }
.configuration-error h1 { margin:10px 0; font-family:var(--serif); font-size:36px; letter-spacing:-1.4px; }
.configuration-error p { margin:0; color:#5e6f6c; font-size:14px; line-height:1.7; }

/* Payments board: clear money ownership without implying a live Stripe connection. */
.payments-board { display:grid; gap:16px; }
.dashboard-app .dashboard-intro.dashboard-intro-payments p { display:block; margin-top:8px; color:#79808a; font-size:12px; }
.payments-board-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:24px 25px 22px; border:1px solid #e5e8ec; border-radius:9px; background:#fff; }
.payments-eyebrow,.payments-panel-kicker { display:block; color:#6b82bd; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.payments-board-header h2 { margin:7px 0 5px; color:#20242b; font-size:25px; font-weight:750; letter-spacing:-.055em; }
.payments-board-header p { margin:0; color:#79808a; font-size:12px; }
.payments-board-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.payments-connection-badge { display:inline-flex; align-items:center; gap:7px; min-height:30px; padding:0 10px; border:1px solid #dfe7df; border-radius:6px; color:#64736c; background:#f6faf6; font-size:10px; font-weight:750; white-space:nowrap; }
.payments-connection-badge i { width:7px; height:7px; border-radius:50%; background:#bf8b42; }
.payments-board-notice { display:flex; align-items:center; gap:13px; padding:12px 15px; border:1px solid #e4e8f0; border-radius:8px; color:#6f7783; background:#f8faff; font-size:11px; line-height:1.5; }
.payments-board-notice strong { flex:0 0 auto; color:#394d75; font-size:10px; font-weight:800; }
.payments-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.payments-summary-card { min-width:0; padding:17px 18px 16px; border:1px solid #e5e8ec; border-radius:9px; background:#fff; }
.payments-summary-card span { display:block; color:#828994; font-size:10px; font-weight:700; }
.payments-summary-card strong { display:block; margin:8px 0 5px; overflow:hidden; color:#24282f; font-size:24px; font-weight:750; letter-spacing:-.055em; text-overflow:ellipsis; white-space:nowrap; }
.payments-summary-card small { display:block; overflow:hidden; color:#8b919a; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.payments-summary-primary { border-color:#dbe4f7; background:#f4f7ff; }
.payments-summary-primary strong { color:#2f6ce5; }
.payments-balance-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:15px 18px; border:1px solid #e5e8ec; border-radius:9px; background:#fbfcfd; }
.payments-balance-strip > div { min-width:0; padding-right:18px; border-right:1px solid #e7eaee; }
.payments-balance-strip > div:last-child { padding-right:0; border-right:0; }
.payments-balance-strip span { display:block; color:#7f8791; font-size:10px; font-weight:750; }
.payments-balance-strip strong { display:block; margin:6px 0 3px; overflow:hidden; color:#29313a; font-size:15px; font-weight:750; letter-spacing:-.03em; text-overflow:ellipsis; white-space:nowrap; }
.payments-balance-strip small { display:block; overflow:hidden; color:#9097a0; font-size:9px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.payments-board-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.payments-panel { min-width:0; overflow:hidden; border:1px solid #e5e8ec; border-radius:9px; background:#fff; }
.payments-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:19px 20px 16px; border-bottom:1px solid #edf0f2; }
.payments-panel-head h3 { margin:5px 0 0; color:#272b32; font-size:15px; font-weight:700; letter-spacing:-.03em; }
.payments-panel-head > span { color:#8b9199; font-size:10px; white-space:nowrap; }
.payments-builder-list,.payments-deposit-list { padding:0 20px; }
.payments-builder-row,.payments-deposit-row { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:71px; padding:13px 0; border-bottom:1px solid #edf0f2; }
.payments-builder-row:last-child,.payments-deposit-row:last-child { border-bottom:0; }
.payments-builder-identity { display:flex; align-items:center; gap:10px; min-width:0; }
.payments-builder-identity .table-avatar { flex:0 0 auto; width:32px; height:32px; font-size:10px; }
.payments-builder-identity > div:last-child,.payments-deposit-row > div:first-child { min-width:0; }
.payments-builder-identity b,.payments-deposit-row b { display:block; overflow:hidden; color:#30343a; font-size:11px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.payments-builder-identity small,.payments-deposit-row small,.payments-builder-amount small,.payments-deposit-amount small { display:block; margin-top:4px; overflow:hidden; color:#8a919b; font-size:10px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.payments-builder-amount,.payments-deposit-amount { flex:0 0 auto; text-align:right; }
.payments-builder-amount strong,.payments-deposit-amount strong { display:block; color:#20242b; font-size:14px; font-weight:750; letter-spacing:-.02em; }
.payments-deposit-row > div:first-child { flex:1; }
.payments-deposit-amount strong { color:#2f6ce5; }
.payments-ledger-panel { overflow:hidden; }
.payments-ledger-wrap { overflow-x:auto; }
.payments-ledger-table { width:100%; min-width:680px; border-collapse:collapse; text-align:left; }
.payments-ledger-table th { padding:13px 20px 11px; color:#7c838e; background:#fafbfc; font-size:9px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; white-space:nowrap; }
.payments-ledger-table td { padding:14px 20px; border-top:1px solid #edf0f2; color:#59616b; font-size:11px; vertical-align:middle; white-space:nowrap; }
.payments-ledger-table td:first-child { min-width:220px; }
.payments-ledger-table td b { display:block; overflow:hidden; color:#2b3037; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.payments-ledger-table td small { display:block; margin-top:4px; color:#8a919b; font-size:10px; }
.payments-ledger-table td strong { color:#2b3037; font-weight:750; }
.payments-ledger-table .status-chip { white-space:nowrap; }
.milestone-checkin { display:grid; gap:5px; min-width:178px; white-space:normal; }
.milestone-checkin b { font-size:11px; }
.milestone-checkin small { margin-top:0 !important; line-height:1.35; }
.milestone-checkin .button { justify-self:start; margin-top:2px; }
.project-checkins-panel { overflow:hidden; }
.project-checkins-panel .section-card-head { align-items:flex-start; }
.project-checkins-list { border-top:1px solid #edf0f2; }
.project-checkin-row { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:16px 20px; border-bottom:1px solid #edf0f2; }
.project-checkin-copy { min-width:0; }
.project-checkin-copy > div { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:6px; }
.project-checkin-type { color:#7c838e; font-size:9px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.project-checkin-copy b { display:block; color:#2b3037; font-size:12px; }
.project-checkin-copy p { margin:5px 0 0; color:#68717b; font-size:11px; line-height:1.45; }
.project-checkin-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.project-checkins-empty { padding:20px; color:#68717b; font-size:11px; line-height:1.5; }
.project-checkins-history summary { padding:15px 20px; color:#59616b; cursor:pointer; font-size:11px; font-weight:700; }
.project-checkins-history[open] summary { border-bottom:1px solid #edf0f2; }
.project-checkins-history .project-checkin-row:last-child { border-bottom:0; }
.project-checkins-board { display:grid; gap:16px; }
.next-action-detail { display:block; margin-top:10px; color:#6d7480; font-size:10px; font-weight:700; }
.checkin-request-form .field small { display:block; margin-top:6px; color:#7c838e; font-size:10px; line-height:1.45; }
.payments-board-footnote { margin:0 3px; color:#8a919a; font-size:10px; line-height:1.5; }
.payments-board-empty { display:grid; gap:16px; }
.payments-board-empty .empty-state { border:1px solid #e5e8ec; border-radius:9px; background:#fff; }

@media (max-width:900px) {
  .payments-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:620px) {
  .payments-board-header { flex-direction:column; padding:20px 18px; }
  .payments-board-actions { justify-content:flex-start; }
  .payments-board-notice { align-items:flex-start; flex-direction:column; gap:4px; }
  .payments-summary-grid,.payments-board-grid,.payments-balance-strip { grid-template-columns:1fr; }
  .payments-summary-card strong { font-size:22px; }
  .payments-balance-strip { gap:0; }
  .payments-balance-strip > div { padding:12px 0; border-right:0; border-bottom:1px solid #e7eaee; }
  .payments-balance-strip > div:last-child { padding-bottom:0; border-bottom:0; }
  .payments-panel-head { padding-right:17px; padding-left:17px; }
  .payments-builder-list,.payments-deposit-list { padding-right:17px; padding-left:17px; }
  .payments-ledger-table th,.payments-ledger-table td { padding-right:15px; padding-left:15px; }
  .project-checkin-row { flex-direction:column; }
  .project-checkin-actions { justify-content:flex-start; }
}

.payments-connection-live { border-color:#d8e8dc; color:#4d7758; background:#f5fbf6; }
.payments-connection-live i { background:#3f9a57; }
.payments-live-empty { display:grid; gap:5px; padding:17px 0; color:#7d858e; font-size:10px; line-height:1.5; }
.payments-live-empty b { color:#454c55; font-size:11px; }
.payments-live-empty code { padding:2px 4px; border-radius:3px; color:#3f5b8c; background:#f0f4fb; font-family:var(--mono); font-size:9px; }
.payments-transfer-mark { display:grid; flex:0 0 auto; place-items:center; width:32px; height:32px; border-radius:50%; color:#3b8a52; background:#e8f5ea; font-size:17px; font-weight:700; }
.payments-deposit-tag { display:inline-flex; align-items:center; min-height:21px; padding:3px 7px; border:1px solid #dce7f8; border-radius:5px; color:#4b70aa; background:#f1f6ff; font-size:9px; font-weight:800; }
.payments-live-ledger { min-width:860px; }
.role-money-view { margin-top:0; }
.role-money-view .payments-board-header { align-items:center; }
.role-money-empty { margin-top:18px; }
.dashboard-grid-builder.earnings-active .opportunity-alert-note,
.dashboard-grid-builder.earnings-active .opportunity-list { display:none; }
@media (max-width: 700px) {
  .role-money-view .payments-board-header { align-items:flex-start; }
}

/* The selected-builder panel is intentionally dark; keep all of its copy
   light even when the general dashboard heading rules use !important. */
.dashboard-app .next-action h3 { color:#fffefd !important; }
.dashboard-app .next-action .micro-label { color:#e7cfb7 !important; }
.dashboard-app .next-action p { color:#f0e5db !important; }
.dashboard-app .next-action .button { color:#252320 !important; border-color:#fffefd; background:#fffefd; }

.homeowner-project-switcher { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 18px; padding:14px 16px; border:1px solid #e6ddd3; border-radius:10px; background:#fffdfa; }
.homeowner-project-switcher > div { display:grid; gap:3px; }
.homeowner-project-switcher span { color:#7d7167; font-size:11px; font-weight:750; }
.homeowner-project-switcher b { color:#312921; font-size:14px; }
.homeowner-project-switcher label { display:flex; align-items:center; gap:9px; color:#6d6259; font-size:11px; font-weight:750; }
.homeowner-project-switcher select { min-width:235px; min-height:38px; padding:0 32px 0 11px; border:1px solid #d9cec1; border-radius:7px; color:#312921; background:#fff; font:inherit; }
@media (max-width:620px) { .homeowner-project-switcher,.homeowner-project-switcher label { align-items:stretch; flex-direction:column; }.homeowner-project-switcher select { width:100%; min-width:0; } }

/* Mobile workspace integrity pass: preserve every route and action without
   letting fixed controls, long labels, or stacked cards collide on a phone. */
@media (max-width: 720px) {
  html { scroll-padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  body { overflow-x: clip; }

  /* Keep the public navigation complete at phone sizes. */
  .showcase-nav-actions { gap: 8px; }
  .showcase-menu-button {
    display: grid;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
  }
  .showcase-menu-button i { width: 17px; }
  .showcase-start-button { min-height: 42px; padding: 0 11px; white-space: nowrap; }

  /* The desktop sidebar becomes an always-available bottom navigation. */
  .dashboard-app { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  .dashboard-app .dashboard-sidebar {
    position: fixed;
    z-index: 40;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: auto;
    min-height: 74px;
    padding: 6px max(8px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    border-top: 1px solid #302d29;
    border-right: 0;
    background: #252320;
    box-shadow: 0 -8px 22px rgba(29, 25, 21, .13);
  }
  .dashboard-app .dashboard-sidebar-label,
  .dashboard-app .dashboard-sidebar-bottom { display: none; }
  .dashboard-app .dashboard-side-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3px;
    width: 100%;
  }
  .dashboard-app .dashboard-side-nav button {
    min-width: 0;
    min-height: 61px;
    padding: 6px 3px;
    justify-content: center;
    gap: 4px;
    border-radius: 7px;
    font-size: 10px;
    line-height: 1.1;
    text-align: center;
    white-space: normal;
  }
  .dashboard-app .dashboard-side-nav .workspace-icon {
    width: 18px;
    height: 18px;
  }

  .dashboard-app .workspace-main {
    width: calc(100% - 30px);
    padding-top: 22px;
    padding-bottom: calc(22px + env(safe-area-inset-bottom));
  }
  .dashboard-app .workspace-topbar,
  .dashboard-app .workspace-topbar .workspace-header-inner {
    height: 56px !important;
    min-height: 56px;
  }
  .dashboard-app .workspace-topbar .workspace-header-inner { padding: 0 15px; }
  .dashboard-app .dashboard-home-button { min-width: 0; padding-right: 3px; }
  .dashboard-app .dashboard-home-button > span { overflow: hidden; text-overflow: ellipsis; }
  .dashboard-app .dashboard-quick-action {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    min-height: 38px;
    padding: 0;
    font-size: 0;
    place-items: center;
  }
  .dashboard-app .dashboard-quick-action .workspace-icon { width: 17px; height: 17px; margin: 0; }
  .dashboard-app .dashboard-bell { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; }
  .dashboard-app .dashboard-user { flex: 0 0 31px; }
  .dashboard-app .workspace-header-actions { gap: 4px; }

  .dashboard-app .dashboard-intro { align-items: flex-start; flex-direction: column; gap: 14px; margin-bottom: 19px; }
  .dashboard-app .dashboard-intro h1 { font-size: clamp(28px, 9vw, 34px); }
  .dashboard-app .dashboard-intro > .button { width: 100%; min-height: 44px; }
  .dashboard-app .dashboard-intro-builder .button-outline { width: 100%; }
  .dashboard-app .builder-workspace-actions { width: 100%; align-items: stretch; }
  .dashboard-app .builder-workspace-actions > *,
  .dashboard-app .builder-profile-switch,
  .dashboard-app .builder-profile-switch select,
  .dashboard-app .builder-notifications-button { width: 100%; }
  .dashboard-app .builder-notifications-button { justify-content: center; min-height: 44px; }

  .dashboard-app .workspace-tabs {
    width: 100%;
    max-width: 100%;
    margin-bottom: 19px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }
  .dashboard-app .workspace-tab { flex: 0 0 auto; scroll-snap-align: start; }
  .dashboard-app .workspace-tab + .workspace-tab { margin-left: 16px; }

  .dashboard-app .dashboard-project-hero {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 20px 18px 18px;
  }
  .dashboard-app .dashboard-project-hero::after { display: none; }
  .dashboard-app .dashboard-project-status { justify-content: space-between; flex-wrap: wrap; font-size: 12px; }
  .dashboard-app .dashboard-project-status .status-chip { min-height: 34px; padding: 6px 10px; font-size: 11px; }
  .dashboard-app .dashboard-project-copy h2 { font-size: clamp(23px, 7.5vw, 30px); line-height: 1.03; }
  .dashboard-app .dashboard-project-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-top: 16px; }
  .dashboard-app .dashboard-project-facts > div,
  .dashboard-app .dashboard-project-facts > div:last-child {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
  }
  .dashboard-app .dashboard-project-facts b { overflow-wrap: anywhere; font-size: 18px; }

  .dashboard-app .editorial-metrics { grid-template-columns: 1fr; gap: 8px; }
  .dashboard-app .editorial-metrics article,
  .dashboard-app .editorial-metrics article:first-child,
  .dashboard-app .editorial-metrics article:nth-child(2) {
    min-height: 0;
    padding: 16px;
    border: 1px solid var(--dashboard-line, #e1d9d0);
    border-radius: 9px;
  }
  .dashboard-app .editorial-metrics article:last-child { border-bottom: 1px solid var(--dashboard-line, #e1d9d0); }
  .dashboard-app .editorial-metrics b { overflow-wrap: anywhere; white-space: normal; }

  .dashboard-app .section-card-head { align-items: flex-start; padding: 19px 18px 0; }
  .dashboard-app .section-card-head > div { min-width: 0; }
  .dashboard-app .quote-list { padding: 5px 13px 11px; }
  .dashboard-app .quote-card { grid-template-columns: 42px minmax(0, 1fr); gap: 10px; }
  .dashboard-app .quote-card-price { grid-column: 2; grid-row: auto; min-width: 0; padding: 0; border: 0; text-align: left; }
  .dashboard-app .quote-card-price strong { font-size: 23px; }
  .dashboard-app .quote-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    width: 100%;
    gap: 7px;
  }
  .dashboard-app .quote-actions .button { width: 100%; min-height: 40px; padding: 0 10px; }
  .dashboard-app .opportunity-card { padding: 19px; }
  .dashboard-app .opp-side { align-items: stretch; gap: 10px; }
  .dashboard-app .opp-side > .button { width: 100%; min-height: 42px; }

  .dashboard-app .data-table-wrap,
  .payments-ledger-wrap { max-width: 100%; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }

  .message-popup-button { right: 14px; bottom: calc(88px + env(safe-area-inset-bottom)); z-index: 41; }
  .builder-alert-popup { right: 12px; bottom: calc(88px + env(safe-area-inset-bottom)); width: calc(100vw - 24px); }
  .message-widget { right: 12px; bottom: calc(88px + env(safe-area-inset-bottom)); height: min(620px, calc(100dvh - 104px - env(safe-area-inset-bottom))); }
}

@media (max-width: 620px) {
  .modal-scrim { place-items: end stretch; padding: 10px; }
  .modal { width: 100%; max-height: calc(100dvh - 20px); border-radius: 17px 17px 10px 10px; }
  .modal-head { padding: 19px 18px 16px; }
  .modal-head h2 { font-size: clamp(25px, 8vw, 30px); }
  .modal-body { padding: 18px; }
  .modal input,
  .modal select,
  .modal textarea { font-size: 16px; }
  .modal .quote-form-foot,
  .modal .builder-review-actions,
  .modal .builder-profile-edit-footer { align-items: stretch; }
  .modal .quote-form-foot .button,
  .modal .builder-review-actions .button,
  .modal .builder-profile-edit-footer .button { width: 100%; min-height: 44px; }
  .modal.builder-review-modal,
  .modal.builder-profile-edit-modal { height: calc(100dvh - 20px); }

  .homeowner-match-card { padding: 17px; }
  .homeowner-match-identity { width: 100%; }
  .homeowner-match-copy { min-width: 0; }
  .homeowner-match-actions .button { min-width: 0; }
}

@media (max-width: 380px) {
  .showcase-shell .container { width: calc(100% - 28px); }
  .showcase-nav .brand-artwork-header { width: 102px; }
  .showcase-nav .brand-artwork-header img { width: 124px; }
  .showcase-start-button { padding: 0 8px; font-size: 10px; }
  .dashboard-app .dashboard-home-button > span { display: none; }
  .dashboard-app .dashboard-side-nav button { min-height: 58px; font-size: 9px; }
  .dashboard-app .dashboard-side-nav .workspace-icon { width: 17px; height: 17px; }
  .dashboard-app .dashboard-project-facts { grid-template-columns: 1fr; }
  .dashboard-app .quote-actions { grid-template-columns: 1fr; }
}

/* Public footer: keep contact details and navigation readable at every width. */
.site-footer .footer-inner {
  display: grid;
  grid-template-columns: minmax(260px, 1.3fr) minmax(220px, auto) auto;
  align-items: center;
  gap: 28px;
}

.footer-brand-group {
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}

.footer-copy {
  color: inherit;
  line-height: 1.45;
}

.footer-contact {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.footer-contact a {
  display: flex;
  align-items: baseline;
  gap: 7px;
  color: inherit;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.footer-contact-label {
  flex: 0 0 auto;
  font-size: .78em;
  font-weight: 800;
  letter-spacing: .01em;
}

.footer-contact a:hover { text-decoration: underline; text-underline-offset: 3px; }

.site-footer .footer-links {
  justify-self: end;
  align-items: center;
  flex-wrap: wrap;
}

.site-footer .footer-links a,
.site-footer .footer-links .nav-signin {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 1.4;
  text-decoration: none;
}

.site-footer .footer-links a:hover,
.site-footer .footer-links .nav-signin:hover { text-decoration: underline; text-underline-offset: 3px; }

.showcase-contact {
  padding: 104px 0 112px;
  background: #f1f1f1;
}

.showcase-contact-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr);
  gap: 78px;
  align-items: end;
  padding-top: 32px;
  border-top: 1px solid #cfcfcf;
}

.showcase-contact-label {
  margin: 0 0 24px;
  color: #8d7760;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.showcase-contact-copy h2 {
  max-width: 650px;
  margin: 0;
  color: #101116;
  font-size: clamp(46px, 5.3vw, 76px);
  font-weight: 600;
  letter-spacing: -.08em;
  line-height: .92;
}

.showcase-contact-copy > p:last-child {
  max-width: 440px;
  margin: 28px 0 0;
  color: #69656c;
  font-size: 16px;
  line-height: 1.6;
}

.showcase-contact-details { border-top: 1px solid #cfcfcf; }

.showcase-contact-link {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 14px;
  padding: 22px 0;
  border-bottom: 1px solid #cfcfcf;
  color: #1d2026;
  text-decoration: none;
}

.showcase-contact-link > span {
  color: #8d7760;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}

.showcase-contact-link strong {
  overflow-wrap: anywhere;
  font-size: clamp(17px, 1.7vw, 23px);
  font-weight: 600;
  letter-spacing: -.04em;
}

.showcase-contact-link i {
  color: #8d7760;
  font-size: 20px;
  font-style: normal;
  text-align: right;
  transition: transform .2s ease;
}

.showcase-contact-link:hover i { transform: translateX(4px); }

@media (max-width: 760px) {
  .showcase-contact { padding: 78px 0 84px; }
  .showcase-contact-inner { grid-template-columns: 1fr; gap: 48px; }
  .showcase-contact-copy h2 { font-size: clamp(45px, 12vw, 68px); }
}

@media (max-width: 860px) {
  .site-footer .footer-inner { grid-template-columns: 1fr auto; }
  .site-footer .footer-brand-group { grid-column: 1 / -1; }
  .site-footer .footer-links { justify-self: start; }
}

@media (max-width: 620px) {
  .site-footer .footer-inner { grid-template-columns: 1fr; gap: 16px; }
  .site-footer .footer-brand-group { align-items: flex-start; flex-direction: column; gap: 6px; }
  .site-footer .footer-links { justify-self: start; }
}

/* Keep the four-route public navigation available on smaller screens. */
@media (max-width: 760px) {
  .showcase-menu-button { display: grid; }
}

/* Dedicated About Us page within the public-site system. */
.showcase-about {
  padding: 138px 0 128px;
  color: #17191d;
  background: #f4f1ec;
}

.showcase-about-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
  gap: 78px;
  align-items: start;
  padding-bottom: 93px;
  border-bottom: 1px solid #d8d1c8;
}

.showcase-about-label,
.showcase-about-values-head > p {
  margin: 0 0 23px;
  color: #9a8978;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

.showcase-about-intro h2 {
  max-width: 650px;
  margin: 0;
  color: #17191d;
  font-family: var(--sans);
  font-size: clamp(51px, 5vw, 82px);
  font-weight: 550;
  letter-spacing: -.08em;
  line-height: .9;
}

.showcase-about-copy {
  display: grid;
  gap: 19px;
  padding-top: 35px;
}

.showcase-about-copy p {
  max-width: 480px;
  margin: 0;
  color: #656169;
  font-size: 15px;
  line-height: 1.65;
}

.showcase-about-copy .showcase-about-lead {
  color: #25272b;
  font-size: 20px;
  letter-spacing: -.035em;
  line-height: 1.45;
}

.showcase-about-values-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 25px;
  padding: 31px 0 20px;
}

.showcase-about-values-head > p { margin: 0; }
.showcase-about-values-head > span { color: #82796f; font-size: 13px; }

.showcase-about-values {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #d8d1c8;
  border-bottom: 1px solid #d8d1c8;
}

.showcase-about-values article {
  display: grid;
  gap: 31px;
  min-height: 225px;
  padding: 24px 24px 26px;
  border-right: 1px solid #d8d1c8;
}

.showcase-about-values article:first-child { padding-left: 0; }
.showcase-about-values article:last-child { padding-right: 0; border-right: 0; }
.showcase-about-values article > span { color: #9a7754; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.showcase-about-values h3 { margin: 0 0 10px; color: #17191d; font-family: var(--sans); font-size: 25px; font-weight: 550; letter-spacing: -.06em; }
.showcase-about-values p { max-width: 190px; margin: 0; color: #656169; font-size: 13px; line-height: 1.55; }

.showcase-about-signoff {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 25px;
  padding-top: 31px;
}

.showcase-about-signoff strong { color: #17191d; font-family: var(--sans); font-size: 19px; font-weight: 650; letter-spacing: -.05em; }
.showcase-about-signoff span { color: #82796f; font-size: 13px; }

@media (max-width: 900px) {
  .showcase-about-intro { grid-template-columns: minmax(0, 1fr) minmax(220px, .7fr); gap: 35px; }
  .showcase-about-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .showcase-about-values article:nth-child(2) { border-right: 0; }
  .showcase-about-values article:nth-child(3),
  .showcase-about-values article:nth-child(4) { border-top: 1px solid #d8d1c8; }
  .showcase-about-values article:nth-child(3) { padding-left: 0; }
  .showcase-about-values article:nth-child(4) { padding-right: 0; }
}

@media (max-width: 760px) {
  .showcase-about { padding: 84px 0 78px; }
  .showcase-about-intro { grid-template-columns: 1fr; gap: 18px; padding-bottom: 58px; }
  .showcase-about-intro h2 { font-size: clamp(46px, 12vw, 65px); }
  .showcase-about-copy { padding-top: 9px; }
  .showcase-about-copy .showcase-about-lead { font-size: 18px; }
  .showcase-about-values-head { align-items: flex-start; flex-direction: column; gap: 8px; }
  .showcase-about-values { grid-template-columns: 1fr 1fr; }
  .showcase-about-values article { min-height: 205px; padding: 20px 15px 22px; gap: 24px; }
  .showcase-about-values article:first-child,
  .showcase-about-values article:nth-child(3) { padding-left: 0; }
  .showcase-about-values article:nth-child(2),
  .showcase-about-values article:last-child { padding-right: 0; }
  .showcase-about-values h3 { font-size: 22px; }
  .showcase-about-signoff { align-items: flex-start; flex-direction: column; gap: 8px; }
}

/* Email confirmation state: keep the next step explicit and recoverable. */
.email-confirmation-modal .modal-head strong {
  color: var(--dashboard-ink);
  overflow-wrap: anywhere;
}

.auth-confirmation-panel {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 17px;
  border: 1px solid #e2d7cc;
  border-radius: 12px;
  background: #fbf6f1;
}

.auth-confirmation-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  color: #76543b;
  background: #f0e3d6;
  font-size: 18px;
}

.auth-confirmation-panel h3 {
  margin: 1px 0 5px;
  color: var(--dashboard-ink) !important;
  font-size: 15px !important;
  font-weight: 800;
}

.auth-confirmation-panel p,
.auth-confirmation-help p {
  margin: 0;
  color: #75665b !important;
  font-size: 13px !important;
  line-height: 1.55;
}

.auth-confirmation-help {
  padding: 0 2px;
}

.auth-confirmation-help > span {
  display: block;
  margin-bottom: 3px;
  color: #76543b;
  font-size: 12px !important;
  font-weight: 800;
}

@media (max-width: 620px) {
  .auth-confirmation-panel { padding: 14px; }
  .email-confirmation-modal .quote-form-foot { gap: 8px; }
  .email-confirmation-modal .quote-form-foot .button { width: 100%; }
}

/* Project details card: a calmer, more deliberate summary for the homeowner workspace. */
.dashboard-app .project-details-card {
  overflow: hidden;
  border: 1px solid #e2d7cc;
  border-radius: 16px;
  background: #fffefd;
  box-shadow: 0 10px 26px rgba(59, 42, 32, .06);
}

.dashboard-app .project-details-head {
  align-items: flex-start;
  padding: 22px 22px 19px;
  border-bottom: 1px solid #eee5dc;
  background: linear-gradient(180deg, #fffefd 0%, #fbf6f1 100%);
}

.dashboard-app .project-details-head > div { min-width: 0; }

.dashboard-app .project-details-eyebrow {
  display: block;
  color: #9a7754 !important;
  font-size: 10px !important;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.dashboard-app .project-details-head h3 {
  margin-top: 7px;
  color: #3b2a20 !important;
  font-size: 20px !important;
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.08;
}

.dashboard-app .project-details-head p {
  max-width: 255px;
  margin-top: 7px !important;
  color: #75665b !important;
  font-size: 12px !important;
  line-height: 1.45;
}

.dashboard-app .project-details-button {
  flex: 0 0 auto;
  min-height: 34px !important;
  padding: 0 10px !important;
  border-color: #d6c5b5 !important;
  color: #6d4e36 !important;
  background: #fffefd !important;
  font-size: 11px !important;
  font-weight: 800;
  white-space: nowrap;
}

.dashboard-app .project-details-button:hover {
  border-color: #b89777 !important;
  color: #4f3626 !important;
  background: #f8f0e9 !important;
}

.dashboard-app .project-details-button span {
  margin-left: 6px;
  font-size: 14px;
  line-height: 0;
}

.dashboard-app .project-details-list {
  padding: 5px 22px 8px;
}

.dashboard-app .project-details-row {
  align-items: center;
  min-height: 48px;
  padding: 0 !important;
  border-bottom: 1px solid #eee7e0 !important;
  font-size: 12px !important;
}

.dashboard-app .project-details-row span {
  color: #8a7b70 !important;
  font-size: 11px !important;
  letter-spacing: .01em;
}

.dashboard-app .project-details-row b {
  max-width: 62%;
  overflow-wrap: anywhere;
  color: #3b2a20 !important;
  font-size: 12px !important;
  line-height: 1.3;
}

.dashboard-app .project-details-row b.is-pending {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  color: #876b50 !important;
  background: #f4ebe2;
  font-size: 11px !important;
}

.dashboard-app .project-details-row-price b {
  color: #76543b !important;
  font-size: 14px !important;
}

@media (max-width: 620px) {
  .dashboard-app .project-details-head { padding: 19px 18px 17px; }
  .dashboard-app .project-details-head p { max-width: 215px; }
  .dashboard-app .project-details-list { padding: 4px 18px 7px; }
  .dashboard-app .project-details-row { min-height: 46px; }
}

/* Production workflow polish: clearer role identity, navigation and next steps. */
.dashboard-role-homeowner {
  --dashboard-accent: #76543b;
  --dashboard-accent-strong: #563b2a;
  --role-accent-soft: #f1e7dc;
}

.dashboard-role-builder {
  --dashboard-accent: #376657;
  --dashboard-accent-strong: #284c41;
  --role-accent-soft: #e7f0eb;
}

.dashboard-role-admin {
  --dashboard-accent: #485c69;
  --dashboard-accent-strong: #33434d;
  --role-accent-soft: #e8eef1;
}

.dashboard-app .dashboard-side-nav button.active {
  background: linear-gradient(135deg, var(--dashboard-accent), var(--dashboard-accent-strong));
  box-shadow: 0 7px 18px color-mix(in srgb, var(--dashboard-accent) 25%, transparent);
}

.dashboard-app .workspace-tab.active {
  color: var(--dashboard-accent-strong) !important;
  background: var(--role-accent-soft);
  box-shadow: inset 0 -2px 0 var(--dashboard-accent);
}

.dashboard-app .dashboard-user {
  display: grid;
  flex: 0 0 31px;
  place-items: center;
  cursor: default;
}

.dashboard-role-homeowner .editorial-journey {
  display: grid;
  grid-template-columns: minmax(180px, .36fr) minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  padding: 18px 24px;
  border-left: 3px solid var(--dashboard-accent);
}

.dashboard-role-homeowner .editorial-journey-head {
  display: block;
  padding: 0;
}

.dashboard-role-homeowner .editorial-journey-head h2 { margin-top: 5px; font-size: 19px; }
.dashboard-role-homeowner .editorial-journey-head p { margin-top: 5px; font-size: 12px; }
.dashboard-role-homeowner .editorial-journey .status-timeline { padding: 8px 0 3px; }
.dashboard-role-homeowner .timeline-step.active { color: var(--dashboard-accent-strong); }
.dashboard-role-homeowner .timeline-step.active .timeline-dot {
  background: var(--dashboard-accent);
  box-shadow: 0 0 0 1px var(--dashboard-accent);
}

.dashboard-role-builder .builder-metrics {
  margin-top: -3px;
  margin-bottom: 22px;
}

.dashboard-role-builder .builder-metrics article { position: relative; overflow: hidden; }
.dashboard-role-builder .builder-metrics article::after {
  position: absolute;
  right: -18px;
  bottom: -24px;
  width: 66px;
  height: 66px;
  border: 13px solid var(--role-accent-soft);
  border-radius: 50%;
  content: "";
}

.dashboard-role-builder .builder-metrics b,
.dashboard-role-builder .builder-metrics small,
.dashboard-role-builder .builder-metrics span { position: relative; z-index: 1; }

.dashboard-role-builder .opportunity-alert-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 17px 18px;
  border-color: #cfddd5;
  background: #f7fbf8;
}

.dashboard-role-builder .opportunity-alert-note .opportunity-alert-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 9px;
  color: var(--dashboard-accent);
  background: #e2eee7;
}

.dashboard-role-builder .opportunity-alert-icon .workspace-icon { width: 18px; height: 18px; }
.dashboard-role-builder .opportunity-alert-note h3 { margin: 3px 0; color: var(--dashboard-ink); font-size: 15px; }
.dashboard-role-builder .opportunity-alert-note p { margin: 0; color: var(--dashboard-muted); font-size: 12px; line-height: 1.45; }
.dashboard-role-builder .builder-empty-state { min-height: 205px; }

.dashboard-role-admin .admin-workspace-tabs { display: none; }

.dashboard-role-admin .stat-card-action {
  position: relative;
  width: 100%;
  overflow: hidden;
  appearance: none;
  cursor: pointer;
  text-align: left;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.dashboard-role-admin .stat-card-action::after {
  position: absolute;
  right: -24px;
  bottom: -30px;
  width: 86px;
  height: 86px;
  border: 16px solid var(--role-accent-soft);
  border-radius: 50%;
  content: "";
}

.dashboard-role-admin .stat-card-action > * { position: relative; z-index: 1; }
.dashboard-role-admin .stat-card-action:hover {
  transform: translateY(-2px);
  border-color: #aab8c0;
  box-shadow: 0 10px 24px rgba(51, 67, 77, .09);
}

.dashboard-role-admin .stat-card-action:focus-visible {
  outline: 3px solid rgba(72, 92, 105, .3);
  outline-offset: 2px;
}

.dashboard-role-admin .stat-card-action.needs-attention { border-top-color: #c38731; }
.dashboard-role-admin .stat-card-action small { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.dashboard-role-admin .stat-card-action small i { font-size: 15px; font-style: normal; }

.builder-approval-gate {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px;
  border: 1px solid #e2d8cc;
  border-radius: 9px;
  background: #faf6f1;
}

.builder-approval-gate > span { max-width: 420px; color: #665a4e; font-size: 12px; line-height: 1.45; }
.builder-approval-gate > div { display: flex; flex: 0 0 auto; gap: 8px; }

@media (max-width: 720px) {
  .dashboard-app { display: block; width: 100%; min-width: 0; }
  .dashboard-app .dashboard-canvas { width: 100%; min-width: 0; }
  .dashboard-app .workspace-main,
  .dashboard-app .dashboard-intro,
  .dashboard-app .dashboard-intro > div,
  .dashboard-app .dashboard-project-hero,
  .dashboard-app .dashboard-project-hero > * { min-width: 0; max-width: 100%; }
  .dashboard-app .dashboard-intro h1,
  .dashboard-app .dashboard-project-copy h2 { max-width: 100%; overflow-wrap: break-word; }
  .dashboard-app .dashboard-grid-home,
  .dashboard-app .dashboard-grid-builder { grid-template-columns: minmax(0, 1fr); width: 100%; }
  .dashboard-app .dashboard-grid > *,
  .dashboard-app .side-stack { min-width: 0; }
  .dashboard-role-admin .admin-workspace-tabs { display: flex; }
  .dashboard-role-homeowner .editorial-journey { grid-template-columns: 1fr; gap: 13px; padding: 18px; }
  .dashboard-role-homeowner .editorial-journey .status-timeline { overflow-x: auto; }
  .dashboard-role-builder .opportunity-alert-note { grid-template-columns: auto minmax(0, 1fr); }
  .dashboard-role-builder .opportunity-alert-note > .button { grid-column: 1 / -1; width: 100%; }
  .dashboard-app .dashboard-side-nav {
    display: flex;
    gap: 3px;
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  .dashboard-app .dashboard-side-nav::-webkit-scrollbar { display: none; }
  .dashboard-app .dashboard-side-nav button { flex: 0 0 91px; }
  .dashboard-role-builder .builder-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .dashboard-role-admin .admin-stat-grid { grid-template-columns: 1fr; }
  .builder-approval-gate { align-items: stretch; flex-direction: column; }
  .builder-approval-gate > div { display: grid; grid-template-columns: 1fr; }
  .builder-approval-gate .button { width: 100%; }
}

/* Production account entry: sign in, role choice and agreement flow. */
.auth-scrim {
  padding: 24px;
  background: rgba(24, 25, 23, .58);
  backdrop-filter: blur(10px);
}

.auth-shell-modal {
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(490px, 1.35fr);
  width: min(980px, 100%);
  max-height: min(790px, calc(100vh - 48px));
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: 22px;
  background: #fffefd;
  box-shadow: 0 36px 100px rgba(18, 22, 20, .3);
}

.auth-close {
  position: absolute;
  z-index: 3;
  top: 18px;
  right: 18px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0 0 2px;
  border: 1px solid #dfd9d2;
  border-radius: 50%;
  color: #5e5a55;
  background: rgba(255, 254, 253, .92);
  font: inherit;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, transform .18s ease;
}

.auth-close:hover { color: #1f2925; border-color: #a99a8d; transform: rotate(3deg); }
.auth-close:focus-visible,
.auth-back-link:focus-visible,
.auth-switch-copy button:focus-visible,
.auth-create-heading button:focus-visible {
  outline: 3px solid rgba(108, 144, 121, .35);
  outline-offset: 3px;
}

.auth-aside {
  position: relative;
  display: flex;
  min-height: 650px;
  overflow: hidden;
  flex-direction: column;
  justify-content: space-between;
  padding: 38px 38px 34px;
  color: #f9f7f2;
  background:
    radial-gradient(circle at 92% 9%, rgba(197, 214, 192, .16) 0 100px, transparent 101px),
    radial-gradient(circle at 5% 92%, rgba(195, 159, 123, .14) 0 135px, transparent 136px),
    #203d35;
}

.auth-aside::after {
  position: absolute;
  right: -62px;
  bottom: 54px;
  width: 175px;
  height: 175px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 50%;
  content: "";
}

.auth-wordmark,
.auth-mobile-wordmark {
  color: #fff;
  font-size: 18px;
  font-weight: 850;
  letter-spacing: -.045em;
}

.auth-wordmark i,
.auth-mobile-wordmark i { color: #c7d4c5; font-weight: 500; font-style: normal; }
.auth-aside-label { display: block; margin-top: 8px; color: #aebfb8; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.auth-aside-copy { position: relative; z-index: 1; margin: auto 0; padding: 60px 0; }
.auth-aside-copy > span { display: block; margin-bottom: 14px; color: #c6d5cc; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.auth-aside-copy h2 { max-width: 310px; margin: 0; color: #fffdfa; font-family: var(--serif); font-size: clamp(36px, 3.2vw, 49px); font-weight: 600; letter-spacing: -1.8px; line-height: .98; }
.auth-aside-copy p { max-width: 295px; margin: 20px 0 0; color: #c3cec9; font-size: 13px; line-height: 1.65; }
.auth-trust-list { position: relative; z-index: 1; display: grid; gap: 10px; }
.auth-trust-list span { display: flex; align-items: center; gap: 8px; color: #dce5df; font-size: 11px; font-weight: 650; }
.auth-trust-list .ui-icon { width: 15px; height: 15px; padding: 2px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; }

.auth-main {
  min-width: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 42px 54px 44px;
  scrollbar-width: thin;
  scrollbar-color: #c9c0b7 transparent;
}

.auth-main-head { padding-right: 34px; }
.auth-mobile-wordmark { display: none; color: #233f36; }
.auth-mobile-wordmark i { color: #819486; }
.auth-step-kicker { color: #7a6858; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.auth-main-head h2 { margin: 8px 0 0; color: #202522; font-family: var(--serif); font-size: clamp(34px, 4vw, 45px); font-weight: 600; letter-spacing: -1.4px; line-height: 1; }
.auth-main-head p { margin: 10px 0 0; color: #665f59; font-size: 13px; line-height: 1.55; }

.auth-shell-modal .auth-mode-tabs {
  width: fit-content;
  min-width: 276px;
  margin-top: 25px;
  padding: 4px;
  border: 1px solid #e2ddd6;
  border-radius: 10px;
  background: #f3f0ec;
}

.auth-shell-modal .auth-mode-tabs button {
  min-height: 38px;
  padding: 0 19px;
  border-radius: 7px;
  color: #6f6963;
  cursor: pointer;
}

.auth-shell-modal .auth-mode-tabs button.active {
  color: #fff;
  background: #253e36;
  box-shadow: 0 4px 12px rgba(37, 62, 54, .2);
}

.auth-method-block { margin-top: 22px; }
.auth-method-label { display: block; margin-bottom: 8px; color: #514d49; font-size: 11px; font-weight: 800; }
.auth-shell-modal .auth-method-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.auth-shell-modal .auth-method-tabs button {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid #ded8d1;
  border-radius: 8px;
  color: #615c56;
  background: #fff;
  cursor: pointer;
}

.auth-shell-modal .auth-method-tabs button.active {
  color: #28483e;
  border-color: #779282;
  background: #f0f5f1;
  box-shadow: inset 0 0 0 1px #779282;
}

.auth-method-icon { min-width: 21px; color: #577267; font-size: 13px; font-weight: 900; letter-spacing: 1px; }
.auth-method-mail { position: relative; width: 19px; height: 14px; border: 1.5px solid currentColor; border-radius: 3px; }
.auth-method-mail::after { position: absolute; inset: 2px 3px auto; height: 7px; border-bottom: 1.5px solid currentColor; content: ""; transform: rotate(35deg) skewX(-19deg); }

.auth-form { display: grid; gap: 17px; margin-top: 22px !important; }
.auth-form .field { gap: 8px; }
.auth-form .field label { color: #383b38; font-size: 11px; }
.auth-form .field input {
  min-height: 48px;
  padding: 0 14px;
  border-color: #d9d4cd;
  border-radius: 8px;
  color: #262a27;
  background: #fff;
  font-size: 13px;
}
.auth-form .field input::placeholder { color: #9b9690; }
.auth-form .field input:focus { border-color: #688879; box-shadow: 0 0 0 4px rgba(85, 124, 105, .12); }
.auth-input-wrap { position: relative; }
.auth-input-wrap input { padding-right: 74px !important; }
.auth-input-wrap > button {
  position: absolute;
  top: 50%;
  right: 8px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px;
  border: 0;
  color: #596b62;
  background: transparent;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  transform: translateY(-50%);
}
.auth-input-wrap > button:focus-visible { outline: 2px solid #789989; outline-offset: 1px; border-radius: 4px; }
.auth-eye { position: relative; width: 15px; height: 10px; border: 1.5px solid currentColor; border-radius: 50% 50%; }
.auth-eye::after { position: absolute; top: 50%; left: 50%; width: 3px; height: 3px; border-radius: 50%; background: currentColor; content: ""; transform: translate(-50%, -50%); }
.auth-magic-note { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid #dce5de; border-radius: 9px; background: #f3f7f4; }
.auth-magic-icon { display: grid; flex: 0 0 30px; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #fff; background: #416759; font-size: 14px; }
.auth-magic-note b { display: block; color: #33463e; font-size: 12px; }
.auth-magic-note p { margin: 3px 0 0; color: #637169; font-size: 11px; line-height: 1.45; }
.auth-submit.button {
  width: 100%;
  min-height: 49px;
  justify-content: space-between;
  margin-top: 2px;
  padding: 0 17px;
  border-color: #24483e;
  border-radius: 8px;
  background: #24483e;
  font-size: 12px;
  box-shadow: 0 8px 18px rgba(36, 72, 62, .16);
}
.auth-submit.button:hover { border-color: #18392f; background: #18392f; transform: translateY(-1px); }
.auth-switch-copy,
.auth-legal-note { margin: -2px 0 0; color: #77716b; text-align: center; font-size: 10px; line-height: 1.5; }
.auth-switch-copy button,
.auth-create-heading button { padding: 0; border: 0; color: #315e4e; background: transparent; font: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

.auth-role-selection { margin-top: 20px; }
.auth-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; width: 100%; margin: 0 0 20px; }
.auth-progress span { height: 3px; border-radius: 99px; background: #e4dfd8; }
.auth-progress span.complete { background: #9eb1a5; }
.auth-progress span.active { background: #315d4e; }
.auth-role-pills { align-items: stretch; gap: 12px; margin: 0; }
.auth-role-pill {
  display: flex;
  min-height: 290px;
  align-items: stretch;
  flex-direction: column;
  gap: 0;
  padding: 20px;
  border: 1px solid #ddd7d0;
  border-radius: 14px;
  color: #272b28;
  background: #fff;
  box-shadow: 0 3px 10px rgba(35, 31, 27, .035);
}
.auth-role-pill-builder { border-color: #d4ddd6; background: #f8faf7; }
.auth-role-pill:hover { border-color: #718f80; box-shadow: 0 12px 28px rgba(37, 63, 54, .1); transform: translateY(-3px); }
.auth-role-pill-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.auth-role-pill-icon { width: 42px; height: 42px; border-radius: 10px; color: #2d5849; background: #e9f0eb; }
.auth-role-pill-icon .ui-icon { width: 22px; height: 22px; }
.auth-role-tag { padding: 5px 7px; border-radius: 99px; color: #745f4e; background: #f3ece5; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.auth-role-pill-builder .auth-role-tag { color: #426050; background: #e6eee8; }
.auth-role-pill-copy { display: block; margin-top: 20px; }
.auth-role-pill-copy b { color: #272b28; font-family: var(--serif); font-size: 24px; font-weight: 600; letter-spacing: -.65px; }
.auth-role-pill-copy small { display: block; min-height: 67px; margin-top: 7px; color: #68645f; font-size: 11px; line-height: 1.5; }
.auth-role-points { display: grid; gap: 5px; margin: 13px 0 18px; color: #52615a; font-size: 9px; font-weight: 700; }
.auth-role-points span::before { margin-right: 6px; color: #507563; content: "✓"; }
.auth-role-pill-cta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 13px; border-top: 1px solid #e5e0d9; color: #294e42; font-size: 10px; font-weight: 850; }
.auth-role-pill-cta i { font-size: 17px; font-style: normal; transition: transform .18s ease; }
.auth-role-pill:hover .auth-role-pill-cta i { transform: translateX(3px); }
.auth-role-help { margin: 15px 0 0; color: #76716b; text-align: center; font-size: 10px; }

.auth-create-form { margin-top: 18px !important; }
.auth-create-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.auth-create-heading h3 { margin: 5px 0 0; color: #252925; font-size: 17px; letter-spacing: -.35px; }
.auth-create-heading button { flex: 0 0 auto; font-size: 10px; }
.auth-create-form .auth-progress { margin: -4px 0 1px; }
.auth-create-form .auth-method-block { margin-top: 0; }
.auth-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.auth-password-hint { margin: -7px 0 0; color: #746f69; font-size: 9px; line-height: 1.45; }

.auth-agreement-modal {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(430px, 1.2fr);
  width: min(820px, 100%);
  max-height: min(700px, calc(100vh - 48px));
  overflow: hidden;
  border: 0;
  border-radius: 20px;
  background: #fffefd;
}
.agreement-hero { padding: 38px 34px; color: #fff; background: #263e36; }
.auth-back-link { display: inline-flex; align-items: center; gap: 7px; padding: 0; border: 0; color: #d4dfd8; background: transparent; font: inherit; font-size: 11px; font-weight: 750; cursor: pointer; }
.agreement-hero .auth-step-kicker { margin-top: 78px; color: #b9c9c1; }
.agreement-hero h2 { margin: 12px 0 0; color: #fff; font-family: var(--serif); font-size: 39px; font-weight: 600; letter-spacing: -1.2px; line-height: 1; }
.agreement-hero p { margin: 18px 0 0; color: #c5d0cb; font-size: 12px; line-height: 1.6; }
.agreement-hero .auth-progress { margin-top: 58px; margin-bottom: 0; }
.agreement-hero .auth-progress span { background: rgba(255,255,255,.18); }
.agreement-hero .auth-progress span.complete { background: #a9c0b2; }
.agreement-hero .auth-progress span.active { background: #fff; }
.agreement-content { display: grid; align-content: center; gap: 18px; overflow-y: auto; padding: 42px; }
.agreement-role-chip { display: inline-flex; width: fit-content; align-items: center; gap: 9px; padding: 7px 10px 7px 8px; border: 1px solid #dce4de; border-radius: 9px; background: #f5f8f5; }
.agreement-role-chip .ui-icon { width: 24px; height: 24px; padding: 4px; color: #355b4d; border-radius: 6px; background: #e5eee8; }
.agreement-role-chip small,
.agreement-role-chip b { display: block; }
.agreement-role-chip small { color: #7a817c; font-size: 8px; font-weight: 750; text-transform: uppercase; }
.agreement-role-chip b { margin-top: 1px; color: #314239; font-size: 11px; }
.agreement-copy h3 { margin: 0; color: #272b28; font-family: var(--serif); font-size: 25px; font-weight: 600; letter-spacing: -.6px; }
.agreement-copy p { margin: 7px 0 0; color: #6f6963; font-size: 11px; line-height: 1.5; }
.auth-agreement-modal .agreement-document-card { grid-template-columns: auto minmax(0, 1fr) auto; padding: 14px; border-color: #ded8d0; border-radius: 10px; background: #fbfaf8; }
.auth-agreement-modal .agreement-document-card .button { white-space: nowrap; }
.auth-agreement-modal .agreement-confirmation { margin: 0; padding: 14px; border-color: #d9dfda; border-radius: 9px; background: #fff; }
.auth-agreement-modal .agreement-confirmation > span { display: grid; gap: 3px; }
.auth-agreement-modal .agreement-confirmation b { color: #313a35; font-size: 11px; }
.auth-agreement-modal .agreement-confirmation small { color: #76716b; font-size: 9px; line-height: 1.45; }
.auth-agreement-modal .auth-submit { margin-top: 0; }

@media (max-width: 820px) {
  .auth-shell-modal { grid-template-columns: minmax(245px, .7fr) minmax(430px, 1.3fr); }
  .auth-aside { padding: 32px 28px; }
  .auth-main { padding: 38px 36px; }
}

@media (max-width: 720px) {
  .auth-scrim { align-items: center; padding: 12px; }
  .auth-shell-modal,
  .auth-agreement-modal { display: block; width: calc(100vw - 24px); max-width: 560px; max-height: calc(100dvh - 24px); overflow-y: auto; border-radius: 16px; }
  .auth-aside,
  .agreement-hero { display: none; }
  .auth-main { overflow: visible; padding: 29px 24px 30px; }
  .auth-main-head { padding: 24px 34px 0 0; }
  .auth-mobile-wordmark { display: block; margin-bottom: 24px; }
  .auth-main-head h2 { font-size: 36px; }
  .auth-close { top: 14px; right: 14px; }
  .auth-role-pills { grid-template-columns: 1fr; }
  .auth-role-pill { min-height: 0; padding: 18px; }
  .auth-role-pill-copy small { min-height: 0; }
  .agreement-content { overflow: visible; padding: 66px 24px 28px; }
  .auth-agreement-modal .auth-close { display: grid; }
  .auth-back-link { display: none; }
}

@media (max-width: 520px) {
  .auth-shell-modal .auth-mode-tabs { width: 100%; min-width: 0; }
  .auth-shell-modal .auth-mode-tabs button { padding: 0 10px; }
  .auth-shell-modal .auth-method-tabs { grid-template-columns: 1fr; }
  .auth-field-grid { grid-template-columns: 1fr; }
  .auth-role-pill-copy b { font-size: 22px; }
  .auth-role-points { display: none; }
  .auth-agreement-modal .agreement-document-card { grid-template-columns: auto minmax(0, 1fr); }
  .auth-agreement-modal .agreement-document-card .button { grid-column: 1 / -1; width: 100%; }
}

/* Richer site palette: warmer surfaces and stronger contrast. */
body,
.showcase-shell,
.showcase-home,
.ds-hero,
.showcase-about,
.showcase-contact,
.showcase-closing,
.showcase-projects { background: #e6ddd1; }

.showcase-proof { background: #ddd1c2; }
.showcase-summary,
.showcase-process { background: #f5eee5; }

.showcase-proof,
.showcase-proof-inner > div,
.showcase-proof-inner > p,
.showcase-about-intro,
.showcase-about-values,
.showcase-about-values article,
.showcase-contact-inner,
.showcase-contact-details,
.showcase-contact-link { border-color: #baad9d; }

.showcase-marketplace-label span:first-child,
.ds-hero-copy h1,
.showcase-proof-inner b,
.showcase-summary-grid h2,
.showcase-section-heading h2,
.showcase-process-list h3,
.showcase-about,
.showcase-about-intro h2,
.showcase-about-copy .showcase-about-lead,
.showcase-about-values h3,
.showcase-contact-copy h2,
.showcase-contact-link { color: #141b18; }

.ds-hero-intro,
.showcase-proof-inner > p,
.showcase-summary-grid > div > p,
.showcase-about-copy p,
.showcase-contact-copy > p:last-child { color: #465049; }

.ds-eyebrow,
.showcase-summary-grid > p,
.showcase-section-heading > p,
.showcase-about-label,
.showcase-about-values-head > p,
.showcase-contact-label,
.showcase-contact-link > span { color: #705843; }

.workspace-shell,
.dashboard-app { background: #e2d9cc; }

.auth-main,
.agreement-content { background: #f8f3eb; }

.auth-shell-modal,
.auth-agreement-modal,
.auth-role-pill,
.auth-form .field input,
.auth-agreement-modal .agreement-confirmation { background-color: #fbf7f1; }

.auth-main-head p,
.auth-role-pill-copy small,
.auth-form .field input::placeholder,
.agreement-copy p { color: #545c57; }

/* Builder and homeowner workspaces: compact, consistent application surfaces. */
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .workspace-main { max-width: 1440px; padding-top: 24px; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .dashboard-intro { margin-bottom: 20px; padding: 0; border: 0; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .dashboard-intro h1 { margin: 0; font-size: clamp(24px, 2.6vw, 30px); line-height: 1.2; font-weight: 700; letter-spacing: -.035em; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .dashboard-intro .eyebrow { margin-bottom: 7px; font-size: 11px; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .dashboard-intro p { margin-top: 7px; font-size: 14px; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) :is(.card, .dashboard-project-hero, .homeowner-project-switcher, .editorial-journey, .builder-metrics article) { border-radius: 10px; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) :is(.button, .dashboard-quick-action, .workspace-tab) { min-height: 40px; font-weight: 600; border-radius: 7px; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) :is(button, summary, select):focus-visible { outline: 3px solid #538b72; outline-offset: 3px; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .workspace-tabs { gap: 4px; padding: 4px; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .workspace-tab { font-size: 13px; white-space: nowrap; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) :is(.section-card-head h3, .opportunity-card h3, .profile-top h3) { font-size: 18px; font-weight: 650; line-height: 1.35; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) :is(.section-card-head p, .opp-main p, .profile-top p, .project-checkin-copy p, .project-checkins-empty, .builder-profile-details p) { font-size: 14px !important; line-height: 1.55; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) :is(.quote-card-price strong, .match-score, .builder-metrics b, .opp-meta) { font-variant-numeric: tabular-nums; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .quote-card { grid-template-columns: 44px minmax(0, 1fr) minmax(110px, auto); gap: 16px; align-items: start; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .quote-card-price strong { font-size: 23px; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .quote-actions { flex-wrap: wrap; gap: 8px; }
.dashboard-role-homeowner .dashboard-project-hero { margin: 16px 0; padding: 20px 24px; gap: 18px; }
.dashboard-role-homeowner .dashboard-project-copy h2 { margin: 6px 0; font-size: 24px; font-weight: 700; line-height: 1.25; letter-spacing: -.025em; }
.dashboard-role-homeowner .dashboard-project-status { flex-wrap: wrap; gap: 8px; font-size: 12px; letter-spacing: .02em; }
.dashboard-role-homeowner .dashboard-project-facts { padding-top: 14px; }
.dashboard-role-homeowner .dashboard-project-facts > div { min-width: 0; padding-right: 22px; margin-right: 22px; }
.dashboard-role-homeowner .dashboard-project-facts b { font-size: 20px; }
.dashboard-role-homeowner .workspace-main > .next-action { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 24px; margin: 0 0 20px; padding: 20px 24px; border: 0; }
.dashboard-role-homeowner .workspace-main > .next-action :is(.micro-label, h3, p, small) { grid-column: 1; margin: 0; }
.dashboard-role-homeowner .workspace-main > .next-action h3 { font-size: 19px; line-height: 1.35; }
.dashboard-role-homeowner .workspace-main > .next-action .micro-label { font-size: 11px; }
.dashboard-role-homeowner .workspace-main > .next-action p { font-size: 14px; line-height: 1.5; }
.dashboard-role-homeowner .workspace-main > .next-action .button { grid-column: 2; grid-row: 1 / 5; align-self: center; margin: 0; }
.dashboard-role-homeowner .dashboard-empty-project { max-width: 680px; margin: 48px auto; padding: 48px 28px; }
.dashboard-role-homeowner .dashboard-empty-project p { max-width: 440px; margin: 12px auto 0; line-height: 1.6; }
.dashboard-role-builder .builder-section-nav { display: flex; gap: 8px; margin-top: 20px; padding-bottom: 12px; border-bottom: 1px solid #ded6cd; overflow-x: auto; }
.dashboard-role-builder .dashboard-grid-builder { grid-template-columns: minmax(0, 1fr) 280px; gap: 24px; margin-top: 20px; }
.dashboard-role-builder .builder-metrics { gap: 12px; }
.dashboard-role-builder .builder-metrics article { padding: 16px 18px; }
.dashboard-role-builder .opportunity-card { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 24px; padding: 22px; }
.dashboard-role-builder .opp-side { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; text-align: right; min-width: 0; padding-left: 20px; border-left: 1px solid #e8e0d7; }
.dashboard-role-builder .opp-side > .quote-actions { justify-content: flex-end; }
.dashboard-role-builder .opp-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; font-size: 13px; }
.dashboard-role-builder .opp-meta span { min-width: 0; overflow-wrap: anywhere; }
.dashboard-role-builder .opportunity-alert-note { padding: 16px; }
.dashboard-role-builder .builder-profile-details { border: 1px solid #ded6cd; border-radius: 10px; background: #fffefd; }
.dashboard-role-builder .builder-profile-details summary { padding: 16px; font-size: 13px; font-weight: 600; cursor: pointer; }
.dashboard-role-builder .builder-profile-details[open] summary { border-bottom: 1px solid #e8e0d7; }
.dashboard-role-builder .builder-profile-details > .side-stack { padding: 16px; }
.dashboard-role-builder .builder-profile-details .card { padding: 0; border: 0; }
@media (max-width: 1100px) {
  .dashboard-role-builder .dashboard-grid-builder { grid-template-columns: minmax(0, 1fr); }
  .dashboard-role-builder .dashboard-grid-builder > aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}
@media (max-width: 700px) {
  .dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .workspace-main { padding-top: 20px; }
  .dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .dashboard-quick-action { display: inline-flex; width: auto; flex: 0 1 auto; gap: 6px; padding: 8px 10px; font-size: 12px; }
  .dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .dashboard-user { display: none; }
  .dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .quote-card { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; }
  .dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .quote-card-price { grid-column: 2; grid-row: auto; padding: 0; border: 0; text-align: left; }
  .dashboard-role-homeowner .dashboard-project-hero { padding: 18px; }
  .dashboard-role-homeowner .workspace-main > .next-action { grid-template-columns: minmax(0, 1fr); padding: 18px; }
  .dashboard-role-homeowner .workspace-main > .next-action .button { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 10px; }
  .dashboard-role-homeowner .dashboard-project-facts { flex-wrap: wrap; gap: 12px; }
  .dashboard-role-builder .opportunity-card { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 18px; }
  .dashboard-role-builder .opp-side { align-items: flex-start; text-align: left; padding: 16px 0 0; border-left: 0; border-top: 1px solid #e8e0d7; }
  .dashboard-role-builder .dashboard-grid-builder > aside { grid-template-columns: minmax(0, 1fr); }
  .dashboard-role-builder .builder-workspace-actions { width: 100%; }
  .dashboard-role-builder .builder-profile-switch { width: 100%; }
}

.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .dashboard-bell { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 7px; width: auto; height: 40px; padding: 0 12px; border: 1px solid #ded6cd; border-radius: 7px; font-size: 13px; font-weight: 600; color: var(--dashboard-ink); background: #fffefd; }
.dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .dashboard-bell-count { position: static; margin: 0; }
@media (max-width: 620px) {
  .dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .dashboard-message-label { display: none; }
  .dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .dashboard-bell { position: relative; width: 40px; padding: 0; }
  .dashboard-app:is(.dashboard-role-homeowner, .dashboard-role-builder) .dashboard-bell-count { position: absolute; top: -5px; right: -5px; }
}

.dashboard-role-homeowner .workspace-main > .next-action small { color: #f0e5db; }
