:root {
  --bg:#f8f5ee;
  --bg-alt:#f1eadf;
  --surface:#fffdf8;
  --surface-strong:#ffffff;
  --ink:#171914;
  --muted:#656b60;
  --line:#ded6c8;
  --accent:#8a5228;
  --accent-dark:#714523;
  --sage:#617365;
  --sage-soft:#e8eee6;
  --danger:#a33c32;
  --shadow:0 16px 46px rgba(43,35,24,.08);
  --max:1280px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:0;
}
button, input, select, textarea { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
.app-shell { min-height:100vh; }
.nav {
  position:sticky;
  top:0;
  z-index:50;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px clamp(18px,4vw,56px);
  background:rgba(248,245,238,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px);
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:21px;
  font-weight:850;
  white-space:nowrap;
  text-decoration:none;
}
.brand-mark {
  width:34px;
  height:34px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--accent-dark);
  color:#fff;
}
.brand-mark svg { width:19px; height:19px; }
.nav-actions { display:flex; align-items:center; gap:10px; }
.page { min-height:calc(100vh - 72px); }
.section {
  padding:clamp(34px,5vw,58px) clamp(18px,4vw,56px);
  border-top:1px solid rgba(222,214,200,.72);
}
.section:first-child { border-top:0; }
.section-inner { width:min(100%, var(--max)); margin:0 auto; }
.band-light { background:var(--bg); }
.band-white { background:#fffdf8; }
.band-sand { background:var(--bg-alt); }
.band-muted { background:#f5efe5; }
.section-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}
.section-head.center { display:block; text-align:center; }
.section-head h1,
.section-head h2 {
  margin:0;
  font-size:clamp(30px,3.6vw,48px);
  line-height:1.04;
  letter-spacing:0;
}
.section-head h2 { font-size:clamp(26px,3vw,36px); }
.section-head p, .lead {
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.5;
  font-size:17px;
  max-width:760px;
}
.lead.center { margin-left:auto; margin-right:auto; text-align:center; }
.btn, .text-btn {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:7px;
  padding:10px 16px;
  border:1px solid transparent;
  text-decoration:none;
  font-weight:820;
  line-height:1.18;
  cursor:pointer;
}
.btn.primary { background:var(--accent-dark); color:#fff; box-shadow:0 12px 26px rgba(113,69,35,.18); }
.btn.secondary { background:var(--surface); color:var(--accent-dark); border-color:var(--line); }
.btn.ghost { background:transparent; color:var(--muted); border-color:transparent; }
.btn.small { min-height:36px; padding:8px 12px; font-size:13px; }
.text-btn {
  padding:6px 0;
  min-height:0;
  color:var(--accent-dark);
  background:transparent;
  border:0;
  text-decoration:underline;
  text-underline-offset:4px;
}
.btn:disabled { opacity:.55; cursor:not-allowed; box-shadow:none; }
.actions-row { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.hero {
  padding:clamp(34px,5vw,62px) clamp(18px,4vw,56px);
  background:var(--bg);
}
.hero-grid {
  width:min(100%, var(--max));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(360px,.78fr);
  gap:clamp(28px,5vw,58px);
  align-items:start;
}
.hero h1 {
  margin:0;
  font-size:clamp(40px,4.5vw,62px);
  line-height:1.02;
  letter-spacing:0;
  max-width:780px;
}
.hero-copy {
  max-width:720px;
  margin:14px 0 0;
  color:var(--muted);
  font-size:clamp(16px,1.25vw,19px);
  line-height:1.42;
}
.hero-actions { margin-top:24px; display:flex; flex-wrap:wrap; gap:12px; }
.hero-actions .btn { min-width:210px; }
.package-card {
  background:var(--surface-strong);
  border:1px solid var(--line);
  border-radius:12px;
  padding:22px;
  box-shadow:var(--shadow);
}
.package-card h2 { margin:0 0 14px; font-size:24px; }
.package-list { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.package-list li {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:34px;
  color:#30342d;
}
.check {
  width:22px;
  height:22px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:var(--sage-soft);
  color:var(--sage);
  font-weight:900;
}
.quote-note {
  margin:16px 0 0;
  padding:12px;
  border-radius:8px;
  background:#fff5e6;
  color:var(--accent-dark);
  font-weight:820;
}
.trust-strip {
  padding:20px clamp(18px,4vw,56px);
  background:rgba(239,233,223,.7);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.trust-inner {
  width:min(100%, var(--max));
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:16px;
}
.trust-icon, .get-icon {
  width:40px;
  height:40px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:#e8e0d3;
  color:var(--accent-dark);
  font-weight:900;
}
.trust-inner p { margin:0; color:var(--muted); line-height:1.45; }
.trust-inner b { color:var(--ink); }
.start-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.start-card, .get-card, .case-card, .panel, .info-card, .concept-card, .quote-card, .upload-card, .lead-card {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:10px;
  box-shadow:var(--shadow);
}
.start-card {
  min-height:184px;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.start-card h3 { margin:0; font-size:18px; }
.start-card p { margin:0; color:var(--muted); line-height:1.42; flex:1; }
.get-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.get-card {
  min-height:150px;
  padding:18px 14px;
  text-align:center;
  display:grid;
  align-content:start;
  justify-items:center;
}
.get-icon { width:38px; height:38px; }
.get-card h3 { min-height:38px; margin:10px 0 4px; font-size:15px; display:flex; align-items:center; }
.get-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.35; }
.final-cta { text-align:center; }
.final-cta .actions-row { justify-content:center; margin-top:18px; }
.filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.chip {
  border:1px solid var(--line);
  background:#fffdf8;
  color:var(--muted);
  border-radius:999px;
  padding:9px 13px;
  font-weight:760;
  cursor:pointer;
}
.chip.active, .chip.selected { background:var(--sage); border-color:var(--sage); color:#fff; }
.case-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.case-card {
  height:660px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.case-top {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  column-gap:10px;
  row-gap:7px;
  height:76px;
  min-height:76px;
  overflow:hidden;
}
.case-top > div:first-child { display:contents; }
.case-top h3 { grid-column:1; grid-row:1; min-width:0; }
.case-top .tag-row { grid-column:1 / -1; grid-row:2; }
.case-top .range { grid-column:2; grid-row:1; justify-self:end; }
.case-top h3 { margin:0 0 7px; font-size:18px; }
.range { color:var(--accent-dark); font-weight:880; font-size:13px; white-space:nowrap; }
.tag-row { display:flex; flex-wrap:nowrap; gap:4px; align-items:center; min-height:22px; overflow:hidden; }
.tag {
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  flex:0 0 auto;
  min-height:18px;
  padding:3px 5px;
  border-radius:6px;
  background:#eee7dc;
  color:#6c5a46;
  font-size:9px;
  font-weight:820;
}
.visual {
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.visual:after {
  content:"›";
  position:absolute;
  left:50%;
  top:50%;
  width:30px;
  height:30px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 8px 18px rgba(43,35,24,.15);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--accent-dark);
  font-size:24px;
  font-weight:900;
  line-height:1;
}
.mock-room {
  position:relative;
  min-height:150px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:8px;
  overflow:hidden;
  background:linear-gradient(180deg,#e9e2d8 0 58%,#d4c4b0 58%);
}
.mock-room:before {
  content:"";
  position:absolute;
  left:38%;
  top:16%;
  width:26%;
  height:32%;
  border:3px solid #59675d;
  background:#f9f7f1;
  box-shadow:-42px 48px 0 -18px #b9aa98, 52px 50px 0 -20px #cfc0ae;
}
.mock-room:after {
  content:"";
  position:absolute;
  left:9%;
  right:9%;
  bottom:14%;
  height:28%;
  border-radius:5px;
  background:linear-gradient(90deg,#b8a58f 0 48%,#d7c9b6 48% 52%,#c4b49f 52%);
}
.mock-room.after { background:linear-gradient(180deg,#f2e7d8 0 58%,#dec8a7 58%); }
.mock-room.after:before {
  left:34%;
  border-color:#52645a;
  box-shadow:-52px 43px 0 -18px #d8c3a2, 60px 42px 0 -18px #b89168, 92px 12px 0 -22px #efe7dc;
}
.mock-room.after:after {
  left:10%;
  right:38%;
  background:#b99b78;
  box-shadow:88px -18px 0 0 #d8c5a9, 124px -50px 0 0 #b8946d, 176px -8px 0 -8px #f4eadc;
}
.mock-room small {
  position:absolute;
  z-index:3;
  left:8px;
  top:8px;
  padding:5px 8px;
  border-radius:6px;
  background:rgba(30,33,28,.78);
  color:white;
  font-size:11px;
  font-weight:900;
}
.case-photo {
  position:relative;
  height:176px;
  min-height:176px;
  margin:0;
  border:1px solid rgba(0,0,0,.08);
  border-radius:8px;
  overflow:hidden;
  background:#e8dfd1;
}
.case-photo img {
  width:100%;
  height:100%;
  min-height:176px;
  display:block;
  object-fit:cover;
}
.case-photo figcaption {
  position:absolute;
  left:8px;
  top:8px;
  padding:5px 8px;
  border-radius:6px;
  background:rgba(30,33,28,.78);
  color:white;
  font-size:11px;
  font-weight:900;
}
.image-pair.large .case-photo { min-height:260px; }
.image-pair.large .case-photo img { min-height:260px; }
.sample-image-block { margin-top:4px; }
.case-brief {
  display:grid;
  gap:8px;
  color:var(--muted);
  font-size:13px;
  line-height:1.38;
  flex:1;
}
.case-brief p { margin:0; }
.case-brief b { color:var(--ink); }
.case-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:auto; }
.sample-layout, .workflow-layout, .admin-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
}
.sample-actions { margin-top:18px; }
.card-stack { display:grid; gap:14px; }
.info-card { padding:18px; }
.info-card h3 { margin:0 0 10px; font-size:19px; }
.info-card p, .info-card li { color:var(--muted); line-height:1.5; }
.info-card p { margin:0; overflow-wrap:anywhere; }
.summary-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.summary-grid.one-column { grid-template-columns:1fr; }
.summary-grid .info-card { min-height:112px; }
.budget-guidance-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:14px; }
.budget-guidance-grid strong { display:block; margin:2px 0 9px; color:var(--accent-dark); font-size:18px; }
.full-row-fields { margin-top:12px; }
.concept-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:stretch; }
.concept-card { padding:16px; display:flex; flex-direction:column; gap:10px; min-height:360px; }
.concept-card.selected { border-color:var(--accent); box-shadow:0 0 0 2px rgba(138,82,40,.14), var(--shadow); }
.concept-card h3 { margin:0; font-size:21px; }
.concept-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.42; }
.concept-card b { color:var(--ink); }
.concept-card .btn { margin-top:auto; }
.quote-concepts { margin-bottom:16px; align-items:stretch; }
.quote-concepts .concept-card { height:100%; }
.compact-head { margin-bottom:10px; }
.compact-head h3 { margin:0 0 4px; font-size:18px; }
.compact-head p { margin:0; color:var(--muted); }
.quote-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.quote-card { padding:16px; min-height:132px; }
.quote-card.recommended { border-color:var(--accent); background:#fff8ed; }
.quote-card.benchmark-card {
  background:#fbfaf6;
  box-shadow:none;
}
.quote-card.benchmark-card strong { font-size:18px; color:var(--muted); }
.quote-card.confidence-card p { font-size:13px; }
.quote-card h3 { margin:0 0 8px; }
.quote-card strong { color:var(--accent-dark); font-size:22px; }
.estimate-grid, .estimate-summary {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.estimate-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.estimate-empty {
  min-height:128px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed var(--line);
  border-radius:8px;
  background:#fbfaf6;
  color:var(--muted);
  text-align:center;
  padding:16px;
}
.selected-ai-image { margin:0; }
.selected-ai-image img {
  width:100%;
  max-height:220px;
  object-fit:cover;
  border:1px solid var(--line);
  border-radius:8px;
  background:#eee8df;
}
.selected-ai-image figcaption { margin-top:6px; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.selected-ai-summary {
  display:grid;
  grid-template-columns:minmax(160px,.5fr) minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.selected-ai-meta { display:grid; gap:6px; }
.selected-ai-meta p { margin:0; }
.image-empty {
  display:grid;
  gap:8px;
  justify-items:center;
}
.image-empty h3 { margin:0; }
.scope-editor { display:grid; gap:12px; margin-bottom:14px; }
.scope-row {
  border:1px solid var(--line);
  border-radius:10px;
  background:#fffdf8;
  padding:12px;
}
.project-dashboard { display:grid; gap:14px; }
.project-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.wide-metric { grid-column:span 2; }
.empty-state, .room-type-selector {
  border:1px dashed var(--line);
  border-radius:8px;
  background:#fbfaf6;
  padding:18px;
}
.empty-state h3, .room-type-selector h3 { margin:0 0 8px; font-size:22px; }
.empty-state p { margin:0; color:var(--muted); line-height:1.5; max-width:720px; }
.room-type-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.room-list { display:grid; gap:12px; }
.room-card {
  border:1px solid var(--line);
  border-radius:8px;
  background:#fffdf8;
  padding:14px;
}
.room-card.active { border-color:var(--sage); background:#fbfff9; }
.room-card-main { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.room-card h3 { margin:0 0 4px; font-size:19px; }
.room-card p { margin:0; color:var(--muted); }
.room-card-meta {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
  color:var(--muted);
  font-size:13px;
}
.missing-line {
  margin:8px 0 12px;
  padding:8px 10px;
  border-radius:7px;
  background:#fff8ed;
  color:var(--accent-dark);
  font-size:13px;
  font-weight:780;
}
.compact-actions { gap:8px; flex-wrap:wrap; margin-top:0 !important; }
.scope-row-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.scope-row-head h3 { margin:0 0 4px; font-size:18px; }
.scope-row-head p { margin:0; color:var(--muted); font-size:12px; }
.inline-check { display:flex; align-items:center; gap:8px; }
.inline-check input { width:auto; min-height:0; }
.scope-fields {
  display:grid;
  grid-template-columns:1.35fr .55fr .65fr .65fr .65fr .75fr .85fr .85fr;
  gap:10px;
  align-items:end;
}
.core-scope-fields { grid-template-columns:repeat(4,minmax(0,1fr)); }
.scope-details { grid-template-columns:1.2fr .7fr .7fr; margin-top:10px; }
.scope-readonly {
  min-height:44px;
  display:flex;
  align-items:center;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#f1ece3;
  color:var(--muted);
  line-height:1.35;
}
.estimate-from-length {
  min-height:44px;
  align-self:end;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
}
.scope-card-footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--line);
  color:var(--muted);
}
.scope-card-footer b { color:var(--accent-dark); }
.scope-notes { grid-column:1 / -1; }
.estimate-actions { margin:12px 0 16px; }
.itemized-list { display:grid; gap:10px; margin:14px 0; }
.compact-breakdown .estimate-line {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.compact-breakdown .estimate-line h3 { margin-bottom:4px; }
.compact-breakdown .estimate-line p { font-size:13px; }
.confirmation-note {
  grid-column:1 / -1;
  margin:0;
  color:var(--muted);
  font-size:12px;
}
.estimate-line strong { color:var(--accent-dark); display:block; margin-top:8px; }
.estimate-details-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.estimate-details {
  border:1px solid var(--line);
  border-radius:8px;
  background:#fbfaf6;
  padding:12px 14px;
}
.estimate-details summary {
  cursor:pointer;
  color:var(--ink);
  font-weight:850;
}
.estimate-details ul { margin:10px 0 0; padding-left:18px; color:var(--muted); }
.checklist { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.checklist li { display:flex; align-items:center; gap:8px; color:var(--muted); }
.checklist span { width:22px; height:22px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-weight:900; }
.checklist .ok span { background:#e6ece5; color:var(--sage); }
.checklist .warn span { background:#fff0d8; color:#9a5b22; }
.send-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.45fr); gap:16px; align-items:start; }
.package-preview { position:sticky; top:92px; }
.send-layout.quote-stack {
  grid-template-columns:1fr;
  gap:18px;
}
.send-layout.quote-stack .package-preview {
  position:static;
  width:100%;
}
.send-layout.quote-stack .quote-form-sections {
  width:100%;
  display:grid;
  gap:16px;
}
.quote-form-heading {
  align-items:center;
  margin:2px 0 0;
}
.quote-form-heading p {
  margin:0;
}
.room-mini-list { display:grid; gap:8px; margin:12px 0; }
.room-mini-list div { display:flex; justify-content:space-between; gap:10px; border-top:1px solid var(--line); padding-top:8px; }
.room-mini-list span { color:var(--muted); text-align:right; }
.prompt-box {
  white-space:pre-wrap;
  background:#20231e;
  color:#f7f1e8;
  border-radius:9px;
  padding:16px;
  line-height:1.55;
  min-height:160px;
  overflow:auto;
}
.workflow-header { margin-bottom:20px; }
.workflow-progress {
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:0;
  position:relative;
  margin:22px 0;
}
.workflow-progress:before {
  content:"";
  position:absolute;
  left:4%;
  right:4%;
  top:14px;
  height:1px;
  background:var(--line);
}
.progress-step {
  position:relative;
  z-index:1;
  display:grid;
  justify-items:center;
  gap:8px;
  border:0;
  background:transparent;
  color:var(--muted);
  font-size:11px;
  padding:0;
  cursor:pointer;
}
.progress-step span {
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  background:#eee8df;
  font-weight:900;
}
.progress-step.active { color:var(--ink); font-weight:850; }
.progress-step.active span { background:var(--sage); color:white; border-color:var(--sage); }
.work-split {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);
  gap:18px;
  align-items:start;
}
.work-split.workflow-full { grid-template-columns:minmax(0,1fr); }
.panel { padding:clamp(18px,2vw,26px); }
.panel h2 { margin:0 0 8px; font-size:28px; }
.panel > p { margin:0 0 22px; color:var(--muted); line-height:1.5; }
.form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.contact-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.contact-left-stack {
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:14px;
}
.contact-notes textarea {
  min-height:126px;
  height:126px;
  resize:vertical;
}
.field { display:grid; gap:7px; }
.field.full { grid-column:1 / -1; }
.field.invalid input, .field.invalid select, .field.invalid textarea, .upload-card.invalid {
  border-color:var(--danger);
  box-shadow:0 0 0 2px rgba(163,60,50,.08);
}
.field-helper {
  color:var(--danger);
  font-size:12px;
  font-weight:780;
  line-height:1.35;
}
label { color:#464a42; font-size:13px; font-weight:820; }
input, select, textarea {
  width:100%;
  min-height:44px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:var(--ink);
  padding:10px 12px;
}
textarea { min-height:96px; resize:vertical; }
input:focus, select:focus, textarea:focus { outline:2px solid rgba(97,115,101,.18); border-color:var(--sage); }
.contact-note, .hint {
  margin-top:14px;
  padding:11px 12px;
  border-radius:8px;
  background:#f1ece3;
  color:var(--muted);
  line-height:1.4;
}
.room-evidence-block {
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(222,214,200,.78);
}
.room-evidence-block h3 { margin:0 0 12px; font-size:22px; }
.upload-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.upload-card {
  position:relative;
  min-height:166px;
  padding:14px;
  display:flex;
  flex-direction:column;
  cursor:pointer;
  overflow:hidden;
}
.upload-card.has-files { border-color:#cbd9ca; background:#fbfff9; }
.upload-card input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.upload-card b { margin-bottom:6px; }
.upload-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.38; }
.upload-action, .replace-btn {
  position:relative;
  z-index:3;
  min-height:34px;
  margin-top:auto;
  width:100%;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:var(--accent-dark);
  font-weight:820;
  cursor:pointer;
}
.file-list { margin-top:10px; display:grid; gap:7px; font-size:12px; color:var(--muted); }
.file-row {
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:8px;
  min-width:0;
}
.file-row b, .file-row span { display:block; overflow-wrap:anywhere; }
.file-row button {
  border:0;
  background:transparent;
  color:var(--danger);
  font-size:12px;
  font-weight:850;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
.replace-btn { margin-top:8px; }
.thumb-row { display:flex; flex-wrap:nowrap; gap:6px; min-width:0; overflow:hidden; }
.thumb { width:50px; height:40px; object-fit:cover; border:1px solid var(--line); border-radius:5px; background:#e5ddcf; display:flex; align-items:center; justify-content:center; color:var(--accent-dark); font-size:11px; font-weight:900; }
.image-thumb { overflow:hidden; padding:0; }
.image-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.side-panel { display:grid; gap:12px; }
.side-panel .info-card { box-shadow:none; }
.metric-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.metric { border:1px solid var(--line); border-radius:8px; padding:10px; background:#fbfaf6; color:var(--muted); min-height:64px; }
.metric b { display:block; margin-top:3px; color:var(--ink); }
.step-actions {
  position:static;
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:20px 0 0;
  padding:16px 0 0;
  border-top:1px solid rgba(222,215,202,.72);
  background:transparent;
}
.step-actions .btn { min-width:150px; }
.prompt-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.prompt-grid { display:grid; grid-template-columns:minmax(0,.72fr) minmax(340px,.5fr); gap:16px; align-items:start; }
.how-it-works {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.how-it-works > div {
  border:1px solid var(--line);
  border-radius:9px;
  background:#fbfaf6;
  padding:12px;
}
.how-it-works b { color:var(--ink); }
.how-it-works p { margin:6px 0 0; color:var(--muted); font-size:13px; line-height:1.4; }
.nowrap-desktop { white-space:nowrap; max-width:none !important; }
.notice {
  padding:12px 14px;
  border:1px solid #d8c2a3;
  border-radius:8px;
  background:#fff8ed;
  color:var(--accent-dark);
  font-weight:780;
  line-height:1.4;
  margin-bottom:16px;
}
.validation-box {
  margin-top:14px;
  padding:12px 14px;
  border:1px solid rgba(163,60,50,.32);
  border-radius:8px;
  background:#fff5f2;
  color:var(--danger);
  line-height:1.4;
}
.validation-box p { margin:5px 0 0; color:var(--danger); font-size:13px; }
.success {
  border:1px solid #a9c4ad;
  background:#edf5ed;
  color:#294d32;
  border-radius:8px;
  padding:16px;
  line-height:1.5;
}
.success h3 { margin:0 0 8px; }
.success p { margin:0 0 6px; }
.email-status {
  margin-top:8px !important;
  font-weight:820;
}
.success-summary-grid .info-card h3 { font-size:16px; }
.success-summary-grid .info-card p { font-size:15px; }
.small-note {
  margin-top:8px !important;
  color:var(--accent-dark) !important;
  font-size:12px;
  font-weight:820;
}
.success-actions {
  display:grid;
  grid-template-columns:minmax(240px,.45fr) minmax(200px,.3fr);
  gap:10px;
  align-items:center;
  margin-top:14px;
}
.success-actions > .btn { width:100%; }
.support-actions {
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
}
.design-summary-card h3 { margin-bottom:12px; }
.design-summary-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  margin:0;
}
.design-summary-list div {
  padding-top:10px;
  border-top:1px solid var(--line);
}
.design-summary-list dt {
  color:var(--muted);
  font-size:12px;
  font-weight:850;
}
.design-summary-list dd {
  margin:4px 0 0;
  color:var(--ink);
  overflow-wrap:anywhere;
}
.technical-package-details pre { margin-top:12px; }
.technical-package-details:not([open]) pre { display:none; }
.admin-layout {
  grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);
  align-items:start;
}
.lead-list { display:grid; gap:10px; }
.lead-card { padding:12px; box-shadow:none; cursor:pointer; }
.lead-card.active { border-color:var(--accent); background:#fff8ed; }
.lead-card h3 { margin:0 0 5px; font-size:16px; }
.lead-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.35; }
.detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
pre {
  white-space:pre-wrap;
  overflow:auto;
  background:#20231e;
  color:#f7f1e8;
  border-radius:8px;
  padding:12px;
  font-size:12px;
}
.hide { display:none !important; }
.error { color:var(--danger); font-weight:820; margin-top:12px; min-height:22px; }

/* Premium visual polish pass: lightweight, token-driven, no heavy dependencies. */
:root {
  --bg:#f7f2e8;
  --bg-alt:#eee4d5;
  --surface:#fffdf7;
  --surface-strong:#fffefa;
  --ink:#171611;
  --muted:#68665c;
  --line:#dfd2be;
  --line-soft:rgba(223,210,190,.62);
  --accent:#865025;
  --accent-dark:#6f421f;
  --sage:#617466;
  --sage-soft:#e7eee6;
  --success:#4f7058;
  --warning:#a96a27;
  --danger:#a64a3d;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:18px;
  --space-section:clamp(38px,5.2vw,72px);
  --space-section-mobile:24px;
  --space-card:clamp(16px,1.8vw,24px);
  --shadow:0 18px 48px rgba(48,38,24,.08);
  --shadow-soft:0 10px 28px rgba(48,38,24,.06);
  --shadow-hover:0 24px 60px rgba(48,38,24,.13);
  --focus:0 0 0 4px rgba(97,116,102,.16);
}
body {
  background:
    radial-gradient(circle at 14% 2%, rgba(255,252,244,.96), rgba(255,252,244,0) 34rem),
    radial-gradient(circle at 88% 18%, rgba(235,222,202,.58), rgba(235,222,202,0) 30rem),
    linear-gradient(180deg,#fbf8f0 0%, var(--bg) 46%, #f4ecdf 100%);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.nav {
  min-height:76px;
  background:rgba(251,247,239,.86);
  border-bottom:1px solid rgba(223,210,190,.74);
  box-shadow:0 8px 30px rgba(48,38,24,.05);
}
.brand { font-size:22px; letter-spacing:0; }
.brand-mark { width:38px; height:38px; border-radius:10px; box-shadow:0 12px 26px rgba(111,66,31,.2); }
.section { padding:var(--space-section) clamp(20px,4vw,60px); border-top:1px solid var(--line-soft); }
.section-inner { width:min(100%, 1320px); }
.band-white, .band-light, .band-muted, .band-sand {
  background:linear-gradient(180deg, rgba(255,253,247,.76), rgba(255,253,247,.48));
}
.section-head { margin-bottom:24px; }
.section-head h1, .section-head h2 {
  color:var(--ink);
  line-height:1.02;
}
.section-head p, .lead { color:var(--muted); }
.btn, .text-btn, .chip, .upload-action, .replace-btn {
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}
.btn { min-height:46px; border-radius:var(--radius-sm); }
.btn.primary {
  background:linear-gradient(180deg,#8a5228,#6f421f);
  box-shadow:0 14px 32px rgba(111,66,31,.22);
}
.btn.secondary {
  background:rgba(255,253,247,.9);
  border-color:var(--line);
  box-shadow:0 8px 20px rgba(48,38,24,.04);
}
.btn:hover, .text-btn:hover, .chip:hover, .upload-action:hover, .replace-btn:hover {
  transform:translateY(-2px);
}
.btn.primary:hover { box-shadow:0 18px 40px rgba(111,66,31,.28); }
.btn.secondary:hover, .chip:hover, .upload-action:hover, .replace-btn:hover {
  border-color:#cdbb9f;
  box-shadow:var(--shadow-soft);
}
.btn:focus-visible, .text-btn:focus-visible, .chip:focus-visible, button:focus-visible, a:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline:none;
  box-shadow:var(--focus);
}
.btn:disabled { opacity:.58; background:#e8ded0; color:#8a8274; }
.copied { background:var(--success) !important; color:#fff !important; border-color:var(--success) !important; }
.hero {
  position:relative;
  overflow:hidden;
  padding-top:clamp(42px,5.5vw,76px);
  padding-bottom:clamp(34px,4.8vw,62px);
  background:
    radial-gradient(circle at 78% 18%, rgba(230,210,181,.5), transparent 28rem),
    linear-gradient(135deg,#fbf7ee 0%,#f3eadc 58%,#fbf8ef 100%);
}
.hero:before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.34),rgba(255,255,255,0) 42%);
}
.hero-grid { position:relative; z-index:1; align-items:center; }
.hero h1 { max-width:760px; font-size:clamp(44px,4.7vw,68px); }
.hero-copy { max-width:680px; color:#5f5d54; }
.package-card {
  position:relative;
  min-height:330px;
  padding:26px;
  border-radius:var(--radius-lg);
  background:rgba(255,253,247,.76);
  backdrop-filter:blur(10px);
  overflow:hidden;
}
.package-card:before {
  content:"";
  position:absolute;
  inset:16px 16px auto auto;
  width:120px;
  height:120px;
  border-radius:999px;
  background:rgba(97,116,102,.12);
}
.package-card h2 { position:relative; z-index:1; font-size:24px; }
.package-list {
  position:relative;
  min-height:210px;
}
.package-list li {
  position:absolute;
  left:0;
  right:clamp(0px,4vw,58px);
  min-height:54px;
  padding:13px 15px;
  border:1px solid rgba(223,210,190,.84);
  border-radius:var(--radius-md);
  background:rgba(255,254,250,.94);
  box-shadow:0 16px 36px rgba(48,38,24,.09);
}
.package-list li:nth-child(1) { top:0; transform:translateX(0); }
.package-list li:nth-child(2) { top:34px; transform:translateX(28px); }
.package-list li:nth-child(3) { top:68px; transform:translateX(56px); }
.package-list li:nth-child(4) { top:102px; transform:translateX(24px); }
.package-list li:nth-child(n+5) { display:none; }
.package-list li:hover { transform:translateY(-3px) translateX(var(--card-x,0)); box-shadow:var(--shadow-hover); }
.package-list li:nth-child(1):hover { --card-x:0; }
.package-list li:nth-child(2):hover { --card-x:28px; }
.package-list li:nth-child(3):hover { --card-x:56px; }
.package-list li:nth-child(4):hover { --card-x:24px; }
.check { background:var(--sage-soft); box-shadow:inset 0 0 0 1px rgba(97,116,102,.12); }
.quote-note {
  position:relative;
  z-index:1;
  border:1px solid #e5cfac;
  background:#fff7e8;
}
.start-card, .get-card, .case-card, .panel, .info-card, .concept-card, .quote-card, .upload-card, .lead-card, .room-card, .scope-row {
  border-color:rgba(223,210,190,.9);
  border-radius:var(--radius-md);
  background:rgba(255,253,247,.92);
  box-shadow:var(--shadow-soft);
}
.start-card, .get-card, .case-card, .concept-card, .quote-card, .upload-card, .room-card, .scope-row {
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
}
.start-card:hover, .get-card:hover, .case-card:hover, .concept-card:hover, .quote-card:hover, .upload-card:hover, .room-card:hover, .scope-row:hover {
  transform:translateY(-3px);
  box-shadow:var(--shadow-hover);
  border-color:#d2bfa3;
}
.start-card {
  min-height:176px;
  padding:var(--space-card);
}
.start-card h3:after, .get-card h3:after {
  content:"";
  display:block;
  width:36px;
  height:2px;
  margin-top:10px;
  background:#c6ad88;
}
.get-card {
  min-height:168px;
  padding:22px 16px;
}
.get-icon {
  width:44px;
  height:44px;
  background:linear-gradient(180deg,#efe7da,#dfd0bc);
  color:var(--accent-dark);
}
.filters { gap:10px; }
.chip {
  min-height:38px;
  padding:9px 15px;
  background:rgba(255,253,247,.88);
}
.chip.active, .chip.selected {
  background:linear-gradient(180deg,#687b6e,#586b5f);
  border-color:#586b5f;
}
.case-grid { gap:18px; }
.case-card {
  height:640px;
  padding:16px;
}
.case-photo, .mock-room {
  border-radius:var(--radius-md);
  border-color:rgba(223,210,190,.9);
}
.case-photo img { filter:saturate(.96) contrast(1.02); }
.case-photo figcaption, .mock-room small, .tag {
  border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(8px);
}
.tag { border-radius:999px; padding:4px 8px; background:#efe7da; color:#665847; }
.range {
  padding:5px 9px;
  border-radius:999px;
  background:#f2eadf;
}
.sample-layout > .info-card, .sample-layout > div:not(.section-head):not(.actions-row):not(.sample-image-block) {
  scroll-margin-top:96px;
}
.concept-card.selected {
  border-color:#b98a55;
  background:linear-gradient(180deg,#fff9ef,#fffdf7);
  box-shadow:0 0 0 3px rgba(185,138,85,.12), var(--shadow);
}
.quote-card.recommended {
  background:linear-gradient(180deg,#fff7e8,#fffdf7);
  box-shadow:0 18px 44px rgba(111,66,31,.1);
}
.estimate-summary .quote-card {
  min-height:150px;
}
.estimate-summary .quote-card strong { font-size:clamp(20px,2vw,27px); }
.benchmark-card {
  opacity:.88;
}
.panel {
  border-radius:var(--radius-lg);
  box-shadow:0 20px 58px rgba(48,38,24,.09);
}
.workflow-progress {
  margin:24px 0 26px;
  padding:0 6px;
}
.workflow-progress:before {
  top:16px;
  background:linear-gradient(90deg,transparent,var(--line),transparent);
}
.progress-step span {
  width:32px;
  height:32px;
  background:#f0e8db;
  transition:transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.progress-step.active span {
  background:linear-gradient(180deg,#687b6e,#53665a);
  box-shadow:0 10px 22px rgba(83,102,90,.24);
}
.progress-step:hover span { transform:translateY(-2px); }
label {
  color:#49463d;
  letter-spacing:.01em;
}
input, select, textarea {
  min-height:48px;
  border-radius:var(--radius-sm);
  background:rgba(255,255,252,.96);
  transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
input:focus, select:focus, textarea:focus {
  outline:none;
  box-shadow:var(--focus);
  background:#fff;
}
.field-helper, .validation-box p {
  color:#9b3e33;
}
.notice {
  border-color:#e0c398;
  background:#fff8eb;
  box-shadow:0 8px 22px rgba(169,106,39,.06);
}
.validation-box {
  background:#fff5f0;
  border-color:rgba(166,74,61,.28);
}
.upload-card {
  min-height:178px;
  padding:18px;
}
.upload-card:before {
  content:"";
  position:absolute;
  inset:12px;
  border:1px dashed rgba(134,80,37,.18);
  border-radius:10px;
  pointer-events:none;
}
.upload-card b { font-size:16px; }
.upload-card.has-files {
  background:linear-gradient(180deg,#fbfff9,#fffdf7);
}
.file-row {
  border-color:rgba(223,210,190,.85);
  box-shadow:0 6px 16px rgba(48,38,24,.04);
}
.file-row button { color:#8c4a3f; }
.thumb { border-radius:7px; }
.prompt-box {
  background:linear-gradient(180deg,#24241f,#191a16);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 18px 40px rgba(30,31,27,.12);
}
.how-it-works > div {
  background:rgba(255,253,247,.9);
  box-shadow:var(--shadow-soft);
}
.room-card.active {
  border-color:rgba(97,116,102,.72);
  background:linear-gradient(180deg,#fbfff9,#fffdf7);
}
.room-card .tag, .missing-line, .small-note {
  font-weight:850;
}
.missing-line {
  border:1px solid #ead2a9;
  background:#fff8ea;
}
.scope-card-footer {
  border-top-color:rgba(223,210,190,.7);
}
.scope-readonly, .estimate-empty, .empty-state, .room-type-selector {
  border-radius:var(--radius-md);
}
.estimate-details {
  background:rgba(255,253,247,.9);
}
.send-layout {
  gap:20px;
}
.package-preview {
  border-color:#d9c4a3;
  background:linear-gradient(180deg,#fff9ee,#fffdf7);
}
.success {
  border-color:rgba(79,112,88,.32);
  background:linear-gradient(180deg,#eef7ee,#fbfff9);
  color:#27442e;
  border-radius:var(--radius-md);
  box-shadow:0 16px 38px rgba(79,112,88,.09);
}
.success-actions .btn.primary {
  background:linear-gradient(180deg,#3f7a54,#315f42);
  box-shadow:0 16px 38px rgba(49,95,66,.22);
}
.design-summary-list div {
  border-top-color:rgba(223,210,190,.72);
}
.reveal-item {
  opacity:0;
  transform:translateY(14px);
  transition:opacity .42s ease, transform .42s ease;
}
.reveal-item.is-visible {
  opacity:1;
  transform:none;
}

@media (max-width:1120px) {
  .hero-grid, .work-split, .prompt-grid, .admin-layout, .contact-grid, .estimate-grid, .send-layout { grid-template-columns:1fr; }
  .start-grid, .case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .get-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .package-preview { position:static; }
}

@media (max-width:720px) {
  .nav { align-items:flex-start; min-height:auto; }
  .brand { font-size:17px; white-space:normal; }
  .nav-actions { display:none; }
  .section, .hero { padding-left:18px; padding-right:18px; }
  .hero h1 { font-size:clamp(38px,11vw,48px); }
  .hero-actions .btn { width:100%; min-width:0; }
  .start-grid, .case-grid, .get-grid, .concept-grid, .quote-grid, .estimate-summary, .summary-grid, .estimate-details-grid, .budget-guidance-grid, .form-grid, .contact-grid, .upload-grid, .metric-grid, .detail-grid, .case-actions, .how-it-works, .scope-fields, .project-summary, .room-card-meta, .selected-ai-summary, .room-type-grid, .success-actions, .design-summary-list { grid-template-columns:1fr; }
  .compact-breakdown .estimate-line { grid-template-columns:1fr; }
  .wide-metric { grid-column:auto; }
  .workflow-progress { overflow-x:auto; grid-template-columns:repeat(8,92px); padding-bottom:6px; }
  .workflow-progress:before { left:28px; right:28px; }
  .section-head { display:block; }
  .case-top { display:grid; }
  .case-card { height:auto; min-height:0; }
  .range { white-space:normal; }
  .nowrap-desktop { white-space:normal; }
  .image-pair.large .case-photo, .image-pair.large .case-photo img { min-height:190px; }
  .contact-left-stack { grid-template-rows:auto; }
  .contact-notes textarea { min-height:130px; height:auto; }
  .step-actions { flex-direction:column-reverse; }
  .step-actions .btn { width:100%; }
  .room-card-main, .scope-card-footer, .room-mini-list div { display:grid; }
  .actions-row { flex-wrap:wrap; }
  .actions-row .btn { min-width:0; width:100%; }
}

@media (max-width:720px) {
  .section { padding:var(--space-section-mobile) 18px; }
  .hero {
    padding:28px 18px;
  }
  .hero h1 { font-size:clamp(36px,10vw,46px); }
  .package-card {
    min-height:auto;
    padding:18px;
  }
  .package-list {
    min-height:auto;
    display:grid;
    gap:10px;
  }
  .package-list li {
    position:relative;
    inset:auto;
    right:auto;
    transform:none !important;
  }
  .package-list li:nth-child(n+5) { display:flex; }
  .case-card, .concept-card, .get-card, .start-card {
    min-height:0;
  }
  .case-card {
    padding:14px;
  }
  .workflow-progress {
    margin:18px 0 20px;
  }
  .progress-step {
    min-width:92px;
  }
  .upload-card {
    min-height:156px;
  }
  .estimate-summary .quote-card {
    min-height:118px;
  }
  .success-actions .support-actions {
    gap:10px;
  }
  .support-actions .text-btn {
    width:100%;
    justify-content:center;
  }
}

/* Final overrides for 2026-07-05 request-specific layout fixes. */
.lead-list-page .admin-list-shell,
.lead-list-page.panel,
.leads-admin-page .admin-list-shell.panel {
  width:100%;
  max-width:none;
}
.leads-admin-page .section-inner.admin-shell.lead-list-page {
  width:100%;
  max-width:1580px;
  grid-template-columns:1fr;
}
.leads-admin-page .pricing-audit-reminder {
  display:block;
}
.leads-admin-page .pricing-audit-reminder p {
  margin:0;
  white-space:normal;
}
.leads-admin-page .pricing-audit-reminder p + p {
  margin-top:8px;
}
.scope-card.scope-row {
  display:grid;
  grid-template-columns:minmax(180px,.75fr) minmax(0,2.2fr) minmax(120px,.45fr) minmax(110px,.38fr);
  gap:14px;
  align-items:center;
}
.scope-card .scope-row-head {
  display:contents;
}
.scope-card .scope-row-head > div {
  grid-column:1;
  min-width:0;
}
.scope-card .scope-row-head .inline-check {
  grid-column:4;
  align-self:center;
}
.scope-card .core-scope-fields {
  grid-column:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:0;
}
.scope-card .scope-card-footer {
  grid-column:3;
  margin:0;
  padding:0;
  border:0;
}
.scope-card .scope-details {
  grid-column:1 / -1;
}
@media (max-width:720px) {
  .scope-card.scope-row,
  .scope-card .core-scope-fields {
    grid-template-columns:1fr;
  }
  .scope-card .scope-row-head,
  .scope-card .core-scope-fields,
  .scope-card .scope-card-footer,
  .scope-card .scope-row-head .inline-check {
    grid-column:1;
  }
}

/* 2026-07-04 compact premium QA pass: reduce visual scale while filling the viewport. */
body {
  font-size:14px;
}
.section {
  padding:clamp(30px,4.2vw,58px) clamp(18px,3vw,48px);
}
.section-inner {
  width:100%;
  max-width:1500px;
}
.nav {
  min-height:58px;
  padding:8px clamp(22px,3.2vw,54px);
}
.brand-mark {
  width:34px;
  height:34px;
}
.brand span:last-child {
  font-size:clamp(20px,1.6vw,26px);
}
.nav-actions .btn,
.nav-actions .link-btn,
.btn,
button.btn {
  min-height:40px;
  padding:10px 16px;
  font-size:14px;
}
.panel,
.info-card,
.quote-card,
.upload-card,
.room-card,
.case-card,
.get-card,
.concept-card {
  padding:18px;
}
.landing-hero {
  min-height:calc((100vh - 58px) * .8);
  padding:clamp(34px,4.8vw,68px) clamp(24px,4vw,64px);
}
.landing-hero .hero-grid {
  max-width:1500px;
  gap:clamp(28px,4vw,58px);
}
.landing-hero h1 {
  font-size:clamp(39px,4.6vw,61px);
  max-width:760px;
}
.landing-hero .hero-copy {
  font-size:clamp(14px,1vw,17px);
  line-height:1.48;
}
.landing-hero .package-card {
  min-height:360px;
  padding:18px;
}
.landing-hero .package-card h2 {
  font-size:24px;
}
.landing-section.section {
  padding:clamp(34px,4.4vw,58px) clamp(24px,4vw,64px);
}
.landing-section .section-head h2 {
  font-size:clamp(27px,2.8vw,36px);
}
.how-launch-works .get-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  max-width:930px;
  margin:0 auto;
}
.how-launch-works .get-card {
  min-height:168px;
  padding:18px;
  text-align:center;
}
.how-launch-works .get-icon {
  width:36px;
  height:36px;
  font-size:13px;
}
.how-launch-works .get-card h3 {
  min-height:0;
  margin:10px 0 6px;
  font-size:17px;
  line-height:1.08;
  justify-content:center;
}
.how-launch-works .get-card p {
  font-size:12px;
  line-height:1.34;
}
.gallery-page.section {
  padding-top:34px;
}
.gallery-page .filters {
  margin:0 0 20px;
  gap:8px;
}
.gallery-page .chip {
  min-height:34px;
  padding:7px 12px;
  font-size:13px;
}
.gallery-page .case-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.case-card {
  min-height:0;
  gap:10px;
}
.case-top {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto;
  min-height:58px;
  height:auto;
  row-gap:6px;
  overflow:hidden;
}
.case-top > div:first-child {
  display:contents;
}
.case-top h3 {
  grid-column:1;
  grid-row:1;
  margin:0;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:clamp(18px,1.3vw,22px);
  line-height:1.06;
}
.case-top .range {
  grid-column:1;
  grid-row:2;
  justify-self:start;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.case-brief {
  margin-top:8px;
  gap:8px;
}
.case-brief p {
  font-size:12px;
  line-height:1.36;
}
.case-actions {
  gap:8px;
}
.case-actions .btn.small {
  min-height:38px;
  padding:8px 11px;
}
.two-line-action {
  line-height:1.05;
  text-align:center;
  white-space:normal;
}
.unlock-estimate-row {
  margin-top:22px;
}
.scope-card {
  display:grid;
  grid-template-columns:minmax(180px,.75fr) minmax(0,2.2fr) minmax(120px,.45fr) minmax(110px,.38fr);
  gap:14px;
  align-items:center;
}
.scope-card .scope-row-head {
  display:contents;
  min-width:0;
}
.scope-card .scope-row-head > div {
  grid-column:1;
  min-width:0;
}
.scope-card .scope-row-head h3 {
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.scope-card .scope-row-head p {
  display:none;
}
.scope-card .scope-row-head .inline-check {
  grid-column:4;
}
.scope-card .core-scope-fields {
  grid-column:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:end;
}
.scope-card .scope-card-footer {
  grid-column:3;
  justify-self:start;
  border:0;
  padding:0;
  margin:0;
}
.scope-card .scope-card-footer .compact-actions {
  margin:0;
  gap:10px;
  justify-content:flex-start;
}
.scope-card > .scope-row-head .inline-check {
  display:flex;
  justify-content:flex-start;
  align-items:center;
  align-self:center;
}
.scope-card .scope-details {
  grid-column:1 / -1;
}
.example-page-disclaimer {
  margin:22px 0 0;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fffaf0;
  color:var(--muted);
  font-size:13px;
}
.estimate-summary {
  grid-template-columns:1.05fr .95fr .9fr;
  gap:14px;
  align-items:stretch;
}
.estimate-summary .quote-card {
  min-width:0;
  min-height:0;
}
.quote-card h3,
.estimate-line h3,
.package-option h3 {
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.quote-card strong {
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
  line-height:1.05;
}
.estimate-summary .quote-card strong {
  font-size:clamp(22px,2.35vw,34px);
}
.estimate-summary .quote-card.benchmark-card strong {
  font-size:clamp(18px,1.8vw,25px);
}
.compact-breakdown .estimate-line {
  grid-template-columns:minmax(0,1fr) minmax(180px,.35fr);
  align-items:center;
  gap:12px;
}
.compact-breakdown .estimate-line strong {
  text-align:right;
  overflow-wrap:anywhere;
}
.leads-admin-page .section-inner.admin-shell {
  width:100%;
  max-width:1580px;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  align-items:start;
}
.lead-list-page {
  max-width:1580px;
}
.admin-detail-shell {
  width:100%;
  max-width:1220px;
}
.leads-admin-page .admin-head,
.leads-admin-page .pricing-audit-reminder {
  grid-column:1 / -1;
}
.admin-head h1 {
  font-size:clamp(38px,4.4vw,68px);
}
.admin-head p {
  max-width:none;
  white-space:nowrap;
}
.pricing-audit-reminder {
  display:block;
  overflow:hidden;
}
.pricing-audit-reminder p {
  margin:0;
}
.pricing-audit-reminder p + p {
  margin-top:8px;
}
.pricing-audit-reminder .hint {
  white-space:nowrap;
}
.admin-list-shell {
  margin-top:18px;
  max-height:none;
  overflow:visible;
}
.lead-toolbar {
  margin-bottom:14px;
}
.compact-field span {
  font-size:12px;
}
.lead-date-group {
  display:grid;
  gap:8px;
  margin-bottom:18px;
}
.lead-date-group > h3 {
  margin:0;
  color:var(--muted);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.lead-row {
  display:grid;
  grid-template-columns:minmax(220px,1.1fr) minmax(210px,1fr) minmax(190px,1fr) minmax(190px,.9fr) minmax(120px,.55fr);
  gap:14px;
  align-items:center;
  padding:12px 14px;
}
.lead-row b,
.lead-row small {
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.lead-row small {
  color:var(--muted);
  font-size:12px;
  margin-top:3px;
}
.lead-row-label {
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:3px;
}
.admin-detail-panel {
  margin-top:18px;
  position:static;
  max-height:none;
  overflow:visible;
}
.admin-detail-page-panel {
  margin-top:0;
}
.admin-detail-hero {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fffaf0;
  margin-bottom:14px;
}
.admin-detail-hero h3 {
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.admin-detail-hero p {
  margin:4px 0 0;
  color:var(--muted);
}
.compact-detail-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.admin-section-card {
  margin-top:12px;
}
.admin-room-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.admin-room-card {
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fffdf8;
}
.admin-room-card h3 {
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.admin-room-card p {
  margin:6px 0 0;
  color:var(--muted);
}
.admin-image-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.admin-image-grid figure {
  margin:0;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:#fffdf8;
}
.admin-image-grid img {
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  display:block;
}
.admin-image-grid figcaption {
  padding:7px 8px;
  color:var(--muted);
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.admin-technical {
  margin-top:14px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:#fffdf8;
}
.admin-technical summary {
  cursor:pointer;
  font-weight:850;
  color:var(--accent-dark);
}
.admin-technical[open] {
  display:grid;
  gap:12px;
}

@media (max-width:1180px) {
  .gallery-page .case-grid,
  .admin-image-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .lead-row {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-head p {
    white-space:normal;
  }
  .leads-admin-page .section-inner.admin-shell {
    grid-template-columns:1fr;
  }
  .leads-admin-page .admin-head,
  .leads-admin-page .pricing-audit-reminder {
    grid-column:auto;
  }
  .admin-list-shell,
  .admin-detail-panel {
    max-height:none;
    overflow:visible;
    position:static;
  }
}
@media (max-width:720px) {
  .section,
  .landing-section.section {
    padding:26px 16px;
  }
  .section-inner,
  .leads-admin-page .section-inner.admin-shell {
    width:100%;
    min-width:0;
  }
  .leads-admin-page {
    overflow-x:hidden;
  }
  .leads-admin-page .admin-head,
  .leads-admin-page .pricing-audit-reminder,
  .admin-list-shell,
  .admin-detail-panel {
    min-width:0;
    max-width:100%;
  }
  .admin-head {
    display:block;
  }
  .admin-head h1 {
    font-size:clamp(36px,10vw,42px);
    line-height:1;
    white-space:normal;
  }
  .admin-head p {
    font-size:14px;
    line-height:1.4;
  }
  .landing-hero h1 {
    font-size:clamp(31px,8vw,38px);
  }
  .how-launch-works .get-grid,
  .gallery-page .case-grid,
  .estimate-summary,
  .scope-card,
  .scope-card .core-scope-fields,
  .compact-breakdown .estimate-line,
  .lead-row,
  .compact-detail-grid,
  .admin-room-grid,
  .admin-image-grid {
    grid-template-columns:1fr;
  }
  .lead-row {
    gap:8px;
  }
  .admin-detail-hero {
    align-items:stretch;
    flex-direction:column;
  }
  .pricing-audit-reminder {
    display:block;
  }
  .pricing-audit-reminder .hint {
    display:block;
    white-space:normal;
    margin-top:6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *:before, *:after {
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
  }
  .reveal-item {
    opacity:1;
    transform:none;
  }
}

/* Premium visual redesign pass */
:root {
  --bg:#f7f0e5;
  --bg-alt:#efe3d1;
  --surface:#fffaf1;
  --surface-strong:#fffef9;
  --ink:#17140f;
  --muted:#696256;
  --line:#ded0bb;
  --line-soft:rgba(130,104,72,.16);
  --accent:#855025;
  --accent-dark:#5f351b;
  --sage:#586f5f;
  --sage-soft:#e8efe4;
  --gold:#c79555;
  --shadow:0 24px 70px rgba(65,43,21,.12);
  --shadow-hover:0 34px 88px rgba(61,41,22,.18);
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  --max:1360px;
}
body {
  background:
    radial-gradient(circle at 78% 5%, rgba(199,149,85,.24), transparent 30%),
    radial-gradient(circle at 8% 18%, rgba(88,111,95,.16), transparent 28%),
    linear-gradient(180deg,#fbf5eb 0%,#f3e8d8 44%,#fbf8f0 100%);
  font-size:16px;
  line-height:1.55;
}
.app-shell { background:transparent; }
.nav {
  min-height:82px;
  padding:16px clamp(22px,4.4vw,72px);
  background:rgba(255,250,241,.78);
  border-bottom:1px solid rgba(123,91,55,.13);
  box-shadow:0 12px 36px rgba(60,42,24,.06);
}
.brand { font-size:24px; letter-spacing:-.01em; }
.brand-mark {
  width:44px;
  height:44px;
  border-radius:14px;
  background:linear-gradient(145deg,#8b542a,#5e3419);
  box-shadow:0 18px 36px rgba(95,53,27,.25), inset 0 1px 0 rgba(255,255,255,.25);
}
.nav-actions { gap:18px; }
.nav-actions .btn.primary { min-width:190px; }
.btn, .text-btn, .upload-action, .chip {
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease, color .22s ease;
}
.btn {
  min-height:48px;
  border-radius:13px;
  padding:12px 20px;
  font-weight:850;
}
.btn.primary {
  background:linear-gradient(145deg,#8a4e24,#5f351b);
  box-shadow:0 18px 38px rgba(95,53,27,.24), inset 0 1px 0 rgba(255,255,255,.25);
}
.btn.secondary {
  background:rgba(255,251,243,.82);
  border-color:rgba(133,80,37,.24);
  color:#63391c;
  box-shadow:0 10px 24px rgba(72,49,28,.07);
}
.btn:hover, .upload-action:hover, .chip:hover { transform:translateY(-2px); box-shadow:var(--shadow-hover); }
.text-btn { color:#6b3b1d; font-weight:850; }
.section {
  position:relative;
  padding:clamp(58px,8vw,104px) clamp(22px,4.4vw,72px);
  border-top:1px solid rgba(128,98,63,.12);
}
.section:before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 12% 16%, rgba(199,149,85,.09), transparent 28%);
}
.section-inner { position:relative; z-index:1; }
.band-white, .band-light {
  background:linear-gradient(180deg,rgba(255,253,247,.78),rgba(248,240,226,.78));
}
.band-sand, .band-muted {
  background:linear-gradient(180deg,rgba(239,227,209,.88),rgba(248,241,229,.86));
}
.section-head { margin-bottom:30px; }
.section-head h1,
.section-head h2 {
  font-family:Georgia, "Times New Roman", serif;
  font-weight:700;
  letter-spacing:-.015em;
  color:#18140f;
}
.section-head h1 { font-size:clamp(44px,5.2vw,72px); }
.section-head h2 { font-size:clamp(34px,3.9vw,52px); }
.section-head p,
.lead,
.hero-copy {
  color:#635d52;
  font-size:clamp(17px,1.25vw,20px);
  line-height:1.62;
}
.hero {
  min-height:calc(100vh - 82px);
  padding:clamp(68px,8.5vw,112px) clamp(22px,4.4vw,72px) clamp(62px,8vw,98px);
  background:
    radial-gradient(circle at 78% 36%, rgba(215,162,89,.36), transparent 28%),
    radial-gradient(circle at 88% 74%, rgba(88,111,95,.18), transparent 28%),
    linear-gradient(135deg,#fcf6eb 0%,#efe0c9 52%,#f9f4ea 100%);
}
.hero:before {
  opacity:.95;
  background:
    linear-gradient(115deg, rgba(255,255,255,.18), transparent 42%),
    radial-gradient(circle at 82% 38%, rgba(255,255,255,.55), transparent 18%);
}
.hero-grid {
  grid-template-columns:minmax(0,1.02fr) minmax(430px,.82fr);
  gap:clamp(48px,7vw,96px);
  align-items:center;
}
.hero-copy-block { max-width:790px; }
.hero h1 {
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(56px,6vw,86px);
  line-height:.94;
  max-width:820px;
  letter-spacing:-.025em;
}
.hero-copy {
  max-width:650px;
  margin-top:24px;
}
.hero-actions { margin-top:34px; gap:14px; align-items:center; }
.hero-actions .btn { min-width:230px; min-height:56px; }
.hero-actions .text-btn {
  min-height:44px;
  padding-inline:8px;
  text-decoration:none;
}
.package-card {
  isolation:isolate;
  min-height:560px;
  padding:30px;
  border:1px solid rgba(139,96,49,.22);
  border-radius:34px;
  background:
    radial-gradient(circle at 70% 12%, rgba(255,255,255,.9), transparent 24%),
    linear-gradient(155deg,rgba(255,253,246,.94),rgba(246,230,207,.84));
  box-shadow:0 42px 110px rgba(72,45,20,.22), inset 0 1px 0 rgba(255,255,255,.72);
  perspective:900px;
  overflow:visible;
  transform:rotateX(1.5deg) rotateY(-4deg);
}
.package-card:before {
  inset:-32px;
  border-radius:44px;
  background:radial-gradient(circle at 62% 45%, rgba(199,149,85,.34), transparent 48%);
  z-index:-1;
}
.hero-motion-panel {
  position:absolute;
  inset:18px;
  z-index:0;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.45);
  background:
    linear-gradient(135deg,rgba(255,253,246,.8),rgba(239,222,195,.72)),
    url("/studio/assets/hero_motion_poster.jpg") center / cover no-repeat;
  opacity:.68;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.hero-motion-panel:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 68% 20%, rgba(255,255,255,.62), transparent 30%);
  z-index:2;
}
.hero-motion-panel video,
.hero-motion-poster {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-motion-panel video {
  opacity:0;
  transition:opacity .45s ease;
}
.hero-motion-panel.is-playing video {
  opacity:1;
}
.hero-motion-overlay {
  position:absolute;
  inset:0;
  z-index:3;
  background:
    linear-gradient(90deg,rgba(255,250,241,.74),rgba(255,250,241,.22) 42%,rgba(255,250,241,.72)),
    linear-gradient(180deg,rgba(255,250,241,.2),rgba(238,221,195,.42));
}
.package-main {
  position:relative;
  z-index:2;
  max-width:330px;
  padding:26px;
  border-radius:24px;
  background:linear-gradient(160deg,rgba(255,255,251,.95),rgba(255,246,232,.92));
  border:1px solid rgba(129,91,51,.16);
  box-shadow:0 24px 58px rgba(73,48,24,.14);
}
.package-kicker {
  display:block;
  margin-bottom:8px;
  color:#7a4924;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.package-card h2 {
  margin:0;
  font-family:Georgia, "Times New Roman", serif;
  font-size:34px;
  line-height:1.05;
}
.package-main p { margin:12px 0 0; color:#6b6256; }
.package-list {
  position:relative;
  z-index:2;
  min-height:260px;
  margin-top:24px;
  perspective:900px;
}
.package-list li {
  --x:0px;
  --r:0deg;
  position:absolute;
  width:min(78%,360px);
  min-height:74px;
  padding:16px 18px;
  border-radius:20px;
  background:rgba(255,253,247,.94);
  border:1px solid rgba(137,98,57,.18);
  box-shadow:0 22px 52px rgba(65,43,22,.16);
  backdrop-filter:blur(14px);
  color:#2e2a23;
  font-weight:850;
  transform:translate3d(var(--x),0,0) rotate(var(--r));
}
.package-list li:nth-child(1) { top:0; right:36px; --x:0px; --r:-2deg; }
.package-list li:nth-child(2) { top:56px; right:0; --x:0px; --r:2deg; }
.package-list li:nth-child(3) { top:112px; right:54px; --x:0px; --r:-1deg; }
.package-list li:nth-child(4) { top:168px; right:16px; --x:0px; --r:1.5deg; }
.package-list li:hover {
  transform:translate3d(var(--x),-9px,28px) rotate(0deg) scale(1.02);
}
.check {
  width:28px;
  height:28px;
  background:linear-gradient(145deg,#eaf1e4,#d4e3d0);
  color:#4f6b55;
  box-shadow:inset 0 0 0 1px rgba(79,107,85,.14);
}
.quote-note {
  position:relative;
  z-index:2;
  left:auto;
  right:auto;
  bottom:auto;
  margin:20px 0 0;
  padding:16px 18px;
  border:1px solid rgba(133,80,37,.16);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,245,229,.94),rgba(255,253,248,.92));
  box-shadow:0 16px 38px rgba(95,53,27,.1);
}
.trust-strip {
  background:rgba(91,67,42,.08);
  border-color:rgba(128,98,63,.13);
}
.trust-inner {
  padding:18px 0;
  font-size:17px;
}
.trust-icon {
  background:linear-gradient(145deg,#f0dfc3,#cfaa76);
  color:#5f351b;
}
.start-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.premium-room-tile,
.room-type-tile {
  position:relative;
  overflow:hidden;
  text-align:left;
}
.premium-room-tile:before,
.room-type-tile:before,
.case-card:before,
.info-card:before,
.quote-card:before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);
}
.start-card,
.get-card,
.case-card,
.panel,
.info-card,
.concept-card,
.quote-card,
.upload-card,
.lead-card,
.room-card,
.scope-row,
.metric {
  border-color:rgba(126,96,62,.16);
  border-radius:24px;
  background:linear-gradient(160deg,rgba(255,253,247,.95),rgba(250,241,226,.88));
  box-shadow:0 24px 58px rgba(65,43,22,.1), inset 0 1px 0 rgba(255,255,255,.7);
}
.start-card {
  min-height:258px;
  padding:24px;
  gap:18px;
}
.tile-symbol {
  position:relative;
  width:54px;
  height:54px;
  border-radius:18px;
  flex:0 0 auto;
  display:inline-flex;
  background:linear-gradient(145deg,#f4e5cf,#fffaf2);
  border:1px solid rgba(133,80,37,.16);
  box-shadow:0 12px 26px rgba(95,53,27,.1);
}
.tile-symbol:before,
.tile-symbol:after {
  content:"";
  position:absolute;
  border:2px solid currentColor;
  color:#7b4a24;
}
.tile-symbol:before {
  width:25px;
  height:18px;
  left:14px;
  bottom:13px;
  border-top:0;
  border-radius:0 0 4px 4px;
}
.tile-symbol:after {
  width:22px;
  height:22px;
  left:15px;
  top:13px;
  transform:rotate(45deg);
  border-right:0;
  border-bottom:0;
}
.tile-copy h3,
.start-card h3 {
  font-family:Georgia, "Times New Roman", serif;
  font-size:24px;
  line-height:1.08;
}
.start-card h3:after,
.get-card h3:after { display:none; }
.start-card p { font-size:15px; line-height:1.55; color:#655d50; }
.start-card .btn { align-self:flex-start; margin-top:auto; }
.room-type-selector {
  margin-top:24px;
  padding:26px;
  border:1px solid rgba(126,96,62,.16);
  border-radius:28px;
  background:rgba(255,250,241,.82);
  box-shadow:var(--shadow);
}
.room-type-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.room-type-tile {
  min-height:178px;
  padding:20px;
  border:1px solid rgba(126,96,62,.16);
  border-radius:22px;
  background:linear-gradient(160deg,rgba(255,253,247,.95),rgba(246,235,218,.86));
  color:var(--ink);
  cursor:pointer;
  display:grid;
  gap:14px;
  align-content:start;
  box-shadow:0 18px 44px rgba(65,43,22,.09);
}
.room-type-tile b {
  display:block;
  font-family:Georgia, "Times New Roman", serif;
  font-size:21px;
  line-height:1.08;
}
.room-type-tile small {
  display:block;
  margin-top:8px;
  color:#6b6256;
  line-height:1.45;
}
.room-type-tile em {
  margin-top:auto;
  color:#6a3c1d;
  font-style:normal;
  font-weight:900;
}
.room-type-tile:hover,
.start-card:hover,
.case-card:hover,
.concept-card:hover,
.quote-card:hover,
.upload-card:hover,
.room-card:hover,
.scope-row:hover {
  transform:translateY(-8px);
  border-color:rgba(133,80,37,.32);
  box-shadow:var(--shadow-hover);
}
.get-grid { gap:20px; }
.get-card {
  min-height:190px;
  padding:26px 20px;
}
.get-icon {
  width:52px;
  height:52px;
  background:linear-gradient(145deg,#f6e4c8,#d7b071);
  border-radius:17px;
  color:#5f351b;
}
.get-card h3 {
  font-family:Georgia, "Times New Roman", serif;
  font-size:20px;
  line-height:1.1;
}
.gallery-page {
  background:
    radial-gradient(circle at 12% 6%, rgba(199,149,85,.2), transparent 26%),
    linear-gradient(180deg,#fff9ef,#f5ead9);
}
.gallery-head {
  min-height:230px;
  align-items:center;
  padding:38px;
  border-radius:34px;
  background:
    radial-gradient(circle at 82% 30%, rgba(88,111,95,.18), transparent 32%),
    linear-gradient(135deg,rgba(255,253,247,.94),rgba(239,223,199,.9));
  border:1px solid rgba(126,96,62,.14);
  box-shadow:var(--shadow);
}
.filters { gap:12px; margin:28px 0; }
.chip {
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,250,241,.82);
  border:1px solid rgba(126,96,62,.18);
  color:#6a6257;
}
.chip.active {
  background:linear-gradient(145deg,#805026,#5f351b);
  border-color:transparent;
  color:#fff;
  box-shadow:0 16px 34px rgba(95,53,27,.2);
}
.case-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.case-card {
  height:auto;
  min-height:720px;
  padding:18px;
  display:flex;
  flex-direction:column;
}
.case-top {
  min-height:112px;
  align-items:start;
}
.case-card h3 {
  font-family:Georgia, "Times New Roman", serif;
  font-size:25px;
  line-height:1.05;
}
.tag {
  border-radius:999px;
  background:rgba(88,111,95,.1);
  border:1px solid rgba(88,111,95,.16);
  color:#4e6555;
}
.range {
  background:linear-gradient(145deg,#fff1d8,#f2dfbf);
  color:#6b3c1b;
  border:1px solid rgba(133,80,37,.12);
}
.visual {
  border-radius:22px;
  background:linear-gradient(135deg,#efe1ca,#fff7eb);
}
.image-pair {
  gap:8px;
  padding:8px;
  border:1px solid rgba(126,96,62,.14);
}
.case-photo {
  border-radius:17px;
  overflow:hidden;
}
.case-photo img {
  filter:saturate(1.02) contrast(1.02);
  transition:transform .45s ease;
}
.case-card:hover .case-photo img { transform:scale(1.035); }
.case-photo figcaption {
  background:linear-gradient(180deg,transparent,rgba(32,24,16,.72));
  color:#fff;
  font-weight:850;
}
.case-brief {
  margin-top:16px;
  display:grid;
  gap:10px;
}
.case-brief p {
  margin:0;
  color:#625b50;
  line-height:1.48;
}
.case-actions { margin-top:auto; }
.report-page {
  background:
    radial-gradient(circle at 84% 8%, rgba(199,149,85,.2), transparent 28%),
    linear-gradient(180deg,#fbf5eb,#f8efe2);
}
.report-cover {
  padding:42px;
  border-radius:36px;
  background:
    radial-gradient(circle at 80% 32%, rgba(88,111,95,.16), transparent 28%),
    linear-gradient(135deg,rgba(255,253,247,.96),rgba(241,225,202,.9));
  border:1px solid rgba(126,96,62,.15);
  box-shadow:var(--shadow);
}
.sample-layout { display:grid; gap:28px; }
.sample-actions { margin-top:-8px; }
.sample-image-block .image-pair {
  min-height:360px;
  box-shadow:var(--shadow);
}
.info-card h3,
.panel h3,
.quote-card h3,
.upload-card b,
.scope-row h3 {
  font-family:Georgia, "Times New Roman", serif;
  letter-spacing:-.005em;
}
.info-card {
  position:relative;
  padding:24px;
}
.concept-card {
  padding:24px;
  min-height:330px;
}
.concept-card.selected,
.concept-card.recommended {
  border-color:rgba(133,80,37,.34);
  background:linear-gradient(160deg,#fff7e8,#fffdf6);
}
.quote-grid,
.estimate-summary {
  gap:18px;
}
.estimate-grid {
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:22px;
  align-items:stretch;
}
.estimate-grid > .info-card {
  min-height:330px;
}
.selected-ai-card,
.estimate-grid .info-card:first-child {
  background:
    radial-gradient(circle at 82% 18%, rgba(88,111,95,.14), transparent 28%),
    linear-gradient(160deg,rgba(255,253,247,.96),rgba(246,232,211,.9));
}
.checklist {
  gap:12px;
}
.checklist li {
  min-height:44px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.54);
  border:1px solid rgba(126,96,62,.12);
}
.checklist li span {
  width:26px;
  height:26px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#f1e3cf;
  color:#70421f;
  font-weight:900;
}
.checklist li.ok span {
  background:#e1eadc;
  color:#4f6b55;
}
.compact-head {
  padding-top:16px;
  border-top:1px solid rgba(126,96,62,.12);
}
.scope-editor {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.scope-row {
  padding:20px;
  display:grid;
  gap:14px;
}
.scope-row-head h3 { font-size:22px; }
.scope-fields {
  background:rgba(255,255,255,.42);
  border-radius:18px;
  padding:14px;
}
.estimate-summary .quote-card {
  min-height:178px;
  padding:24px;
}
.quote-card.recommended {
  grid-column:span 1;
  background:
    radial-gradient(circle at 84% 18%, rgba(255,255,255,.9), transparent 24%),
    linear-gradient(145deg,#fff1d7,#fffaf1);
  border-color:rgba(133,80,37,.28);
  box-shadow:0 30px 70px rgba(95,53,27,.16);
}
.estimate-summary .quote-card.recommended strong {
  display:block;
  margin-top:10px;
  font-size:clamp(30px,3.2vw,45px);
  line-height:1;
  color:#5f351b;
}
.benchmark-card,
.confidence-card {
  opacity:.92;
  background:linear-gradient(160deg,rgba(255,253,247,.88),rgba(246,238,224,.8));
}
.compact-breakdown {
  gap:12px;
}
.compact-breakdown .estimate-line {
  padding:18px 20px;
  grid-template-columns:minmax(0,1fr) minmax(200px,auto);
  align-items:center;
}
.compact-breakdown .estimate-line strong {
  text-align:right;
  font-size:17px;
}
.estimate-details {
  border-radius:20px;
  border-color:rgba(126,96,62,.16);
  background:rgba(255,250,241,.78);
}
.project-summary {
  gap:14px;
}
.metric {
  padding:18px;
}
.metric span {
  color:#6d6559;
  font-size:14px;
}
.metric b {
  font-size:22px;
}
.room-card {
  padding:24px;
  border-radius:24px;
}
.room-card.active {
  border-color:rgba(88,111,95,.42);
  background:
    radial-gradient(circle at 88% 12%, rgba(88,111,95,.12), transparent 26%),
    linear-gradient(160deg,#fbfff8,#fff8ec);
}
.upload-card {
  min-height:218px;
  padding:24px;
}
.upload-action {
  border-radius:14px;
  min-height:46px;
  border-color:rgba(133,80,37,.22);
  background:#fffdf8;
  color:#693d1e;
  font-weight:850;
}
.workflow-progress {
  margin:30px 0 36px;
}
.progress-step span {
  width:42px;
  height:42px;
  border-radius:50%;
  transition:transform .22s ease, background-color .22s ease, box-shadow .22s ease;
}
.progress-step.active span {
  transform:scale(1.08);
  box-shadow:0 14px 30px rgba(88,111,95,.24);
}
.success {
  position:relative;
  overflow:hidden;
  padding:34px;
  border-radius:32px;
  border-color:rgba(79,112,88,.28);
  background:
    radial-gradient(circle at 82% 24%, rgba(255,255,255,.8), transparent 28%),
    linear-gradient(135deg,#eaf5e8,#fff8ea);
  box-shadow:var(--shadow);
}
.success:before {
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  right:26px;
  top:22px;
  border-radius:50%;
  background:radial-gradient(circle,#d7ead2,transparent 68%);
}
.success h3 {
  position:relative;
  margin:0 0 10px;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(32px,3.4vw,48px);
}
.success p { position:relative; max-width:790px; color:#5b6258; }
.success-summary-grid {
  gap:18px;
}
.success-summary-grid .info-card {
  min-height:154px;
}
.success-actions {
  margin-top:22px;
  display:grid;
  grid-template-columns:minmax(280px,.46fr) minmax(220px,.26fr);
  gap:14px;
}
.success-actions .btn.primary {
  min-height:58px;
  background:linear-gradient(145deg,#3f8158,#2e5f40);
  box-shadow:0 20px 42px rgba(46,95,64,.24);
}
.support-actions {
  padding:14px 0 0;
  gap:16px;
  border-top:1px solid rgba(126,96,62,.12);
}
.design-summary-card {
  padding:30px;
  border-radius:28px;
}
.design-summary-card h3 {
  font-size:30px;
}
.design-summary-list {
  gap:14px;
}
.design-summary-list > div {
  padding:14px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(126,96,62,.12);
}
.reveal-item {
  transform:translateY(22px) scale(.985);
  transition:opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1);
}
.reveal-item.is-visible {
  transform:none;
}
@media (max-width:1180px) {
  .hero-grid,
  .estimate-grid { grid-template-columns:1fr; }
  .package-card { transform:none; max-width:720px; }
  .start-grid,
  .case-grid,
  .room-type-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .scope-editor { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  body { background:linear-gradient(180deg,#fbf5eb,#f5ebdc); }
  .nav { min-height:auto; padding:14px 18px; }
  .brand { font-size:19px; }
  .brand-mark { width:38px; height:38px; border-radius:12px; }
  .section { padding:42px 18px; }
  .hero {
    min-height:auto;
    padding:42px 18px;
  }
  .hero h1 {
    font-size:clamp(44px,12vw,58px);
    line-height:.98;
  }
  .hero-copy {
    font-size:17px;
    line-height:1.55;
  }
  .hero-actions .btn,
  .hero-actions .text-btn {
    width:100%;
    justify-content:center;
  }
  .package-card {
    min-height:auto;
    padding:20px;
    border-radius:26px;
  }
  .hero-motion-panel video {
    display:none;
  }
  .hero-motion-panel {
    inset:10px;
    opacity:.38;
  }
  .package-main {
    max-width:none;
    padding:20px;
  }
  .package-card h2 { font-size:30px; }
  .package-list {
    min-height:auto;
    display:grid;
    gap:12px;
    margin-top:18px;
  }
  .package-list li {
    position:relative;
    top:auto !important;
    right:auto !important;
    width:100%;
    min-height:64px;
    transform:none !important;
  }
  .quote-note {
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    margin-top:14px;
  }
  .start-grid,
  .case-grid,
  .room-type-grid,
  .get-grid,
  .estimate-summary,
  .quote-grid,
  .success-actions {
    grid-template-columns:1fr;
  }
  .start-card { min-height:220px; }
  .room-type-tile { min-height:156px; }
  .gallery-head,
  .report-cover,
  .success {
    padding:26px;
    border-radius:26px;
  }
  .case-card {
    min-height:0;
  }
  .scope-editor,
  .compact-breakdown .estimate-line {
    grid-template-columns:1fr;
  }
  .compact-breakdown .estimate-line strong {
    text-align:left;
  }
  .success-actions .support-actions,
  .support-actions .text-btn {
    width:100%;
    justify-content:center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .package-card,
  .hero-motion-panel video,
  .package-list li,
  .room-type-tile,
  .start-card,
  .case-card,
  .concept-card,
  .quote-card,
  .upload-card,
  .room-card,
  .scope-row,
  .btn,
  .chip,
  .upload-action,
  .reveal-item {
    transition:none !important;
    transform:none !important;
  }
}

/* Landing page density adjustment and restored before/after gallery */
.landing-hero {
  min-height:calc((100vh - 82px) * .8);
  padding:clamp(54px,6.8vw,90px) clamp(22px,4.4vw,72px) clamp(50px,6.4vw,78px);
}
.landing-hero .hero-grid {
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.72fr);
  gap:clamp(38px,5.6vw,76px);
}
.landing-hero h1 {
  font-size:clamp(50px,5.4vw,77px);
  max-width:740px;
}
.landing-hero .hero-copy {
  max-width:620px;
  margin-top:19px;
  font-size:clamp(15px,1.05vw,18px);
}
.landing-hero .hero-actions {
  margin-top:27px;
}
.landing-hero .hero-actions .btn {
  min-height:50px;
  min-width:205px;
}
.landing-hero .package-card {
  min-height:448px;
  padding:24px;
  border-radius:28px;
}
.landing-hero .package-main {
  max-width:292px;
  padding:21px;
  border-radius:20px;
}
.landing-hero .package-card h2 {
  font-size:29px;
}
.landing-hero .package-main p {
  font-size:14px;
}
.landing-hero .package-list {
  min-height:208px;
  margin-top:19px;
}
.landing-hero .package-list li {
  width:min(76%,320px);
  min-height:59px;
  padding:13px 15px;
  border-radius:17px;
  font-size:15px;
}
.landing-hero .package-list li:nth-child(2) { top:45px; }
.landing-hero .package-list li:nth-child(3) { top:90px; }
.landing-hero .package-list li:nth-child(4) { top:134px; }
.landing-hero .quote-note {
  margin-top:16px;
  padding:13px 15px;
  font-size:14px;
}
.landing-section.section {
  padding:clamp(46px,6.4vw,83px) clamp(22px,4.4vw,72px);
}
.landing-section .section-head {
  margin-bottom:24px;
}
.landing-section .section-head h2 {
  font-size:clamp(30px,3.2vw,42px);
}
.landing-section .section-head p {
  font-size:16px;
}
.landing-section .start-grid,
.landing-section .get-grid {
  gap:16px;
}
.landing-section .start-card {
  min-height:354px;
  padding:19px;
  gap:14px;
}
.start-pair {
  min-height:142px;
  aspect-ratio:1.65 / 1;
  padding:6px;
  border-radius:18px;
  margin:-4px -4px 2px;
}
.start-pair .case-photo {
  height:auto;
  min-height:130px;
  border-radius:14px;
}
.start-pair .case-photo img {
  min-height:130px;
}
.start-pair .case-photo figcaption {
  top:auto;
  bottom:7px;
  left:7px;
  padding:4px 7px;
  font-size:10px;
}
.tile-title-row {
  display:flex;
  align-items:center;
  gap:10px;
}
.landing-section .tile-symbol {
  width:38px;
  height:38px;
  border-radius:13px;
}
.landing-section .tile-symbol:before {
  width:20px;
  height:15px;
  left:10px;
  bottom:10px;
}
.landing-section .tile-symbol:after {
  width:18px;
  height:18px;
  left:10px;
  top:10px;
}
.landing-section .tile-copy h3,
.landing-section .start-card h3 {
  font-size:20px;
}
.landing-section .start-card p {
  font-size:14px;
}
.home-case-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.home-case-card {
  position:relative;
  overflow:hidden;
  min-height:0;
  padding:14px;
  border:1px solid rgba(126,96,62,.16);
  border-radius:22px;
  background:linear-gradient(160deg,rgba(255,253,247,.95),rgba(250,241,226,.88));
  box-shadow:0 20px 48px rgba(65,43,22,.1), inset 0 1px 0 rgba(255,255,255,.7);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.home-case-card:hover {
  transform:translateY(-6px);
  border-color:rgba(133,80,37,.32);
  box-shadow:var(--shadow-hover);
}
.home-case-head {
  min-height:68px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.home-case-head h3 {
  margin:0;
  font-family:Georgia, "Times New Roman", serif;
  font-size:22px;
  line-height:1.05;
}
.home-case-head .range {
  flex:0 0 auto;
  font-size:11px;
}
.home-pair {
  min-height:184px;
  aspect-ratio:1.25 / 1;
}
.home-pair .case-photo,
.home-pair .case-photo img {
  min-height:170px;
}
.home-case-card .case-actions {
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.home-case-card .btn.small {
  min-height:34px;
  padding:8px 10px;
}
@media (max-width:1180px) {
  .home-case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .landing-hero {
    padding:34px 18px;
  }
  .landing-hero .hero-grid {
    grid-template-columns:1fr;
    gap:26px;
  }
  .landing-hero .hero-copy-block {
    max-width:100%;
  }
  .landing-hero h1 {
    font-size:clamp(38px,9.8vw,48px);
    max-width:100%;
  }
  .landing-hero .hero-copy {
    font-size:16px;
    max-width:100%;
  }
  .landing-hero .hero-actions .btn,
  .landing-hero .hero-actions .text-btn {
    width:100%;
    justify-content:center;
  }
  .landing-hero .package-card {
    width:100%;
    max-width:100%;
    min-height:auto;
    padding:18px;
    transform:none;
  }
  .landing-hero .package-list {
    min-height:auto;
  }
  .landing-hero .package-list li {
    width:100%;
    min-height:58px;
    font-size:14px;
  }
  .landing-section.section {
    padding:36px 18px;
  }
  .landing-section .start-card {
    min-height:0;
  }
  .start-pair {
    min-height:184px;
    aspect-ratio:1.7 / 1;
  }
  .start-pair .case-photo,
  .start-pair .case-photo img {
    min-height:176px;
  }
  .home-case-grid {
    grid-template-columns:1fr;
  }
  .home-case-head {
    min-height:0;
  }
  .home-pair {
    min-height:180px;
  }
}

.mode-switcher {
  display:inline-flex;
  gap:6px;
  padding:5px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fffaf2;
  box-shadow:0 10px 24px rgba(67,43,24,.08);
}
.mode-switcher button {
  border:0;
  border-radius:999px;
  min-height:40px;
  padding:0 16px;
  background:transparent;
  color:var(--muted);
  font-weight:850;
  cursor:pointer;
}
.mode-switcher button.active {
  background:var(--accent);
  color:#fff;
}
.quick-flow .section-head {
  align-items:flex-start;
}
.quick-header .section-head {
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}
.quick-header .section-head > div:first-child {
  min-width:0;
}
.quick-header .nowrap-desktop {
  white-space:normal;
}
.quick-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:22px;
  align-items:start;
}
.quick-main {
  display:grid;
  gap:18px;
}
.quick-card h2,
.quick-result h2 {
  margin-top:0;
}
.quick-upload {
  margin-top:16px;
}
.contact-capture-card {
  border-color:rgba(129,76,37,.26);
  background:linear-gradient(135deg,#fffdf8,#fff8ed);
}
.compact-contact-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.contact-consent {
  margin-top:12px;
  align-items:flex-start;
}
.contact-consent input {
  margin-top:4px;
}
.limited-result {
  border-style:dashed;
}
.quick-side {
  display:grid;
  gap:16px;
  position:sticky;
  top:92px;
}
.mini-steps p {
  margin:0 0 10px;
  color:var(--muted);
}
.package-option-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:16px 0;
}
.package-option .text-btn {
  margin-top:10px;
}
.package-option.selected {
  border-color:var(--sage) !important;
  background:#f5fbf4 !important;
}
.package-option.selected .text-btn {
  color:var(--sage);
  font-weight:800;
}
.start-smaller-card {
  margin:12px 0 16px;
}
.module-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.module-chip {
  text-align:left;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:12px;
  min-height:76px;
  cursor:default;
}
.module-chip b,
.module-chip span {
  display:block;
}
.module-chip span {
  margin-top:6px;
  color:var(--muted);
  font-size:13px;
}
.module-chip.selected {
  border-color:var(--sage);
  background:#f7fff7;
}
.sticky-mobile-cta {
  display:none;
}
.error-notice {
  border-color:#c85643;
  color:#8d2c1f;
  background:#fff5f2;
}
@media (max-width:980px) {
  .quick-grid,
  .compact-contact-grid,
  .package-option-grid,
  .module-grid {
    grid-template-columns:1fr;
  }
  .quick-side {
    position:static;
  }
}
@media (max-width:820px) {
  .nav {
    gap:12px;
  }
  .nav-actions {
    gap:8px;
  }
  .nav-actions .btn.primary {
    min-width:0;
    padding-left:14px;
    padding-right:14px;
  }
}
@media (max-width:720px) {
  .quick-flow-page {
    padding-bottom:88px;
  }
  .quick-flow .section-head {
    display:grid;
    gap:14px;
  }
  .mode-switcher {
    width:100%;
  }
  .mode-switcher button {
    flex:1;
  }
  .quick-actions {
    display:grid;
    grid-template-columns:1fr;
  }
  .sticky-mobile-cta {
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:50;
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    align-items:center;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,252,246,.96);
    border-top:1px solid var(--line);
    box-shadow:0 -10px 26px rgba(37,26,18,.12);
  }
  .sticky-mobile-cta .btn {
    min-height:48px;
  }
  .sticky-mobile-cta .text-btn {
    min-width:84px;
    text-align:center;
  }
}

/* Launch compact scale */
.nav {
  min-height:72px;
  padding-top:12px;
  padding-bottom:12px;
}
.brand-mark {
  width:40px;
  height:40px;
}
.brand span:last-child {
  font-size:clamp(24px,2vw,28px);
}
.nav-actions .btn,
.nav-actions .link-btn {
  min-height:48px;
}
.section-inner {
  max-width:1160px;
}
.workflow-full,
.panel {
  max-width:1040px;
}
.panel,
.info-card,
.quote-card,
.upload-card,
.room-card,
.case-card,
.get-card {
  padding:24px;
}
.workflow-header h1,
.landing-hero h1 {
  font-size:clamp(44px,4.2vw,56px);
  line-height:1.02;
}
.workflow-subtitle,
.hero-copy,
.lead {
  font-size:clamp(18px,1.6vw,20px);
}
.btn,
button.btn {
  min-height:48px;
}
.field input,
.field select,
.field textarea {
  min-height:50px;
}
.workflow-progress {
  min-height:68px;
  padding-top:10px;
  padding-bottom:10px;
}
.progress-step {
  min-height:58px;
  font-size:12px;
}
.progress-step span {
  width:32px;
  height:32px;
  font-size:13px;
}
.progress-step b {
  font-size:12px;
}
.mobile-step-summary {
  display:none;
}
.scope-editor {
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.scope-row,
.itemized-list,
.compact-breakdown {
  display:grid;
  grid-template-columns:1fr;
}
.compact-breakdown .estimate-line {
  grid-template-columns:minmax(0,1fr) auto;
}
.quote-form-sections {
  display:grid;
  gap:14px;
}
.quote-section {
  padding:22px;
}
.saved-contact-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.saved-contact-grid div {
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px;
  background:#fffdf8;
}
.saved-contact-grid span {
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:4px;
}
.success {
  padding:22px 24px;
}
.success h3 {
  font-size:clamp(24px,2.6vw,34px);
}
@media (max-width:720px) {
  .nav {
    min-height:60px;
    padding:8px 14px;
  }
  .brand-mark {
    width:36px;
    height:36px;
  }
  .brand span:last-child {
    font-size:20px;
  }
  .workflow-header h1,
  .landing-hero h1 {
    font-size:clamp(34px,9vw,40px);
  }
  .panel,
  .info-card,
  .quote-card,
  .upload-card,
  .room-card,
  .case-card,
  .get-card {
    padding:18px;
  }
  .workflow-progress {
    display:none;
  }
  .mobile-step-summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:14px 0 4px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fffaf2;
  }
  .mobile-step-summary span {
    color:var(--muted);
  }
  .saved-contact-grid,
  .compact-breakdown .estimate-line {
    grid-template-columns:1fr;
  }
}

/* Final launch fixes: keep dense quote UI readable without shrinking the page into gutters. */
.two-line-action {
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  min-width:118px;
  line-height:1.04;
  white-space:normal;
  text-align:center;
}
.two-line-action span {
  display:block;
  white-space:nowrap;
}
.scope-editor {
  width:100%;
}
.scope-card.scope-row {
  display:grid;
  grid-template-columns:minmax(250px,.7fr) minmax(0,1.9fr) minmax(110px,.28fr);
  align-items:center;
  gap:20px;
  width:100%;
  padding:22px 24px;
}
.scope-card .scope-row-head {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
}
.scope-card .scope-row-head h3 {
  margin:0;
  white-space:normal;
  overflow-wrap:break-word;
  font-size:clamp(18px,1.45vw,22px);
  line-height:1.15;
}
.scope-card .scope-row-head .inline-check {
  width:max-content;
  white-space:nowrap;
}
.scope-card .core-scope-fields {
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr));
  gap:12px;
  width:100%;
  min-width:0;
  padding:0;
  background:transparent;
}
.scope-card .core-scope-fields .field {
  min-width:0;
}
.scope-card .core-scope-fields .field label,
.scope-card .scope-details .field label,
.scope-card .scope-readonly {
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.scope-card .core-scope-fields input,
.scope-card .core-scope-fields select {
  width:100%;
  min-width:0;
  white-space:nowrap;
}
.scope-card .scope-card-footer {
  align-self:center;
}
.scope-card .compact-actions {
  display:flex;
  flex-direction:column;
  flex-wrap:nowrap;
  align-items:flex-start;
  gap:8px;
  margin:0;
  white-space:nowrap;
}
.scope-card .compact-actions .text-btn {
  white-space:nowrap;
}
.scope-card .scope-details {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:12px;
  padding-top:6px;
}
.estimate-summary .quote-card strong {
  display:block;
  white-space:nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:clip;
  line-height:1.05;
  letter-spacing:0;
}
.estimate-summary .quote-card.recommended strong {
  font-size:clamp(28px,2.45vw,40px);
}
.estimate-summary .quote-card.recommended .primary-range {
  font-size:clamp(25px,2.2vw,36px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
.package-option strong {
  white-space:nowrap;
  font-size:clamp(19px,1.55vw,25px);
  letter-spacing:0;
}
.admin-image-grid figure a {
  display:block;
  border-radius:8px;
  overflow:hidden;
}
.admin-image-grid figure a:focus-visible {
  outline:3px solid var(--brown);
  outline-offset:3px;
}
.quote-section .validation-box {
  margin-top:14px;
}
@media (max-width:1180px) {
  .scope-card.scope-row {
    grid-template-columns:minmax(220px,.72fr) minmax(0,1.7fr) minmax(100px,.32fr);
    gap:14px;
  }
  .scope-card .core-scope-fields {
    grid-template-columns:repeat(3,minmax(130px,1fr));
  }
  .scope-card .scope-row-head h3 {
    font-size:22px;
  }
}
@media (max-width:900px) {
  .scope-card.scope-row {
    grid-template-columns:1fr;
    align-items:start;
  }
  .scope-card .core-scope-fields,
  .scope-card .scope-details {
    grid-template-columns:1fr;
  }
  .scope-card .scope-row-head {
    display:flex;
    justify-content:space-between;
  }
  .estimate-summary .quote-card.recommended strong {
    font-size:clamp(30px,8vw,42px);
  }
}

/* Case image layout: show the real horizontal room area, with Before above After. */
.case-grid {
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
}
.case-card {
  height:auto;
}
.case-card .image-pair,
.home-pair,
.start-pair,
.image-pair.large {
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.case-card .case-photo,
.home-pair .case-photo,
.start-pair .case-photo,
.image-pair.large .case-photo {
  width:100%;
  min-height:0;
  aspect-ratio:16 / 9;
}
.case-card .case-photo img,
.home-pair .case-photo img,
.start-pair .case-photo img,
.image-pair.large .case-photo img {
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center;
}
.case-card .case-photo figcaption,
.home-pair .case-photo figcaption,
.start-pair .case-photo figcaption {
  left:10px;
  top:10px;
  right:auto;
  bottom:auto;
}
.case-card .case-actions {
  align-items:end;
}
.admin-detail-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  margin:0;
}
.admin-detail-list div {
  min-width:0;
  border-bottom:1px solid rgba(122,83,48,.14);
  padding-bottom:8px;
}
.admin-detail-list dt {
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.admin-detail-list dd {
  margin:4px 0 0;
  color:var(--ink);
  font-size:15px;
  overflow-wrap:anywhere;
}
.admin-room-grid {
  grid-template-columns:1fr;
}
.admin-room-detail-card {
  display:grid;
  gap:18px;
  padding:18px;
  border-color:rgba(122,83,48,.26);
  background:linear-gradient(180deg,#fffdf8 0%,#fffaf1 100%);
}
.admin-room-card-head {
  display:block;
  padding-bottom:14px;
  border-bottom:1px solid rgba(122,83,48,.14);
}
.admin-room-card-head h3 {
  font-size:clamp(22px,1.8vw,30px);
  line-height:1.05;
}
.admin-room-detail-card .admin-detail-list {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.admin-room-info-list {
  gap:0 24px;
}
.admin-room-info-list div {
  min-height:78px;
  padding:14px 0 14px;
}
.admin-room-info-list dt {
  color:#6f675d;
  font-size:11px;
  line-height:1.2;
  margin-bottom:8px;
}
.admin-room-info-list dd {
  font-size:15px;
  line-height:1.35;
  overflow-wrap:break-word;
}
.admin-room-info-list .field-other-notes,
.admin-room-info-list .field-confirmed-scope {
  grid-column:span 2;
}
.admin-room-info-list .field-design-stage dd {
  color:var(--brown);
  font-weight:800;
}
.ai-credit-card {
  display:grid;
  gap:8px;
  border-color:rgba(97,115,101,.34);
  background:linear-gradient(135deg,#f7fff4 0%,#fffdf8 65%);
}
.ai-credit-card p { margin:0; }
.ai-credit-card b {
  color:var(--accent-dark);
  font-size:28px;
}
.locked-ai-card {
  border-color:rgba(138,82,40,.28);
  background:linear-gradient(135deg,#fff8eb 0%,#fffdf8 72%);
}
.external-prompt-card summary {
  cursor:pointer;
  font-weight:900;
  color:var(--accent-dark);
}
.external-prompt-card .prompt-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0;
}
.edit-guidance {
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(222,214,200,.85);
  border-radius:8px;
  background:rgba(255,253,248,.72);
}
.edit-guidance h4 { margin:0 0 8px; }
.edit-guidance ul { margin:0; padding-left:18px; color:var(--muted); }
.generated-image-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.generated-image-card {
  margin:0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fffdf8;
  box-shadow:0 10px 24px rgba(48,38,24,.06);
}
.generated-image-card.selected {
  border-color:rgba(97,115,101,.72);
  box-shadow:0 0 0 2px rgba(97,115,101,.16), 0 14px 30px rgba(48,38,24,.08);
}
.generated-image-card img {
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  border-radius:8px;
  border:1px solid rgba(222,214,200,.9);
  background:#efe7d8;
}
.generated-image-card figcaption {
  margin:10px 0;
  color:var(--accent-dark);
}
.generated-image-card .compact-actions {
  align-items:flex-start;
}
.generated-image-card .compact-actions .btn,
.generated-image-card .compact-actions .text-btn {
  white-space:normal;
}
.guided-edit-card {
  display:grid;
  gap:12px;
}
.edit-action-grid {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.visually-hidden {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:pre !important;
  border:0 !important;
}
@media (max-width:900px) {
  .case-grid {
    grid-template-columns:1fr;
  }
  .admin-detail-list,
  .admin-room-detail-card .admin-detail-list {
    grid-template-columns:1fr;
  }
  .admin-room-info-list .field-other-notes,
  .admin-room-info-list .field-confirmed-scope {
    grid-column:auto;
  }
  .generated-image-grid {
    grid-template-columns:1fr;
  }
}

/* Step 6 AI design image page polish. Scoped to avoid changing estimate or quote pages. */
.image-generation-step {
  width:100%;
  max-width:1240px;
  margin:0 auto;
  display:grid;
  gap:16px;
}
.ai-workbench-layout {
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  align-items:start;
}
.workbench-overview-row {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:16px;
  width:100%;
}
.ai-workbench-sidebar {
  position:sticky;
  top:88px;
  display:grid;
  gap:14px;
}
.ai-workbench-main {
  display:grid;
  gap:16px;
  min-width:0;
}
.mini-summary-list {
  display:grid;
  gap:10px;
  margin:0;
}
.overview-summary-list {
  grid-template-columns:1fr;
  gap:0;
}
.mini-summary-list div {
  padding:10px 0;
  border-bottom:1px solid rgba(222,214,200,.65);
}
.overview-summary-list div {
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:14px;
  align-items:start;
  border-right:0;
  border-bottom:1px solid rgba(222,214,200,.65);
  padding:9px 0;
}
.overview-summary-list div:last-child {
  border-bottom:0;
}
.mini-summary-list div:last-child {
  border-bottom:0;
}
.mini-summary-list dt {
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.mini-summary-list dd {
  margin:4px 0 0;
  color:var(--ink);
  font-weight:800;
}
.overview-summary-list dd {
  margin:0;
}
.workbench-title {
  padding:4px 0 2px;
}
.workbench-title h2 {
  margin:0 0 8px;
}
.workbench-title p {
  margin:0;
  color:var(--muted);
  max-width:860px;
}
.image-generation-step .info-card {
  width:100%;
}
.prompt-editor-card {
  border-color:rgba(138,82,40,.24);
}
.prompt-editor-card .actions-row {
  align-items:center;
}
.ai-prompt-editor {
  width:100%;
  min-height:260px;
  resize:vertical;
  padding:16px;
  border:1px solid rgba(196,183,163,.85);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  font-family:Arial, sans-serif;
  font-size:14px;
  font-weight:400;
  line-height:1.55;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.image-generation-step .primary-image-generation-card {
  border-color:rgba(138,82,40,.28);
  background:linear-gradient(135deg,#fff6e6 0%,#fffdf8 72%);
}
.image-generation-step .ai-credit-card {
  gap:12px;
}
.image-generation-step .tidy-credit-card {
  gap:14px;
}
.image-generation-step .credit-summary {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.image-provider-status {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.image-provider-status div {
  min-width:0;
  padding:10px 12px;
  border:1px solid rgba(222,214,200,.85);
  border-radius:8px;
  background:rgba(255,253,248,.86);
}
.image-provider-status span {
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.image-generation-step .image-provider-status b {
  display:block;
  overflow:hidden;
  color:var(--accent-dark);
  font-size:16px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.provider-openai div:first-child {
  border-color:rgba(97,115,101,.45);
  background:rgba(238,249,236,.78);
}
.provider-mock div:first-child {
  border-color:rgba(181,95,50,.45);
  background:rgba(255,241,225,.78);
}
.provider-note {
  padding:8px 10px;
  border-radius:8px;
  background:rgba(243,237,226,.72);
}
.image-generation-step .credit-summary p {
  padding:12px;
  border:1px solid rgba(222,214,200,.85);
  border-radius:8px;
  background:rgba(255,253,248,.78);
}
.image-generation-step .tidy-credit-summary {
  gap:12px;
}
.image-generation-step .tidy-credit-summary p {
  min-height:112px;
  display:grid;
  align-content:center;
  gap:6px;
  padding:18px;
  border-color:rgba(138,82,40,.18);
  background:linear-gradient(180deg,#fffdf8 0%,#fbf5eb 100%);
}
.image-generation-step .credit-summary b {
  display:inline;
  font-size:clamp(24px,2.3vw,34px);
  line-height:1;
}
.image-generation-step .tidy-credit-summary b {
  display:block;
  color:var(--accent-dark);
  font-size:clamp(36px,3vw,48px);
}
.image-generation-step .credit-summary span {
  display:inline;
  margin-left:4px;
  color:var(--muted);
  font-weight:700;
}
.image-generation-step .tidy-credit-summary span {
  display:block;
  margin-left:0;
  font-size:16px;
  line-height:1.25;
}
.credit-note {
  margin:0;
  padding:12px 14px;
  border-radius:8px;
  background:rgba(243,237,226,.72);
}
.image-generation-step .credit-breakdown {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
  font-size:14px;
  color:#5e554a;
}
.image-generation-step .credit-breakdown span {
  padding:8px 10px;
  border-radius:8px;
  background:rgba(243,237,226,.75);
}
.image-generation-step .generated-image-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:14px;
}
.generated-image-empty {
  min-height:220px;
  display:grid;
  align-content:center;
  text-align:center;
  border-style:dashed;
}
.image-generation-step .generated-image-empty {
  text-align:left;
}
.image-generation-step .final-room-images-card .estimate-empty {
  justify-content:center;
  text-align:center;
}
.image-generation-step .final-room-images-card .image-empty {
  justify-items:center;
}
.selected-generated-preview {
  position:relative;
  margin:12px 0;
  border:1px solid rgba(222,214,200,.85);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.selected-image-display {
  display:grid;
  gap:12px;
  min-width:0;
}
.selected-image-display.selected-image-empty {
  min-height:220px;
}
.selected-image-display h3,
.selected-image-display h4 {
  margin:8px 0 0;
}
.selected-image-display .selected-generated-preview {
  display:block;
}
.selected-generated-preview img {
  width:100%;
  max-height:520px;
  object-fit:contain;
  display:block;
  background:#f7f1e8;
}
.selected-image-display .selected-generated-preview img {
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center center;
}
.selected-generated-preview figcaption,
.generated-image-card figcaption {
  padding:10px 12px;
}
.gallery-title-row {
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}
.gallery-heading {
  margin:0;
}
.gallery-upload-control {
  display:flex;
  flex:0 0 auto;
  align-items:center;
}
.generated-image-card {
  position:relative;
}
.generated-image-card img {
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
  display:block;
  border-radius:10px 10px 0 0;
}
.image-badges {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:0 10px 10px;
}
.image-badges span {
  padding:4px 8px;
  border-radius:999px;
  background:rgba(138,82,40,.1);
  color:var(--accent-dark);
  font-size:12px;
  font-weight:800;
}
.image-note-field {
  display:grid;
  gap:7px;
  padding:0 10px 10px;
  color:#5d5549;
  font-size:13px;
  font-weight:800;
}
.image-note-field textarea {
  min-height:78px;
  padding:10px;
  font-size:13px;
  line-height:1.4;
}
.image-note-summary {
  margin:0 10px 10px;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}
.image-note-summary.muted {
  color:#8d8376;
}
.generated-image-card figcaption {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  justify-content:space-between;
}
.generated-image-card figcaption span {
  padding:4px 8px;
  border-radius:999px;
  background:rgba(97,115,101,.12);
  color:#41503f;
  font-size:12px;
  font-weight:900;
}
.gallery-card-actions {
  padding:0 10px 12px;
  align-items:center;
}
.text-btn.danger {
  color:#8b3224;
}
.selected-image-controls {
  display:grid;
  gap:12px;
  min-width:0;
}
.selected-edit-actions {
  align-items:center;
}
.selected-edit-actions .btn {
  min-width:150px;
}
.upload-own-image-card .upload-card {
  width:100%;
}
.selected-view-actions,
.selected-image-edit-panel {
  padding:14px;
  border:1px solid rgba(222,214,200,.8);
  border-radius:12px;
  background:rgba(255,253,248,.78);
}
.selected-view-actions h4 {
  margin:0 0 6px;
}
.selected-view-actions .hint {
  margin:0 0 10px;
}
.selected-image-edit-panel .edit-mode-card {
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.selected-image-edit-panel .edit-mode-card h4 {
  margin-top:0;
}
.selected-review-images {
  margin:18px 0 4px;
  padding:14px;
  border:1px solid rgba(222,214,200,.85);
  border-radius:12px;
  background:rgba(255,253,248,.72);
}
.selected-review-images h4 {
  margin:0 0 12px;
}
.selected-review-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px;
}
.selected-review-item {
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:10px;
  border:1px solid rgba(222,214,200,.72);
  border-radius:10px;
  background:#fff;
}
.selected-review-item img {
  width:88px;
  aspect-ratio:16 / 9;
  object-fit:cover;
  border-radius:8px;
}
.selected-review-item p {
  margin:4px 0 0;
  color:var(--muted);
}
.final-image-note-fields.single-note textarea {
  min-height:96px;
}
.image-tool-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 12px;
  padding:6px;
  border:1px solid rgba(222,214,200,.76);
  border-radius:12px;
  background:rgba(243,237,226,.58);
}
.image-tool-tabs button {
  min-height:40px;
  padding:8px 14px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--muted);
  font-weight:900;
  cursor:pointer;
}
.image-tool-tabs button.active {
  border-color:rgba(138,82,40,.28);
  background:#fffdf8;
  color:var(--accent-dark);
  box-shadow:0 6px 18px rgba(48,38,24,.08);
}
.final-room-images-card {
  display:grid;
  gap:14px;
}
.final-room-images-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px;
}
.final-room-image-card {
  min-width:0;
  padding:12px;
  border:1px solid rgba(222,214,200,.85);
  border-radius:12px;
  background:#fffdf8;
}
.final-room-image-card figure {
  margin:0 0 12px;
  overflow:hidden;
  border:1px solid rgba(222,214,200,.85);
  border-radius:10px;
  background:#f7f1e8;
}
.final-room-image-card img {
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:contain;
  display:block;
}
.final-room-image-card figcaption {
  padding:8px 10px;
  color:var(--muted);
  font-size:13px;
  font-weight:900;
}
.final-image-layout {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:16px;
  align-items:start;
}
.final-primary-image,
.final-upload-card {
  min-width:0;
}
.final-primary-image h4 {
  margin:0 0 10px;
}
.final-primary-image figure {
  margin:0 0 12px;
  overflow:hidden;
  border:1px solid rgba(222,214,200,.85);
  border-radius:12px;
  background:#fff;
}
.final-primary-image img {
  display:block;
  width:100%;
  max-height:440px;
  object-fit:contain;
  background:#f7f1e8;
}
.final-primary-image figcaption {
  padding:10px 12px;
  color:var(--muted);
  font-weight:800;
}
.final-upload-card > .info-card {
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
}
.final-image-note-fields {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.final-image-note-fields.compact {
  grid-template-columns:1fr;
  margin-top:8px;
}
.final-image-note-fields label {
  display:grid;
  gap:6px;
  color:#5d5549;
  font-size:13px;
  font-weight:800;
}
.final-image-note-fields textarea {
  min-height:82px;
  padding:10px;
  font-size:13px;
  line-height:1.4;
}
.selected-review-item.detailed {
  grid-template-columns:128px minmax(0,1fr);
}
.selected-review-item.detailed img {
  width:128px;
}
.homecraft-notes-card {
  display:grid;
  gap:10px;
}
.homecraft-notes-compact {
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-items:start;
}
.homecraft-notes-compact textarea {
  min-height:92px;
  width:100%;
  resize:vertical;
}
.homecraft-notes-compact label {
  display:grid;
  gap:7px;
  align-content:start;
  color:#5d5549;
  font-size:13px;
  font-weight:800;
}
.homecraft-notes-compact select {
  width:100%;
}
.image-generation-step .guided-edit-card textarea {
  min-height:96px;
}
.edit-mode-card {
  padding:14px 0;
  border-top:1px solid rgba(222,214,200,.75);
}
.edit-mode-card:first-of-type {
  border-top:0;
}
.edit-mode-card h4 {
  margin:0 0 6px;
}
.area-edit-canvas {
  position:relative;
  margin:12px 0;
  border:1px solid rgba(196,183,163,.85);
  border-radius:12px;
  overflow:hidden;
  background:#f7f1e8;
  cursor:crosshair;
}
.area-edit-canvas img {
  width:100%;
  max-height:420px;
  object-fit:contain;
  display:block;
  user-select:none;
  pointer-events:none;
}
.selected-image-display .selected-image-canvas.area-edit-canvas {
  margin:12px 0;
}
.selected-image-display .selected-image-canvas.area-edit-canvas img {
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center center;
}
.selected-image-tool-card,
.selected-image-tool-panel {
  display:grid;
  gap:10px;
}
.selected-image-tool-card .btn,
.selected-image-tool-card .text-btn,
.selected-image-tool-card .hint,
.selected-image-tool-card .edit-area-list span {
  font-size:14px;
  line-height:1.18;
}
.selected-image-tool-card .compact-actions {
  align-items:center;
}
.selected-image-tool-card .compact-actions .hint {
  display:inline-flex;
  align-items:center;
  min-height:36px;
  margin:0;
  padding:0 2px;
}
.selected-image-tool-card .text-btn {
  min-height:36px;
  padding:8px 0;
}
@media (min-width:901px) {
  .selected-image-tool-card .compact-actions {
    flex-wrap:nowrap;
  }
}
.selected-image-tool-card .field {
  margin:0;
}
.selected-image-tool-panel {
  padding:14px;
  border:1px solid rgba(222,214,200,.8);
  border-radius:12px;
  background:rgba(255,253,248,.82);
}
.selected-image-tool-panel .edit-mode-card {
  padding:0;
  border:0;
  background:transparent;
}
.selected-image-overlay-panel {
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:2;
  max-height:calc(100% - 28px);
  overflow:auto;
  padding:12px;
  border:1px solid rgba(222,214,200,.9);
  border-radius:12px;
  background:rgba(255,253,248,.94);
  box-shadow:0 16px 42px rgba(48,38,24,.16);
}
.selected-image-overlay-panel .edit-mode-card {
  padding:0;
  border:0;
  background:transparent;
}
.selected-image-overlay-panel h4 {
  margin:0 0 6px;
}
.selected-image-overlay-panel .hint {
  margin:0;
}
.selected-image-overlay-panel textarea {
  min-height:70px;
}
.area-edit-canvas.selecting {
  outline:2px solid rgba(138,82,40,.5);
  touch-action:none;
}
.area-selection-svg,
.area-draft-svg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
}
.area-selection-svg polygon {
  fill:rgba(138,82,40,.18);
  stroke:#8a5228;
  stroke-width:.9;
  vector-effect:non-scaling-stroke;
}
.area-selection-svg text {
  font-family:Arial, sans-serif;
  font-size:4px;
  font-weight:800;
  paint-order:stroke;
  stroke:rgba(255,255,255,.9);
  stroke-width:.8;
  vector-effect:non-scaling-stroke;
}
.area-draft-svg polyline {
  fill:none;
  stroke:#8a5228;
  stroke-width:1.1;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.edit-area-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 10px;
}
.edit-area-list span {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border:1px solid var(--area-color);
  border-radius:999px;
  color:var(--area-color);
  background:rgba(255,255,255,.72);
  font-weight:800;
}
.view-option-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
}
.image-request-overlay {
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(32,25,18,.38);
  backdrop-filter:blur(3px);
}
.image-request-modal {
  width:min(460px, calc(100vw - 40px));
  padding:26px;
  border:1px solid rgba(222,214,200,.95);
  border-radius:18px;
  background:#fffaf1;
  box-shadow:0 28px 80px rgba(42,31,22,.28);
  text-align:center;
}
.image-request-modal h3 {
  margin:12px 0 8px;
}
.image-request-modal p {
  margin:0 0 8px;
}
.image-request-spinner {
  width:42px;
  height:42px;
  margin:0 auto;
  border:4px solid rgba(138,82,40,.2);
  border-top-color:#8a5228;
  border-radius:999px;
  animation:image-spin .9s linear infinite;
}
@keyframes image-spin {
  to { transform:rotate(360deg); }
}
.not-operating-step {
  max-width:820px;
  min-height:360px;
  align-content:center;
}
.not-operating-card {
  padding:clamp(24px,3vw,34px);
}
.not-operating-card h2 {
  margin:0 0 12px;
  font-size:clamp(28px,3vw,36px);
  line-height:1.08;
}
.not-operating-card p {
  font-size:clamp(16px,1.5vw,18px);
  line-height:1.5;
}
.tier3-prompt-card {
  width:100%;
  max-width:760px;
  margin:16px 0;
  padding:16px;
  border:1px solid rgba(222,214,200,.9);
  border-radius:12px;
  background:rgba(255,253,248,.76);
}
.tier3-prompt-card h3 {
  margin:0 0 8px;
}
.tier3-prompt-card p {
  margin:0 0 12px;
  font-size:15px;
}
.tier3-prompt-card .prompt-preview {
  max-height:260px;
  min-height:140px;
}
@media (max-width:900px) {
  .image-generation-step {
    max-width:100%;
  }
  .workbench-overview-row {
    grid-template-columns:1fr;
  }
  .workbench-overview-row .ai-credit-card {
    order:-1;
  }
  .overview-summary-list {
    grid-template-columns:1fr;
  }
  .overview-summary-list div {
    border-right:0;
    border-bottom:1px solid rgba(222,214,200,.65);
  }
  .ai-workbench-layout {
    grid-template-columns:1fr;
  }
  .ai-workbench-sidebar {
    position:static;
    order:-1;
  }
  .ai-prompt-editor {
    min-height:220px;
  }
  .image-generation-step .generated-image-grid,
  .image-generation-step .credit-summary,
  .image-generation-step .credit-breakdown,
  .final-image-layout,
  .homecraft-notes-compact,
  .final-image-note-fields,
  .view-option-grid {
    grid-template-columns:1fr;
  }
  .gallery-title-row {
    align-items:flex-start;
  }
  .selected-image-overlay-panel {
    position:static;
    max-height:none;
    margin:10px;
  }
  .image-tool-tabs {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .image-tool-tabs button {
    padding-inline:8px;
  }
  .selected-review-item.detailed {
    grid-template-columns:1fr;
  }
  .selected-review-item.detailed img {
    width:100%;
  }
  .image-mobile-cta {
    display:flex;
  }
}

/* Absolute final override for before/after cards. Earlier gallery styles are more specific. */
.gallery-page .case-grid,
.case-grid {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
}
.gallery-page .case-card,
.case-card {
  min-height:0 !important;
}
.gallery-page .case-card .visual.image-pair,
.gallery-page .case-card .image-pair,
.case-card .visual.image-pair,
.case-card .image-pair,
.home-pair,
.start-pair {
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}
.gallery-page .case-card .case-photo,
.case-card .case-photo,
.home-pair .case-photo,
.start-pair .case-photo {
  width:100% !important;
  aspect-ratio:16 / 9 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
}
.gallery-page .case-card .case-photo img,
.case-card .case-photo img,
.home-pair .case-photo img,
.start-pair .case-photo img {
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center !important;
}
.visual:after,
.image-pair:after,
.case-card .visual:after,
.home-pair:after,
.start-pair:after {
  content:none !important;
  display:none !important;
}
.similar-plan-action {
  justify-content:flex-start !important;
  text-align:left !important;
  white-space:nowrap !important;
  min-width:0 !important;
  width:auto !important;
  font-size:12px !important;
  line-height:1 !important;
  padding:8px 10px !important;
}
.preview-sample-action {
  white-space:nowrap !important;
  text-align:left !important;
  justify-content:flex-start !important;
  font-size:12px !important;
  line-height:1 !important;
  padding:8px 10px !important;
}
.case-card .case-actions {
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr) !important;
}
.case-actions .similar-plan-action {
  flex:1 1 auto;
}
@media (max-width:1050px) {
  .gallery-page .case-grid,
  .case-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:720px) {
  .gallery-page .case-grid,
  .case-grid {
    grid-template-columns:1fr !important;
  }
}

/* Estimate workflow width and room-specific scope controls. */
.workflow-full,
.panel {
  max-width:1160px;
  width:100%;
}
.estimate-grid,
.estimate-summary,
.package-option-grid,
.compact-breakdown,
.estimate-details-grid,
.scope-editor {
  width:100%;
}
.scope-card.scope-row {
  grid-template-columns:minmax(240px,.62fr) minmax(0,2.08fr) minmax(128px,.3fr) !important;
  gap:18px !important;
}
.scope-card .core-scope-fields {
  grid-template-columns:repeat(3,minmax(170px,1fr)) !important;
  gap:12px !important;
}
.scope-card .scope-row-head h3 {
  font-size:clamp(18px,1.25vw,22px) !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.scope-card .compact-actions {
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:10px !important;
}
.add-scope-selector {
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(260px,1fr) auto;
  gap:16px;
  align-items:end;
}
.add-scope-selector h3,
.add-scope-selector p {
  margin:0;
}
.add-scope-selector p {
  color:var(--muted);
  line-height:1.4;
}
.room-finish-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.estimate-summary .quote-card strong,
.estimate-summary .quote-card.recommended strong,
.estimate-summary .quote-card.recommended .primary-range,
.estimate-summary .quote-card.benchmark-card strong {
  font-size:clamp(19px,1.55vw,27px) !important;
  line-height:1.08 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.package-option strong {
  font-size:clamp(17px,1.35vw,22px) !important;
  line-height:1.08 !important;
  white-space:nowrap !important;
}
.compact-breakdown .estimate-line {
  grid-template-columns:minmax(0,1fr) minmax(270px,auto) !important;
  gap:18px !important;
}
.compact-breakdown .estimate-line strong {
  font-size:clamp(16px,1.2vw,19px);
  white-space:nowrap;
  text-align:right;
}
.scope-card .scope-readonly {
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.25 !important;
}
@media (max-width:900px) {
  .scope-card.scope-row,
  .add-scope-selector,
  .compact-breakdown .estimate-line {
    grid-template-columns:1fr !important;
  }
  .compact-breakdown .estimate-line strong {
    text-align:left;
  }
}
@media (max-width:520px) {
  .compact-breakdown {
    grid-template-columns:minmax(0,1fr) !important;
  }
  .compact-breakdown .estimate-line {
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
    box-sizing:border-box;
  }
  .compact-breakdown .estimate-line strong {
    white-space:normal;
  }
}

@media (max-width:900px) {
  .scope-editor {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .scope-card.scope-row {
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    padding:18px !important;
  }
  .scope-card .scope-row-head,
  .scope-card .core-scope-fields,
  .scope-card .scope-card-footer,
  .scope-card .scope-details {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
  .scope-card .scope-row-head h3 {
    font-size:22px !important;
    line-height:1.15 !important;
  }
  .scope-card .compact-actions {
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .estimate-actions {
    position:relative;
    z-index:2;
    margin-top:18px;
  }
}

/* Step 6 mobile summary polish: keep label/value text inside each card cleanly. */
@media (min-width:901px) {
  .image-generation-step .prompt-editor-card > .section-head.compact-head p {
    max-width:none !important;
    white-space:nowrap !important;
  }
  .image-generation-step .final-room-images-card > .section-head.compact-head p {
    max-width:none !important;
    white-space:nowrap !important;
  }
}
@media (max-width:720px) {
  .image-generation-step .overview-summary-list div {
    grid-template-columns:1fr !important;
    gap:5px !important;
    padding:14px 0 !important;
  }
  .image-generation-step .overview-summary-list dt,
  .image-generation-step .mini-summary-list dt {
    font-size:11px !important;
    line-height:1.25 !important;
    letter-spacing:.035em !important;
  }
  .image-generation-step .overview-summary-list dd,
  .image-generation-step .mini-summary-list dd {
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    font-size:18px !important;
    line-height:1.28 !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
  .image-generation-step .overview-summary-list dd {
    font-weight:800 !important;
  }
  .image-generation-step .final-room-images-card > .section-head.compact-head p {
    white-space:normal !important;
  }
  .image-generation-step .prompt-editor-card > .section-head.compact-head p {
    white-space:normal !important;
  }
}
