: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:minmax(0,1fr);
  gap:12px;
}
.estimate-details {
  width:100%;
  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); }
.concept-fee-note {
  margin:14px 0 0;
}
.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-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.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;
}
.file-row button.before-view-action { color:var(--accent-dark); }
.primary-before-help {
  font-size:12px !important;
  line-height:1.4 !important;
  color:var(--muted) !important;
}
.primary-before-badge {
  display:inline-flex !important;
  width:max-content;
  max-width:100%;
  margin-top:5px;
  padding:3px 6px;
  border-radius:5px;
  background:#e8f1e6;
  color:#425b3f;
  font-size:11px;
  font-weight:800;
}
.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 {
    display:grid;
    gap:12px;
    min-height:auto;
  }
  .landing-hero .package-list li {
    position:relative;
    inset:auto;
    left:auto;
    width:100%;
    min-height:58px;
    font-size:14px;
  }
  .landing-hero .package-list li:nth-child(1),
  .landing-hero .package-list li:nth-child(2),
  .landing-hero .package-list li:nth-child(3),
  .landing-hero .package-list li:nth-child(4) {
    top:auto;
    left:auto;
  }
  .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;
}
.scope-card .scope-detail-toggle .estimate-from-length {
  width:100%;
  min-height:48px;
  margin:0;
  box-sizing:border-box;
  justify-content:flex-start;
  white-space:nowrap;
  line-height:1.2;
}
.scope-card .scope-detail-toggle .estimate-from-length input {
  width:auto !important;
  min-width:16px;
  min-height:16px;
  flex:0 0 auto;
  margin:0;
}
@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 .laptop-single-line {
    max-width:none;
    white-space:nowrap;
  }
  .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;
  }
}

/* Local feature upgrades: reference roles, style continuation, material board, comparison and layout suggestions. */
.reference-meta-list,
.style-dna-grid,
.material-board-grid,
.layout-suggestion-grid {
  display:grid;
  gap:12px;
}
.reference-meta-row {
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px;
  background:rgba(255,255,255,.58);
}
.reference-file-head {
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.reference-file-head span {
  color:var(--muted);
  font-size:12px;
}
.reference-meta-grid,
.continue-style-controls {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  align-items:end;
}
.reference-meta-grid label,
.continue-style-controls label {
  display:grid;
  gap:6px;
  font-weight:700;
  color:var(--ink);
}
.reference-meta-grid textarea {
  min-height:72px;
}
.style-dna-grid,
.material-board-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.style-dna-grid div,
.material-board-grid div {
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px;
  background:rgba(255,255,255,.62);
}
.style-dna-grid span,
.material-board-grid span {
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  margin-bottom:6px;
}
.style-dna-grid b,
.material-board-grid p {
  margin:0;
  line-height:1.35;
}
.before-after-frame {
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:8px;
  border:1px solid var(--line);
  background:#f7f3ec;
}
.before-after-frame img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.after-image-wrap {
  position:absolute;
  inset:0;
  width:var(--after-width,50%);
  overflow:hidden;
  border-right:3px solid var(--brand);
}
.before-label,
.after-label {
  position:absolute;
  top:10px;
  padding:5px 8px;
  border-radius:6px;
  background:rgba(255,255,255,.86);
  font-size:12px;
  font-weight:800;
}
.after-label { left:10px; }
.before-label { right:10px; }
.before-after-slider {
  width:100%;
  margin-top:12px;
}
.layout-suggestion-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:14px;
}
.layout-suggestion-grid section {
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px;
  background:rgba(255,255,255,.62);
}
.layout-suggestion-grid section:nth-child(2) {
  grid-row:span 2;
}
.suggestion-check {
  display:flex;
  gap:8px;
  align-items:flex-start;
  padding:8px 0;
  line-height:1.35;
}
.suggestion-check input {
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  flex:0 0 18px !important;
  margin-top:2px !important;
  padding:0 !important;
}
@media (max-width:760px) {
  .reference-meta-grid,
  .continue-style-controls,
  .style-dna-grid,
  .material-board-grid,
  .layout-suggestion-grid {
    grid-template-columns:1fr;
  }
  .layout-suggestion-grid section:nth-child(2) {
    grid-row:auto;
  }
  .file-row {
    grid-template-columns:1fr;
  }
  .file-row-actions {
    justify-content:flex-start;
  }
}

/* Guided Start and clearer workflow progression. */
.step-title-block {
  display:grid;
  gap:6px;
  margin-bottom:22px;
}
.step-title-block h2,
.step-title-block p {
  margin:0;
}
.step-kicker {
  color:var(--brand);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}
.field-status {
  display:inline-block;
  margin-left:6px;
  font-size:11px;
  font-weight:700;
  text-transform:none;
}
.field-status.required { color:#8a421f; }
.field-status.optional { color:var(--muted); }
.guided-card-heading {
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:18px;
}
.guided-card-heading > span {
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--brand);
  color:#fff;
  font-size:13px;
  font-weight:800;
}
.guided-card-heading h2,
.guided-card-heading p { margin:0; }
.guided-card-heading p {
  margin-top:4px;
  color:var(--muted);
}
.step-requirement-status {
  margin:14px 0 0;
  color:#7d4b2b;
  font-size:13px;
  font-weight:700;
}
.progress-step.completed span {
  background:#58705d;
  color:#fff;
}
.progress-step.locked {
  opacity:.48;
  cursor:not-allowed;
}

/* The public Studio uses one guided eight-step workflow. */
.workflow-topline,
.workflow-utility {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.workflow-utility {
  justify-content:flex-end;
  margin-left:auto;
}
.autosave-status {
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}
.step-guidance-card {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:20px;
  align-items:start;
  margin:0 0 22px;
  padding:18px 20px;
  border:1px solid #dacbb9;
  border-left:4px solid var(--sage);
  border-radius:8px;
  background:#f8f5ef;
}
.step-guidance-card p {
  margin:5px 0 0;
  color:var(--ink);
}
.step-guidance-label {
  display:block;
  color:var(--brand);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}
.step-guidance-lists {
  display:grid;
  gap:8px;
}
.step-guidance-lists p {
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:10px;
  margin:0;
  font-size:14px;
}
.step-guidance-lists b {
  color:var(--brand);
}
.step-guidance-lists span {
  min-width:0;
  overflow-wrap:anywhere;
}
.room-setup-card {
  margin-bottom:18px;
}
.room-setup-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.my-rooms-section {
  padding-top:18px;
  border-top:1px solid var(--line);
}
.compact-room-list {
  margin-top:14px;
}
.concept-card-title {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.concept-card-title h3 {
  margin:0;
}
.guided-concept-grid {
  margin-top:20px;
}

@media (max-width:720px) {
  .workflow-topline {
    align-items:flex-start;
  }
  .workflow-utility {
    display:grid;
    justify-items:end;
    gap:8px;
  }
  .autosave-status {
    font-size:11px;
    text-align:right;
  }
  .step-guidance-card {
    grid-template-columns:1fr;
    gap:14px;
    padding:15px;
  }
  .step-guidance-lists p {
    grid-template-columns:70px minmax(0,1fr);
    font-size:13px;
  }
  .room-setup-grid {
    grid-template-columns:1fr;
  }
  .my-rooms-section .section-head {
    display:grid;
  }
  .my-rooms-section .section-head .btn {
    width:100%;
  }
}
.visual-flow-guide {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.visual-flow-guide span {
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fffaf2;
  color:var(--ink);
  font-size:13px;
  font-weight:700;
}
.visual-flow-guide b {
  width:24px;
  height:24px;
  flex:0 0 24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--brand);
  color:#fff;
  font-size:12px;
}
.before-after-instruction {
  margin:8px 0 0;
  color:var(--ink);
  font-weight:700;
  text-align:center;
}
.before-after-card > .hint {
  margin-top:6px;
  text-align:center;
}
.before-after-empty .section-head { margin-bottom:14px; }

@media (max-width:720px) {
  .visual-flow-guide { grid-template-columns:1fr; }
  .visual-flow-guide span { width:100%; }
  .before-label,
  .after-label {
    max-width:44%;
    white-space:normal;
    line-height:1.2;
  }
  .guided-card-heading h2 { font-size:24px; }
  .step-actions {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .step-actions .btn { width:100%; }
  .quick-actions .btn { width:100%; }
}

/* Interactive sample, walkthrough video and progressive Ballpark disclosure. */
.tutorial-layout {
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:34px;
  align-items:center;
}
.tutorial-copy h2 {
  margin:8px 0 12px;
  max-width:620px;
}
.tutorial-copy p {
  max-width:600px;
  margin:0 0 20px;
  color:var(--muted);
}
.tutorial-video-frame {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:#eee7dc;
  box-shadow:var(--shadow-soft);
}
.tutorial-video-media {
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:#21170f;
}
.tutorial-video-frame video {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.tutorial-caption {
  min-height:42px;
  margin:0;
  padding:10px 14px;
  display:grid;
  place-items:center;
  border-top:1px solid var(--line);
  background:#fffdf8;
  color:var(--ink);
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sample-walkthrough-banner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
  padding:14px 16px;
  border:1px solid rgba(77,105,78,.34);
  border-left:4px solid var(--sage);
  border-radius:8px;
  background:#f4f8f1;
}
.sample-walkthrough-banner div {
  min-width:0;
  display:grid;
  gap:3px;
}
.sample-walkthrough-banner b { color:var(--ink); }
.sample-walkthrough-banner span {
  color:var(--muted);
  overflow-wrap:anywhere;
}
.step-guidance-card {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  padding:0;
  overflow:hidden;
}
.step-guidance-card > div {
  min-width:0;
  padding:16px 18px;
}
.step-guidance-card > div + div {
  border-left:1px solid #ded3c4;
}
.step-guidance-card p {
  overflow-wrap:anywhere;
}
.ballpark-result {
  display:grid;
  gap:20px;
}
.ballpark-answer {
  padding:24px;
  border:1px solid rgba(77,105,78,.38);
  border-left:5px solid var(--sage);
  border-radius:8px;
  background:#f4f8f1;
}
.ballpark-answer > span {
  display:block;
  color:var(--brand);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}
.ballpark-answer strong {
  display:block;
  margin-top:5px;
  color:var(--accent-dark);
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(30px,4vw,46px);
  line-height:1.1;
  overflow-wrap:anywhere;
}
.ballpark-answer p {
  margin:9px 0 0;
  color:var(--muted);
}
.package-choice-block {
  display:grid;
  gap:9px;
}
.package-segmented {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#eee9e0;
}
.package-segmented button {
  min-width:0;
  min-height:66px;
  display:grid;
  place-content:center;
  gap:3px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font:inherit;
  text-align:center;
}
.package-segmented button:hover { background:#fffaf3; }
.package-segmented button.active {
  border-color:rgba(129,76,37,.3);
  background:#fff;
  color:var(--brand);
  box-shadow:0 3px 10px rgba(80,53,30,.08);
}
.package-segmented b {
  font-size:15px;
  line-height:1.2;
}
.package-segmented span {
  min-width:0;
  font-size:12px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.package-selection-copy {
  margin:0;
  color:var(--muted);
}
.ballpark-section {
  padding-top:20px;
  border-top:1px solid var(--line);
}
.included-scope-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 24px;
  margin:0;
  padding:0;
  list-style:none;
}
.included-scope-list li {
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 0;
}
.included-scope-list .check {
  width:23px;
  height:23px;
  flex:0 0 23px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e1eee0;
  color:var(--sage);
  font-weight:900;
}
.included-scope-list b,
.included-scope-list small {
  display:block;
  overflow-wrap:anywhere;
}
.included-scope-list small {
  margin-top:2px;
  color:var(--muted);
  font-size:13px;
}
.calculation-summary-grid,
.sample-package-summary {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
.calculation-summary-grid > div,
.sample-package-summary > div {
  min-width:0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:6px;
  background:#fff;
}
.calculation-summary-grid span,
.calculation-summary-grid b,
.sample-package-summary span,
.sample-package-summary b {
  display:block;
  overflow-wrap:anywhere;
}
.calculation-summary-grid span,
.sample-package-summary span {
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
}
.calculation-summary-grid b,
.sample-package-summary b { margin-top:4px; }
.scope-review-details > .scope-editor {
  margin-top:14px;
}
.room-finish-actions {
  margin-top:2px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.sample-complete-card {
  padding:26px;
  border:1px solid rgba(77,105,78,.35);
  border-radius:8px;
  background:#f7faf5;
}
.sample-complete-card h3 {
  margin:7px 0 8px;
  font-size:26px;
}
.sample-complete-card > p { color:var(--muted); }
.sample-submit-preview {
  margin:16px 0;
  padding:14px 16px;
  border-left:3px solid var(--brand);
  background:#fff;
}
.sample-submit-preview span { font-weight:800; }
.sample-submit-preview p { margin:4px 0 0; color:var(--muted); }

@media (max-width:900px) {
  .tutorial-layout { grid-template-columns:1fr; }
  .tutorial-copy { max-width:720px; }
}
@media (max-width:720px) {
  .tutorial-caption {
    min-height:38px;
    padding:9px 8px;
    font-size:11px;
  }
  .sample-walkthrough-banner {
    align-items:stretch;
    flex-direction:column;
  }
  .sample-walkthrough-banner .btn { width:100%; }
  .step-guidance-card { grid-template-columns:1fr; }
  .step-guidance-card > div + div {
    border-left:0;
    border-top:1px solid #ded3c4;
  }
  .package-segmented { grid-template-columns:1fr; }
  .package-segmented button {
    min-height:54px;
    grid-template-columns:auto minmax(0,1fr);
    place-content:center;
    align-items:center;
    gap:10px;
    text-align:left;
  }
  .package-segmented span { text-align:right; }
  .included-scope-list,
  .calculation-summary-grid,
  .sample-package-summary { grid-template-columns:1fr; }
  .ballpark-answer,
  .sample-complete-card { padding:18px; }
  .ballpark-answer strong { font-size:30px; }
  .room-finish-actions { display:grid; grid-template-columns:1fr; }
  .room-finish-actions .btn { width:100%; }
}

/* Local-only interior motion effects preview. */
.effects-preview-page {
  min-height:100vh;
  padding:54px clamp(18px,4vw,60px) 72px;
  background:#f3eee5;
}
.effects-preview-intro,
.effects-preview-list {
  width:min(100%,1320px);
  margin:0 auto;
}
.effects-preview-intro {
  max-width:1320px;
  margin-bottom:30px;
}
.effects-preview-intro h1 {
  margin:8px 0 10px;
  font-family:Georgia,serif;
  font-size:clamp(38px,5vw,66px);
  line-height:1;
}
.effects-preview-intro p {
  max-width:720px;
  margin:0;
  color:var(--muted);
  font-size:17px;
}
.effects-preview-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.effect-preview {
  --fx-x:50%;
  --fx-y:48%;
  --fx-dx:0;
  --fx-dy:0;
  --fx-pan-x:0px;
  --fx-pan-y:0px;
  --fx-depth-image-x:0px;
  --fx-depth-image-y:0px;
  --fx-depth-one-x:0px;
  --fx-depth-one-y:0px;
  --fx-depth-two-x:0px;
  --fx-depth-two-y:0px;
  --fx-depth-three-x:0px;
  --fx-depth-three-y:0px;
  min-width:0;
  overflow:hidden;
  border:1px solid #d5c8b7;
  border-radius:8px;
  background:#fffdf8;
  box-shadow:0 18px 40px rgba(61,42,25,.1);
}
.effect-preview-media {
  position:relative;
  min-height:410px;
  overflow:hidden;
  isolation:isolate;
  touch-action:pan-y;
  background:#282018;
}
.effect-preview-media > img {
  position:absolute;
  inset:-14px;
  width:calc(100% + 28px);
  height:calc(100% + 28px);
  display:block;
  object-fit:cover;
  transform:translate3d(var(--fx-pan-x),var(--fx-pan-y),0) scale(1.025);
  transition:transform .18s ease-out,filter .25s ease;
}
.effect-preview-number {
  position:absolute;
  top:18px;
  left:18px;
  z-index:6;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.5);
  border-radius:6px;
  background:rgba(28,22,17,.7);
  color:#fff;
  font-weight:900;
  backdrop-filter:blur(8px);
}
.effect-selected-badge {
  position:absolute;
  top:20px;
  right:18px;
  z-index:6;
  padding:7px 10px;
  border:1px solid rgba(218,238,214,.72);
  border-radius:6px;
  background:rgba(45,74,49,.76);
  color:#fff;
  font-size:12px;
  font-weight:850;
  backdrop-filter:blur(8px);
}
.effect-preview-copy {
  position:absolute;
  z-index:6;
  right:20px;
  bottom:20px;
  left:20px;
  padding:16px 18px;
  border-left:3px solid #e2bd84;
  background:rgba(29,23,18,.72);
  color:#fff;
  backdrop-filter:blur(9px);
}
.effect-preview-copy h2 {
  margin:0 0 4px;
  color:#fff;
  font-family:Georgia,serif;
  font-size:24px;
}
.effect-preview-copy p {
  margin:0;
  color:#f5eee4;
  line-height:1.4;
}
.effect-preview-use {
  min-height:66px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:14px 18px;
}
.effect-preview-use b {
  color:var(--brand);
  font-size:12px;
  text-transform:uppercase;
}
.effect-preview-use span {
  min-width:0;
  color:var(--muted);
  overflow-wrap:anywhere;
}
.effect-daylight-wash,
.effect-ambient-light {
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}
.effect-daylight-wash {
  background:radial-gradient(circle at var(--fx-x) var(--fx-y),rgba(244,184,91,.42) 0 4%,rgba(34,170,178,.4) 7%,rgba(18,117,132,.2) 12%,transparent 22%);
  mix-blend-mode:normal;
}
.effect-depth .effect-preview-media > img {
  transform:translate3d(var(--fx-depth-image-x),var(--fx-depth-image-y),0) scale(1.045);
}
.effect-depth-panel {
  position:absolute;
  z-index:3;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(229,207,175,.16);
  box-shadow:0 18px 35px rgba(36,23,14,.16);
  backdrop-filter:blur(1px);
  transition:transform .16s ease-out;
}
.depth-one {
  top:15%;
  right:8%;
  width:28%;
  height:42%;
  transform:translate3d(var(--fx-depth-one-x),var(--fx-depth-one-y),0);
}
.depth-two {
  top:25%;
  right:21%;
  width:18%;
  height:48%;
  transform:translate3d(var(--fx-depth-two-x),var(--fx-depth-two-y),0);
}
.depth-three {
  top:12%;
  right:2%;
  width:9%;
  height:60%;
  transform:translate3d(var(--fx-depth-three-x),var(--fx-depth-three-y),0);
}
.effect-blueprint-base {
  filter:grayscale(.82) brightness(.55) contrast(1.08);
}
.effect-blueprint-reveal {
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  clip-path:circle(148px at var(--fx-x) var(--fx-y));
  transition:clip-path .15s ease-out;
}
.effect-blueprint-reveal img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:brightness(1.08) saturate(1.08);
}
.effect-blueprint-reveal:after {
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px);
  background-size:34px 34px;
  mix-blend-mode:screen;
}
.effect-ambient .effect-preview-media > img {
  animation:ambient-room-drift 10s ease-in-out infinite alternate;
}
.effect-ambient-light {
  background:linear-gradient(112deg,rgba(255,235,192,.38),transparent 40%,rgba(112,145,141,.13));
  mix-blend-mode:screen;
  animation:ambient-light-shift 8s ease-in-out infinite alternate;
}
@keyframes ambient-room-drift {
  from { transform:translate3d(-7px,-3px,0) scale(1.035); }
  to { transform:translate3d(8px,4px,0) scale(1.065); }
}
@keyframes ambient-light-shift {
  from { opacity:.45; transform:translateX(-2%); }
  to { opacity:.82; transform:translateX(3%); }
}

.background-effects-heading,
.background-effects-list {
  width:min(100%,1320px);
  margin-right:auto;
  margin-left:auto;
}
.background-effects-heading {
  margin-top:72px;
  margin-bottom:24px;
}
.background-effects-heading h2 {
  margin:8px 0 9px;
  font-family:Georgia,serif;
  font-size:clamp(32px,4vw,48px);
}
.background-effects-heading p {
  max-width:760px;
  margin:0;
  color:var(--muted);
  font-size:16px;
}
.background-effects-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.page-background-preview {
  --fx-x:50%;
  --fx-y:48%;
  --fx-pan-x:0px;
  --fx-pan-y:0px;
  --fx-depth-one-x:0px;
  --fx-depth-one-y:0px;
  --fx-depth-two-x:0px;
  --fx-depth-two-y:0px;
  --fx-depth-three-x:0px;
  --fx-depth-three-y:0px;
  min-width:0;
  overflow:hidden;
  border:1px solid #d5c8b7;
  border-radius:8px;
  background:#fffdf8;
  box-shadow:0 18px 40px rgba(61,42,25,.1);
}
.page-background-canvas {
  position:relative;
  min-height:390px;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  touch-action:pan-y;
}
.background-option-number {
  position:absolute;
  top:18px;
  left:18px;
  z-index:8;
  padding:8px 10px;
  border:1px solid rgba(85,58,36,.24);
  border-radius:6px;
  background:rgba(255,253,248,.82);
  color:var(--brand);
  font-size:12px;
  font-weight:900;
  backdrop-filter:blur(8px);
}
.background-demo-card {
  position:relative;
  z-index:7;
  width:min(78%,430px);
  min-width:0;
  padding:22px;
  border:1px solid rgba(191,171,144,.75);
  border-radius:8px;
  background:rgba(255,253,248,.9);
  box-shadow:0 20px 50px rgba(67,45,27,.14);
  backdrop-filter:blur(9px);
}
.background-demo-card > span {
  color:var(--brand);
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
}
.background-demo-card h3 {
  margin:6px 0 7px;
  font-family:Georgia,serif;
  font-size:26px;
}
.background-demo-card p {
  margin:0;
  color:var(--muted);
  line-height:1.4;
}
.background-demo-fields {
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:9px;
  margin-top:17px;
}
.background-demo-fields i {
  min-width:0;
  height:42px;
  border:1px solid #d8cbb8;
  border-radius:6px;
  background:#fff;
}
.background-preview-caption {
  min-height:94px;
  padding:17px 19px;
  border-top:1px solid #d5c8b7;
}
.background-preview-caption h3 {
  margin:0 0 5px;
  font-family:Georgia,serif;
  font-size:21px;
}
.background-preview-caption p {
  margin:0;
  color:var(--muted);
  line-height:1.4;
}
.background-window-light .page-background-canvas {
  background:#eee4d4;
}
.background-window-frame {
  position:absolute;
  z-index:2;
  top:-70px;
  right:-38px;
  width:72%;
  height:125%;
  border:18px solid rgba(255,248,220,.36);
  background:rgba(255,244,204,.2);
  box-shadow:0 0 80px rgba(255,225,158,.34);
  transform:translate3d(var(--fx-depth-one-x),var(--fx-depth-one-y),0) rotate(-13deg);
  transition:transform .2s ease-out;
}
.background-window-frame i {
  position:absolute;
  display:block;
  background:rgba(111,83,53,.13);
}
.background-window-frame i:first-child {
  top:0;
  bottom:0;
  left:47%;
  width:18px;
}
.background-window-frame i:last-child {
  top:48%;
  right:0;
  left:0;
  height:18px;
}
.background-plan-grid .page-background-canvas {
  background-color:#eef1eb;
  background-image:linear-gradient(rgba(80,100,86,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(80,100,86,.12) 1px,transparent 1px);
  background-position:var(--fx-pan-x) var(--fx-pan-y);
  background-size:32px 32px;
  transition:background-position .18s ease-out;
}
.background-plan-corner {
  position:absolute;
  z-index:2;
  width:180px;
  height:130px;
  border-color:rgba(76,104,82,.32);
}
.background-plan-corner.corner-one {
  top:36px;
  right:42px;
  border-top:2px solid;
  border-right:2px solid;
  transform:translate3d(var(--fx-depth-one-x),var(--fx-depth-one-y),0);
}
.background-plan-corner.corner-two {
  bottom:38px;
  left:44px;
  border-bottom:2px solid;
  border-left:2px solid;
  transform:translate3d(var(--fx-depth-two-x),var(--fx-depth-two-y),0);
}
.background-material-panels .page-background-canvas {
  background:#ede5dc;
}
.background-material-slab {
  position:absolute;
  z-index:2;
  border:1px solid rgba(102,76,55,.18);
  box-shadow:0 20px 40px rgba(73,47,28,.1);
  transition:transform .18s ease-out;
}
.material-slab-one {
  top:-10%;
  left:-4%;
  width:44%;
  height:120%;
  background:#d2b58f;
  transform:translate3d(var(--fx-depth-one-x),var(--fx-depth-one-y),0) rotate(8deg);
}
.material-slab-two {
  top:10%;
  right:4%;
  width:38%;
  height:94%;
  background:rgba(234,230,218,.86);
  transform:translate3d(var(--fx-depth-two-x),var(--fx-depth-two-y),0) rotate(-7deg);
}
.material-slab-three {
  right:21%;
  bottom:-18%;
  width:34%;
  height:70%;
  background:rgba(96,117,106,.34);
  transform:translate3d(var(--fx-depth-three-x),var(--fx-depth-three-y),0) rotate(16deg);
}
.background-perspective-lines .page-background-canvas {
  background:#ece7df;
}
.background-perspective-wall,
.background-perspective-floor {
  position:absolute;
  z-index:2;
  right:-8%;
  left:-8%;
  pointer-events:none;
}
.background-perspective-wall {
  top:0;
  height:58%;
  background:repeating-linear-gradient(90deg,transparent 0,transparent 88px,rgba(106,77,50,.14) 89px,rgba(106,77,50,.14) 90px);
  transform:translateX(var(--fx-pan-x));
}
.background-perspective-floor {
  bottom:-42%;
  height:92%;
  border-top:1px solid rgba(106,77,50,.18);
  background:repeating-linear-gradient(90deg,transparent 0,transparent 74px,rgba(106,77,50,.16) 75px,rgba(106,77,50,.16) 76px);
  transform:perspective(420px) rotateX(62deg) translateX(var(--fx-pan-x));
  transform-origin:top center;
}

/* Premium background concepts replace the earlier diagram-like studies. */
.premium-background-list .page-background-canvas {
  min-height:430px;
  background:#182522;
}
.premium-background-image {
  position:absolute;
  inset:-16px;
  z-index:0;
  width:calc(100% + 32px);
  height:calc(100% + 32px);
  object-fit:cover;
  transform:translate3d(var(--fx-pan-x),var(--fx-pan-y),0) scale(1.045);
  transition:transform .2s ease-out,filter .25s ease;
}
.premium-background-shade {
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(112deg,rgba(11,29,29,.82),rgba(22,33,31,.48) 48%,rgba(66,43,28,.6));
  pointer-events:none;
}
.premium-background-list .background-option-number {
  border-color:rgba(129,226,222,.42);
  background:rgba(11,32,33,.74);
  color:#d8fffb;
  box-shadow:0 0 24px rgba(39,181,180,.18);
}
.premium-demo-card {
  border-color:rgba(154,219,209,.28);
  background:rgba(247,248,241,.9);
  box-shadow:0 24px 70px rgba(3,16,17,.34),0 0 0 1px rgba(255,255,255,.2) inset;
}
.chromatic-cursor-halo {
  position:absolute;
  inset:0;
  z-index:3;
  background:radial-gradient(circle at var(--fx-x) var(--fx-y),rgba(244,175,76,.5) 0 4%,rgba(30,183,185,.45) 7%,rgba(15,110,124,.18) 13%,transparent 23%);
  pointer-events:none;
}
.refractive-pane {
  position:absolute;
  z-index:2;
  border:1px solid rgba(165,242,232,.24);
  background:linear-gradient(135deg,rgba(117,232,221,.2),rgba(255,198,112,.09) 62%,rgba(255,255,255,.03));
  box-shadow:0 20px 60px rgba(0,20,22,.25),inset 0 1px rgba(255,255,255,.32);
  backdrop-filter:blur(3px) saturate(1.15);
  transition:transform .18s ease-out;
}
.refractive-pane.pane-one {
  top:-12%;
  right:4%;
  width:44%;
  height:126%;
  transform:translate3d(var(--fx-depth-one-x),var(--fx-depth-one-y),0) skewX(-10deg);
}
.refractive-pane.pane-two {
  top:12%;
  right:20%;
  width:24%;
  height:72%;
  transform:translate3d(var(--fx-depth-two-x),var(--fx-depth-two-y),0) skewX(8deg);
}
.background-spatial-scan .page-background-canvas { background:#0d2224; }
.spatial-scan-base {
  filter:grayscale(.8) brightness(.4) saturate(.7);
}
.spatial-scan-reveal {
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  clip-path:polygon(0 0,var(--fx-x) 0,var(--fx-x) 100%,0 100%);
  transition:clip-path .14s ease-out;
}
.spatial-scan-reveal img {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.9) saturate(1.08);
}
.spatial-scan-beam {
  position:absolute;
  top:0;
  bottom:0;
  left:var(--fx-x);
  z-index:3;
  width:2px;
  background:#7ff7ed;
  box-shadow:0 0 12px #40d8d3,0 0 32px rgba(69,223,214,.7);
  transform:translateX(-1px);
}
.spatial-data-rail {
  position:absolute;
  z-index:5;
  padding:6px 8px;
  border-left:2px solid #62d9d2;
  background:rgba(7,26,28,.64);
  color:#cffff9;
  font:700 9px/1.2 Arial,sans-serif;
  letter-spacing:0;
  backdrop-filter:blur(5px);
}
.spatial-data-rail.rail-one { top:24px; right:22px; }
.spatial-data-rail.rail-two { right:22px; bottom:22px; }
.background-material-intelligence .premium-background-image {
  filter:brightness(.54) saturate(.84);
}
.material-data-panel {
  position:absolute;
  z-index:4;
  width:112px;
  padding:10px;
  border:1px solid rgba(137,227,214,.32);
  background:rgba(10,32,32,.62);
  color:#e8fffa;
  box-shadow:0 16px 40px rgba(0,15,16,.26);
  backdrop-filter:blur(8px);
  transition:transform .18s ease-out;
}
.material-data-panel b,
.material-data-panel small { display:block; }
.material-data-panel b { font:800 11px/1.2 Arial,sans-serif; }
.material-data-panel small { margin-top:3px; color:#a8d8d1; font-size:9px; }
.material-data-one { top:28px; right:28px; transform:translate3d(var(--fx-depth-one-x),var(--fx-depth-one-y),0); }
.material-data-two { top:104px; right:54px; transform:translate3d(var(--fx-depth-two-x),var(--fx-depth-two-y),0); }
.material-data-three { right:24px; bottom:30px; transform:translate3d(var(--fx-depth-three-x),var(--fx-depth-three-y),0); }
.material-scan-light {
  position:absolute;
  inset:0;
  z-index:3;
  background:linear-gradient(102deg,transparent 0,transparent calc(var(--fx-x) - 9%),rgba(43,216,205,.2) var(--fx-x),transparent calc(var(--fx-x) + 9%),transparent 100%);
  pointer-events:none;
}
.background-volumetric-depth .premium-background-image {
  filter:brightness(.48) saturate(.72);
}
.volumetric-plane {
  position:absolute;
  z-index:2;
  border:1px solid rgba(125,229,217,.22);
  background:linear-gradient(145deg,rgba(87,201,192,.15),rgba(255,193,110,.08));
  box-shadow:0 24px 55px rgba(1,17,18,.23),inset 0 1px rgba(255,255,255,.2);
  backdrop-filter:blur(1.5px);
  transition:transform .18s ease-out;
}
.plane-back { inset:10% 5% 8% 54%; transform:translate3d(var(--fx-depth-one-x),var(--fx-depth-one-y),0) skewY(-4deg); }
.plane-mid { inset:18% 18% 16% 37%; transform:translate3d(var(--fx-depth-two-x),var(--fx-depth-two-y),0) skewY(5deg); }
.plane-front { inset:5% 60% 10% 3%; transform:translate3d(var(--fx-depth-three-x),var(--fx-depth-three-y),0) skewY(-3deg); }
.volumetric-edge-light {
  position:absolute;
  z-index:4;
  top:0;
  bottom:0;
  left:var(--fx-x);
  width:1px;
  background:rgba(104,239,228,.84);
  box-shadow:0 0 22px rgba(67,220,211,.7);
}
@media (max-width:900px) {
  .effects-preview-list,
  .background-effects-list { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .effects-preview-page { padding:34px 14px 48px; }
  .effects-preview-intro p { font-size:15px; }
  .effect-preview-media { min-height:300px; }
  .effect-preview-copy { right:12px; bottom:12px; left:12px; padding:12px 14px; }
  .effect-preview-copy h2 { font-size:20px; }
  .effect-preview-copy p { font-size:13px; }
  .effect-preview-use { grid-template-columns:1fr; gap:3px; }
  .effect-blueprint-reveal { clip-path:circle(104px at var(--fx-x) var(--fx-y)); }
  .effect-selected-badge { top:14px; right:12px; font-size:10px; }
  .background-effects-heading { margin-top:52px; }
  .page-background-canvas { min-height:300px; }
  .background-demo-card { width:82%; padding:17px; }
  .background-demo-card h3 { font-size:21px; }
  .background-demo-card p { font-size:13px; }
  .background-demo-fields { grid-template-columns:1fr; }
  .background-demo-fields i { height:34px; }
  .background-preview-caption { min-height:0; padding:15px 16px; }
  .premium-background-list .page-background-canvas { min-height:330px; }
  .spatial-data-rail,
  .material-data-panel { transform:scale(.86); transform-origin:top right; }
}
@media (prefers-reduced-motion:reduce) {
  .effect-preview-media > img,
  .effect-depth-panel,
  .effect-ambient-light,
  .background-window-frame,
  .background-plan-corner,
  .background-material-slab { animation:none !important; transition:none !important; }
}

/* Interactive homepage room reveal */
.room-reveal-hero {
  --reveal:54%;
  --pointer-x:54%;
  --pointer-y:42%;
  --room-shift-x:0px;
  --room-shift-y:0px;
  position:relative;
  min-height:min(760px, calc(100svh - 132px));
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background:#21170f;
}
.room-reveal-hero:before { display:none; }
.room-reveal-stage {
  position:relative;
  min-height:inherit;
  display:flex;
  align-items:center;
}
.room-reveal-media {
  position:absolute;
  inset:0;
  overflow:hidden;
  cursor:ew-resize;
  touch-action:pan-y;
  background:#282018;
}
.room-reveal-image {
  position:absolute;
  inset:-7px;
  overflow:hidden;
  pointer-events:none;
}
.room-reveal-image img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:translate3d(var(--room-shift-x), var(--room-shift-y), 0) scale(1.018);
  transition:transform 120ms ease-out;
  will-change:transform;
}
.room-reveal-after { z-index:0; }
.room-reveal-before {
  z-index:1;
  clip-path:inset(0 calc(100% - var(--reveal)) 0 0);
  will-change:clip-path;
}
.room-reveal-light {
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:radial-gradient(circle at var(--pointer-x) var(--pointer-y), rgba(244,184,91,.42) 0 3%, rgba(31,174,181,.38) 6%, rgba(15,113,128,.18) 10%, transparent 13%);
  mix-blend-mode:normal;
  opacity:.62;
  transition:opacity .2s ease;
}
.room-reveal-hero.is-interacting .room-reveal-light { opacity:1; }
.room-reveal-shade {
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(0deg,rgba(15,10,7,.2),transparent 34%);
}
.room-reveal-content {
  position:relative;
  z-index:5;
  width:min(100%,1440px);
  min-height:inherit;
  margin:0 auto;
  padding:64px clamp(32px,6vw,88px) 82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  pointer-events:none;
}
.room-reveal-content > * { max-width:650px; }
.room-reveal-content h1,
.room-reveal-hero h1 {
  max-width:650px;
  margin:12px 0 0;
  color:#fffaf1;
  font-size:clamp(52px,5.5vw,82px);
  line-height:.98;
  letter-spacing:0;
  text-shadow:0 2px 24px rgba(0,0,0,.26);
}
.room-reveal-content .hero-copy,
.room-reveal-hero .hero-copy {
  max-width:630px;
  margin-top:20px;
  color:#f4ede3;
  font-size:clamp(16px,1.3vw,19px);
  line-height:1.52;
  text-shadow:0 1px 14px rgba(0,0,0,.32);
}
.hero-eyebrow {
  color:#ead2ae;
  font-size:13px;
  font-weight:850;
  letter-spacing:0;
  text-transform:uppercase;
}
.room-reveal-content .hero-actions {
  margin-top:28px;
  gap:12px;
  pointer-events:auto;
}
.room-reveal-content .hero-actions .btn {
  min-width:218px;
  min-height:52px;
}
.room-reveal-content .hero-secondary {
  border-color:rgba(255,255,255,.62);
  background:rgba(31,22,15,.46);
  color:#fff;
  backdrop-filter:blur(8px);
}
.room-reveal-content .hero-secondary:hover {
  border-color:#fff;
  background:rgba(31,22,15,.68);
}
.hero-links {
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:15px;
  pointer-events:auto;
}
.hero-links .text-btn {
  min-height:36px;
  padding:0;
  color:#fffaf1;
  text-decoration:underline;
  text-underline-offset:4px;
}
.room-reveal-label {
  position:absolute;
  top:24px;
  z-index:6;
  max-width:calc(50% - 48px);
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:6px;
  background:rgba(28,24,19,.7);
  color:#fff;
  font-size:13px;
  line-height:1.2;
  pointer-events:none;
  backdrop-filter:blur(9px);
}
.room-reveal-label b {
  margin-left:6px;
  color:#ead2ae;
}
.room-reveal-label.before-label { left:24px; right:auto; }
.room-reveal-label.after-label { left:auto; right:24px; }
.room-reveal-divider {
  position:absolute;
  top:0;
  bottom:0;
  left:var(--reveal);
  z-index:7;
  width:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  background:transparent;
  color:#5b351b;
  transform:translateX(-50%);
  cursor:ew-resize;
}
.room-reveal-divider:before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:2px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(35,22,12,.2), 0 0 20px rgba(255,255,255,.28);
}
.room-reveal-divider span {
  position:relative;
  z-index:1;
  width:20px;
  height:44px;
  display:inline-grid;
  place-items:center;
  background:#fff;
  font-size:24px;
  line-height:1;
}
.room-reveal-divider span:first-child { border-radius:22px 0 0 22px; }
.room-reveal-divider span:last-child { border-radius:0 22px 22px 0; }
.room-reveal-divider:focus-visible {
  outline:3px solid #f4ce91;
  outline-offset:-3px;
}
.room-reveal-hint {
  position:absolute;
  left:50%;
  bottom:22px;
  z-index:6;
  max-width:calc(100% - 36px);
  margin:0;
  padding:8px 12px;
  border-radius:6px;
  background:rgba(24,18,13,.58);
  color:#fff;
  font-size:13px;
  line-height:1.25;
  text-align:center;
  transform:translateX(-50%);
  pointer-events:none;
  white-space:nowrap;
  backdrop-filter:blur(8px);
}
.mobile-hint { display:none; }

@media (max-width:960px) {
  .room-reveal-content { padding-left:28px; padding-right:28px; }
  .room-reveal-content > * { max-width:570px; }
  .room-reveal-content h1,
  .room-reveal-hero h1 { max-width:570px; font-size:clamp(46px,7vw,66px); }
  .room-reveal-shade { background:linear-gradient(0deg,rgba(15,10,7,.2),transparent 34%); }
}

@media (max-width:720px) {
  .room-reveal-hero {
    min-height:0;
    padding:0;
    background:#241a13;
  }
  .room-reveal-stage {
    min-height:0;
    display:block;
  }
  .room-reveal-media {
    position:relative;
    inset:auto;
    width:100%;
    aspect-ratio:16 / 9;
  }
  .room-reveal-image img { transform:scale(1.012); }
  .room-reveal-content {
    min-height:0;
    padding:22px 18px;
    background:#241a13;
  }
  .room-reveal-content h1,
  .room-reveal-hero h1 {
    max-width:100%;
    font-size:clamp(38px,10.5vw,44px);
    line-height:1;
  }
  .room-reveal-content .hero-copy,
  .room-reveal-hero .hero-copy {
    max-width:100%;
    margin-top:14px;
    font-size:15px;
  }
  .room-reveal-content .hero-actions {
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:20px;
  }
  .room-reveal-content .hero-actions .btn {
    width:100%;
    min-width:0;
    min-height:48px;
  }
  .hero-links {
    width:100%;
    display:flex;
    gap:16px;
    margin-top:10px;
  }
  .hero-links .text-btn { min-height:30px; font-size:14px; }
  .hero-eyebrow { font-size:12px; }
  .room-reveal-shade { background:linear-gradient(0deg,rgba(15,10,7,.22),transparent 48%); }
  .room-reveal-light { opacity:.42; }
  .room-reveal-label {
    top:10px;
    max-width:calc(50% - 16px);
    padding:6px 8px;
    font-size:10px;
  }
  .room-reveal-label b {
    display:block;
    margin:2px 0 0;
  }
  .room-reveal-label.before-label { left:10px; right:auto; }
  .room-reveal-label.after-label { left:auto; right:10px; text-align:right; }
  .room-reveal-divider { width:40px; }
  .room-reveal-divider span {
    width:17px;
    height:36px;
    font-size:20px;
  }
  .room-reveal-hint {
    bottom:8px;
    max-width:calc(100% - 24px);
    font-size:11px;
    white-space:normal;
  }
  .desktop-hint { display:none; }
  .mobile-hint { display:inline; }
}

@media (prefers-reduced-motion:reduce) {
  .room-reveal-image img,
  .room-reveal-light { transition:none !important; }
  .room-reveal-light { display:none; }
}

/* Option A: shared refractive interior background for public Studio pages. */
.room-reveal-light { display:none; }
.page.has-studio-background {
  --studio-pointer-x:50%;
  --studio-pointer-y:38%;
  --studio-room-x:0px;
  --studio-room-y:0px;
  --studio-glass-one-x:0px;
  --studio-glass-one-y:0px;
  --studio-glass-two-x:0px;
  --studio-glass-two-y:0px;
  position:relative;
  isolation:isolate;
  overflow:clip;
  background:#f2eee7;
}
.page.has-studio-background > :not(.studio-page-background) {
  position:relative;
  z-index:1;
}
.studio-page-background {
  position:fixed;
  inset:72px 0 0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  background:#f2eee7;
}
.studio-page-background > span {
  position:absolute;
  display:block;
  pointer-events:none;
}
.studio-background-room {
  inset:0;
  background-image:url("/studio/assets/studio_cases/living_room_after.jpg");
  background-position:calc(50% + var(--studio-room-x)) calc(42% + var(--studio-room-y));
  background-repeat:no-repeat;
  background-size:cover;
  filter:saturate(.72) contrast(.94) brightness(1.08);
  opacity:.22;
  transition:background-position 180ms cubic-bezier(.2,.7,.2,1);
  will-change:background-position;
}
.studio-background-color {
  inset:0;
  background:
    radial-gradient(ellipse at 12% 20%,rgba(24,156,162,.18),transparent 33%),
    radial-gradient(ellipse at 88% 74%,rgba(191,126,55,.17),transparent 34%),
    linear-gradient(128deg,rgba(248,247,242,.88),rgba(234,241,237,.72) 48%,rgba(246,237,225,.86));
  backdrop-filter:blur(1px);
}
.studio-background-glass {
  border:1px solid rgba(255,255,255,.64);
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(57,150,154,.07) 54%,rgba(193,129,62,.1));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 28px 80px rgba(52,66,59,.08);
  backdrop-filter:blur(10px) saturate(1.08);
  transition:transform 220ms cubic-bezier(.2,.7,.2,1);
  will-change:transform;
}
.studio-background-glass.glass-one {
  top:-18vh;
  right:-11vw;
  width:min(58vw,940px);
  height:72vh;
  border-radius:22% 0 28% 72%;
  transform:translate3d(var(--studio-glass-one-x),var(--studio-glass-one-y),0) rotate(-8deg);
}
.studio-background-glass.glass-two {
  bottom:-24vh;
  left:-14vw;
  width:min(52vw,820px);
  height:67vh;
  border-radius:0 68% 24% 18%;
  transform:translate3d(var(--studio-glass-two-x),var(--studio-glass-two-y),0) rotate(11deg);
}
.studio-background-refraction {
  inset:-16%;
  opacity:.42;
  background:conic-gradient(from 118deg at 54% 48%,transparent 0 28%,rgba(39,161,166,.09) 31%,rgba(255,255,255,.2) 34%,rgba(188,120,55,.08) 37%,transparent 40% 100%);
  transform:translate3d(var(--studio-glass-one-x),var(--studio-glass-one-y),0) scale(1.02);
  filter:blur(10px);
}
.studio-background-clarity {
  inset:0;
  background-image:url("/studio/assets/studio_cases/living_room_after.jpg");
  background-position:calc(50% + var(--studio-room-x)) calc(42% + var(--studio-room-y));
  background-repeat:no-repeat;
  background-size:cover;
  filter:saturate(1.12) contrast(1.14) brightness(1.02);
  opacity:.94;
  -webkit-mask-image:radial-gradient(circle at var(--studio-pointer-x) var(--studio-pointer-y),#000 0 3.4%,rgba(0,0,0,.9) 4.5%,transparent 6.5%);
  mask-image:radial-gradient(circle at var(--studio-pointer-x) var(--studio-pointer-y),#000 0 3.4%,rgba(0,0,0,.9) 4.5%,transparent 6.5%);
  transition:background-position 180ms cubic-bezier(.2,.7,.2,1);
  will-change:mask-image,background-position;
}
.page.has-studio-background .hero,
.page.has-studio-background .section,
.page.has-studio-background .band-light,
.page.has-studio-background .band-white,
.page.has-studio-background .band-sand,
.page.has-studio-background .band-muted {
  background:transparent;
}
.page.has-studio-background .room-reveal-hero {
  background:#1d1712;
}
.page.has-studio-background .trust-strip {
  background:rgba(255,253,248,.86);
  backdrop-filter:blur(12px) saturate(1.04);
}
.page.has-studio-background .section {
  border-color:rgba(177,164,145,.34);
}
.page.has-studio-background .panel,
.page.has-studio-background .info-card,
.page.has-studio-background .concept-card,
.page.has-studio-background .quote-card,
.page.has-studio-background .upload-card,
.page.has-studio-background .room-card,
.page.has-studio-background .start-card,
.page.has-studio-background .get-card,
.page.has-studio-background .case-card,
.page.has-studio-background .lead-card,
.page.has-studio-background .workflow-progress,
.page.has-studio-background .step-guidance-card {
  border-color:rgba(191,177,155,.72);
  background:rgba(255,253,248,.9);
  box-shadow:0 18px 48px rgba(53,49,39,.09);
  backdrop-filter:blur(12px) saturate(1.04);
}

@media (max-width:720px) {
  .studio-page-background { inset:64px 0 0; }
  .studio-background-room { opacity:.12; }
  .studio-background-color {
    background:
      radial-gradient(ellipse at 16% 20%,rgba(26,151,157,.12),transparent 35%),
      radial-gradient(ellipse at 86% 78%,rgba(190,126,55,.13),transparent 38%),
      linear-gradient(145deg,rgba(249,247,241,.94),rgba(238,242,238,.86) 52%,rgba(246,239,229,.92));
  }
  .studio-background-glass.glass-one { right:-34vw; width:92vw; opacity:.66; }
  .studio-background-glass.glass-two { left:-38vw; width:90vw; opacity:.58; }
  .studio-page-background .studio-background-clarity { display:none; }
  .page.has-studio-background .panel,
  .page.has-studio-background .info-card,
  .page.has-studio-background .concept-card,
  .page.has-studio-background .quote-card,
  .page.has-studio-background .upload-card,
  .page.has-studio-background .room-card,
  .page.has-studio-background .step-guidance-card {
    background:rgba(255,253,248,.94);
    backdrop-filter:blur(8px);
  }
}

@media (prefers-reduced-motion:reduce) {
  .studio-background-room,
  .studio-background-glass,
  .studio-background-refraction { transition:none; transform:none; }
  .studio-page-background .studio-background-clarity { display:none; }
}

/* Local-only full-page background selection previews. */
.background-choice-page {
  min-height:calc(100vh - 72px);
  padding:48px clamp(18px,4vw,56px) 72px;
  background:#f4efe7;
}
.background-choice-header,
.background-choice-list {
  width:min(100%,1380px);
  margin-right:auto;
  margin-left:auto;
}
.background-choice-header {
  padding-bottom:30px;
  border-bottom:1px solid #d8ccbc;
}
.background-choice-header h1 {
  max-width:930px;
  margin:8px 0 12px;
  font-family:Georgia,serif;
  font-size:clamp(38px,5vw,64px);
  line-height:1.02;
}
.background-choice-header > p {
  max-width:900px;
  margin:0;
  color:var(--muted);
  font-size:17px;
  line-height:1.55;
}
.background-choice-scope {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.background-choice-scope span {
  padding:8px 11px;
  border:1px solid #d8ccbc;
  border-radius:6px;
  background:#fffaf2;
  color:#58483a;
  font-size:12px;
  font-weight:800;
}
.background-choice-list {
  display:grid;
  gap:34px;
  margin-top:34px;
}
.background-choice {
  --fx-x:50%;
  --fx-y:48%;
  --fx-pan-x:0px;
  --fx-pan-y:0px;
  --fx-depth-one-x:0px;
  --fx-depth-one-y:0px;
  --fx-depth-two-x:0px;
  --fx-depth-two-y:0px;
  --fx-depth-three-x:0px;
  --fx-depth-three-y:0px;
  min-width:0;
  overflow:hidden;
  border:1px solid #cfc2b1;
  border-radius:8px;
  background:#fffdf8;
  box-shadow:0 22px 55px rgba(54,43,31,.12);
}
.background-choice-stage {
  position:relative;
  min-height:590px;
  overflow:hidden;
  isolation:isolate;
  touch-action:pan-y;
  background:#e9e5df;
}
.background-choice-stage > span,
.background-choice-stage > img {
  position:absolute;
  display:block;
  pointer-events:none;
}
.choice-room-image {
  inset:-4%;
  z-index:0;
  width:108%;
  height:108%;
  object-fit:cover;
  filter:saturate(.72) contrast(.92) brightness(1.08);
  opacity:.22;
  transform:translate3d(var(--fx-pan-x),var(--fx-pan-y),0) scale(1.045);
  transition:transform 180ms cubic-bezier(.2,.7,.2,1);
  will-change:transform;
}
.choice-base-wash {
  inset:0;
  z-index:1;
}
.background-choice-clarity {
  inset:0;
  z-index:5;
  background-position:calc(50% + var(--fx-pan-x)) calc(50% + var(--fx-pan-y));
  background-repeat:no-repeat;
  background-size:108% 108%;
  filter:saturate(1.12) contrast(1.14) brightness(1.02);
  opacity:.94;
  -webkit-mask-image:radial-gradient(circle at var(--fx-x) var(--fx-y),#000 0 3.4%,rgba(0,0,0,.9) 4.5%,transparent 6.5%);
  mask-image:radial-gradient(circle at var(--fx-x) var(--fx-y),#000 0 3.4%,rgba(0,0,0,.9) 4.5%,transparent 6.5%);
  transition:background-position 180ms cubic-bezier(.2,.7,.2,1);
  will-change:mask-image,background-position;
}
.choice-refractive .background-choice-clarity { background-image:url("/studio/assets/studio_cases/living_room_after.jpg"); }
.choice-daylight .background-choice-clarity { background-image:url("/studio/assets/studio_cases/small_kitchen_after_bright_2k.webp"); }
.choice-material .background-choice-clarity { background-image:url("/studio/assets/studio_cases/master_bedroom_huge_after.jpg"); }
.choice-spatial .background-choice-clarity { background-image:url("/studio/assets/studio_cases/home_office_after.jpg"); }
.background-choice-interface {
  position:relative;
  z-index:8;
  width:min(calc(100% - 88px),1120px);
  min-height:590px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:22px;
  align-items:center;
}
.choice-home-surface,
.choice-step-surface {
  min-width:0;
  border:1px solid rgba(255,255,255,.76);
  border-radius:8px;
  background:rgba(255,253,248,.84);
  box-shadow:0 28px 70px rgba(39,43,39,.13),inset 0 1px 0 rgba(255,255,255,.88);
  backdrop-filter:blur(14px) saturate(1.06);
}
.choice-home-surface { padding:28px; }
.choice-step-surface { padding:32px; }
.choice-home-surface > span,
.choice-step-surface > span {
  color:#775034;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.choice-home-surface h3,
.choice-step-surface h3 {
  margin:8px 0;
  font-family:Georgia,serif;
  font-size:clamp(25px,3vw,38px);
  line-height:1.05;
}
.choice-home-surface p,
.choice-step-surface p {
  margin:0;
  color:#5f625d;
  line-height:1.45;
}
.choice-mini-cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:25px;
}
.choice-mini-cards i {
  height:82px;
  border:1px solid rgba(172,155,132,.68);
  border-radius:6px;
  background:rgba(255,255,255,.72);
}
.choice-form-lines {
  display:grid;
  gap:10px;
  margin-top:28px;
}
.choice-form-lines i {
  height:48px;
  border:1px solid rgba(172,155,132,.7);
  border-radius:6px;
  background:rgba(255,255,255,.74);
}
.choice-form-lines i:nth-child(2) { width:72%; }
.choice-motion-hint {
  right:20px;
  bottom:18px;
  z-index:10;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:6px;
  background:rgba(38,35,31,.64);
  color:#fff;
  font-size:11px;
  backdrop-filter:blur(8px);
}
.background-choice-caption {
  min-height:118px;
  display:grid;
  grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);
  gap:28px;
  align-items:center;
  padding:22px 26px;
  border-top:1px solid #d7caba;
}
.background-choice-caption > div {
  display:flex;
  align-items:center;
  gap:13px;
}
.choice-letter {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:6px;
  background:#744421;
  color:#fff;
  font-weight:900;
}
.background-choice-caption h2 {
  margin:0;
  font-family:Georgia,serif;
  font-size:25px;
}
.background-choice-caption p {
  margin:0;
  color:var(--muted);
  line-height:1.5;
}

.choice-refractive .choice-base-wash {
  background:
    radial-gradient(ellipse at 12% 20%,rgba(24,156,162,.18),transparent 33%),
    radial-gradient(ellipse at 88% 74%,rgba(191,126,55,.17),transparent 34%),
    linear-gradient(128deg,rgba(248,247,242,.88),rgba(234,241,237,.72) 48%,rgba(246,237,225,.86));
}
.choice-glass {
  z-index:3;
  border:1px solid rgba(255,255,255,.62);
  background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(35,154,160,.08) 55%,rgba(195,127,58,.1));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 26px 72px rgba(48,67,62,.09);
  backdrop-filter:blur(11px) saturate(1.08);
  transition:transform 190ms cubic-bezier(.2,.7,.2,1);
}
.choice-glass-one {
  top:-28%;
  right:-8%;
  width:57%;
  height:105%;
  border-radius:0 0 18% 70%;
  transform:translate3d(var(--fx-depth-one-x),var(--fx-depth-one-y),0) rotate(-8deg);
}
.choice-glass-two {
  bottom:-45%;
  left:-13%;
  width:52%;
  height:96%;
  border-radius:0 68% 0 0;
  transform:translate3d(var(--fx-depth-two-x),var(--fx-depth-two-y),0) rotate(12deg);
}
.choice-refraction {
  inset:-15%;
  z-index:4;
  opacity:.46;
  background:conic-gradient(from 118deg at 54% 48%,transparent 0 28%,rgba(39,161,166,.1) 31%,rgba(255,255,255,.22) 34%,rgba(188,120,55,.1) 37%,transparent 40% 100%);
  filter:blur(11px);
  transform:translate3d(var(--fx-depth-three-x),var(--fx-depth-three-y),0);
}

.choice-daylight .choice-base-wash {
  background:linear-gradient(115deg,rgba(250,249,244,.9) 0%,rgba(245,237,219,.7) 48%,rgba(228,239,235,.78) 100%);
}
.choice-daylight-plane {
  z-index:3;
  width:62%;
  height:150%;
  top:-25%;
  border:1px solid rgba(255,250,229,.62);
  background:linear-gradient(120deg,rgba(255,250,220,.38),rgba(255,255,255,.06));
  box-shadow:0 0 90px rgba(255,219,147,.22);
  filter:blur(.3px);
  transition:transform 200ms ease-out;
}
.daylight-one {
  left:-18%;
  transform:translate3d(var(--fx-depth-one-x),var(--fx-depth-one-y),0) rotate(17deg);
}
.daylight-two {
  right:-24%;
  opacity:.64;
  transform:translate3d(var(--fx-depth-two-x),var(--fx-depth-two-y),0) rotate(-14deg);
}
.choice-light-caustic {
  inset:0;
  z-index:4;
  opacity:.58;
  background:linear-gradient(112deg,transparent 8%,rgba(255,255,255,.3) 42%,rgba(255,249,231,.16) 52%,transparent 68%);
  filter:blur(7px);
  transform:translate3d(var(--fx-depth-three-x),var(--fx-depth-three-y),0);
}

.choice-material .choice-base-wash {
  background:linear-gradient(135deg,rgba(246,241,234,.86),rgba(233,239,235,.72) 52%,rgba(239,228,215,.86));
}
.choice-material-layer {
  z-index:3;
  border:1px solid rgba(255,255,255,.52);
  box-shadow:0 28px 70px rgba(57,42,30,.1);
  transition:transform 190ms cubic-bezier(.2,.7,.2,1);
}
.material-oak {
  inset:-16% auto -16% -9%;
  width:38%;
  background:linear-gradient(100deg,rgba(149,103,64,.22),rgba(213,180,139,.36)),repeating-linear-gradient(84deg,rgba(93,61,38,.08) 0 1px,transparent 1px 8px);
  transform:translate3d(var(--fx-depth-one-x),var(--fx-depth-one-y),0) rotate(8deg);
}
.material-stone {
  top:-18%;
  right:8%;
  width:42%;
  height:105%;
  background:linear-gradient(135deg,rgba(234,233,224,.7),rgba(180,187,179,.28));
  clip-path:polygon(18% 0,100% 0,82% 100%,0 82%);
  transform:translate3d(var(--fx-depth-two-x),var(--fx-depth-two-y),0) rotate(-4deg);
}
.material-glass {
  right:-14%;
  bottom:-35%;
  width:56%;
  height:90%;
  border-radius:58% 0 0 0;
  background:linear-gradient(145deg,rgba(25,151,157,.14),rgba(255,255,255,.2) 60%,rgba(185,119,53,.12));
  backdrop-filter:blur(9px);
  transform:translate3d(var(--fx-depth-three-x),var(--fx-depth-three-y),0);
}
.choice-material-sheen {
  inset:0;
  z-index:4;
  background:linear-gradient(112deg,transparent 0 42%,rgba(255,255,255,.28) 48%,transparent 54% 100%);
  transform:translate3d(var(--fx-depth-one-x),0,0);
}

.choice-spatial .choice-room-image { opacity:.2; filter:saturate(.55) contrast(.96) brightness(1.1); }
.choice-spatial .choice-base-wash {
  background:linear-gradient(135deg,rgba(241,246,243,.88),rgba(226,237,234,.72) 54%,rgba(241,233,222,.85));
}
.choice-spatial-volume {
  z-index:3;
  left:-10%;
  right:-10%;
  bottom:-41%;
  height:98%;
  opacity:.48;
  background-image:linear-gradient(rgba(39,108,107,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(39,108,107,.13) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,transparent,#000 36%,#000 86%,transparent);
  transform:perspective(720px) rotateX(64deg) translate3d(var(--fx-depth-one-x),var(--fx-depth-one-y),0);
  transform-origin:center top;
}
.choice-spatial-scan {
  z-index:4;
  inset:0;
  opacity:.44;
  background:linear-gradient(112deg,transparent 28%,rgba(36,150,153,.12) 48%,rgba(255,255,255,.14) 52%,transparent 70%);
  transform:translate3d(var(--fx-depth-two-x),var(--fx-depth-two-y),0);
}
.choice-spatial-scan:after {
  content:"";
  position:absolute;
  top:56%;
  right:8%;
  left:8%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(30,159,164,.55),rgba(242,184,98,.48),transparent);
  box-shadow:0 0 18px rgba(30,159,164,.26);
}
.choice-spatial-points {
  inset:0;
  z-index:4;
  opacity:.26;
  background-image:radial-gradient(circle,rgba(23,104,107,.7) 0 1px,transparent 1.4px);
  background-position:var(--fx-pan-x) var(--fx-pan-y);
  background-size:31px 31px;
  mask-image:linear-gradient(110deg,transparent 4%,#000 35%,#000 72%,transparent 96%);
}

@media (max-width:760px) {
  .background-choice-page { padding:34px 14px 50px; }
  .background-choice-header > p { font-size:15px; }
  .background-choice-stage { min-height:720px; }
  .background-choice-interface {
    width:calc(100% - 28px);
    min-height:720px;
    grid-template-columns:1fr;
    gap:12px;
    align-content:center;
  }
  .choice-home-surface,
  .choice-step-surface { padding:20px; }
  .choice-mini-cards i { height:52px; }
  .background-choice-stage .background-choice-clarity { display:none; }
  .choice-motion-hint { display:none; }
  .background-choice-caption {
    grid-template-columns:1fr;
    gap:10px;
    padding:18px;
  }
  .background-choice-caption h2 { font-size:22px; }
}

@media (prefers-reduced-motion:reduce) {
  .choice-room-image,
  .choice-glass,
  .choice-daylight-plane,
  .choice-material-layer { transition:none; transform:none; }
  .background-choice-stage .background-choice-clarity { display:none; }
}
