@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root { color-scheme: light; --ink: #191715; --muted: #746d66; --cream: #f3efe8; --paper: #fffdfa; --wine: #1d1a18; --rust: #1d1a18; --rust2: #403a35; --gold: #ad8a59; --line: #ddd5ca; --shadow: 0 18px 55px rgba(32,27,23,.08); }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; color: var(--ink); background: var(--cream); font: 16px/1.5 'DM Sans', sans-serif; }
h1, h2, p { margin-top: 0; }
h1, h2 { font-family: 'Playfair Display', serif; line-height: 1.08; }
h1 { margin-bottom: 1.2rem; font-size: clamp(2.8rem, 7vw, 5.5rem); }
h2 { margin-bottom: .5rem; font-size: clamp(2.1rem, 4vw, 3.1rem); }
a { color: var(--wine); }
.eyebrow { margin-bottom: .7rem; color: var(--wine); font-size: .76rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.muted { color: var(--muted); }
.auth-shell { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); min-height: 100vh; }
.auth-brand { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 8vw, 9rem); background: linear-gradient(145deg, #f1dfdc 0%, #dfc2c5 56%, #caa3aa 100%); }
.auth-brand > p:last-child { max-width: 34rem; color: #5c4c51; font-size: 1.15rem; }
.brand-mark { display: grid; width: 5.4rem; height: 5.4rem; margin-bottom: 2.4rem; place-items: center; border: 1px solid rgba(110, 38, 56, .4); border-radius: 50%; color: var(--wine); font-family: Georgia, serif; font-size: 1.45rem; letter-spacing: .04em; }
.brand-mark span, .wordmark span { color: var(--gold); }
.auth-card { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 8vw, 8rem); background: #fff; }
.stack { display: grid; gap: .75rem; margin-top: 2rem; }
.stack label { font-size: .86rem; font-weight: 750; }
.stack input { width: 100%; min-height: 3.2rem; padding: .75rem 1rem; border: 1px solid var(--line); border-radius: .35rem; font: inherit; }
.stack input:focus { outline: 3px solid rgba(183, 131, 73, .2); border-color: var(--gold); }
.stack button { min-height: 3.2rem; margin-top: .6rem; border: 0; border-radius: .35rem; color: #fff; background: var(--wine); font: inherit; font-weight: 750; cursor: pointer; }
.alert { margin-top: 1.5rem; padding: .9rem 1rem; border-left: 4px solid #a12f45; background: #fbecef; color: #7a1f32; }
.support { margin-top: 2rem; color: var(--muted); font-size: .86rem; }
.topbar { display: flex; align-items: center; justify-content: space-between; padding: 1.2rem clamp(1.5rem, 6vw, 6rem); border-bottom: 1px solid var(--line); background: #fff; }
.wordmark { color: var(--ink); text-decoration: none; }
.wordmark strong { margin-right: .65rem; color: var(--wine); font-family: Georgia, serif; }
.link-button { padding: 0; border: 0; color: var(--wine); background: none; font: inherit; cursor: pointer; }
.topnav { display: flex; align-items: center; gap: 1.2rem; }
.topnav form { margin: 0; }
.dashboard-shell { max-width: 74rem; margin: 0 auto; padding: clamp(4rem, 8vw, 8rem) 1.5rem; }
.dashboard-shell h1 { font-size: clamp(2.7rem, 6vw, 5rem); }
.status-card { display: grid; gap: .4rem; max-width: 34rem; margin-top: 3rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: .6rem; background: #fff; }
.status-card span, .status-card small { color: var(--muted); }
.status-card strong { color: var(--wine); font-size: 1.3rem; }
.primary-action { display: inline-flex; width: fit-content; align-items: center; justify-content: center; min-height: 3.1rem; margin-top: 1.5rem; padding: .75rem 1.25rem; border: 0; border-radius: .35rem; color: #fff; background: var(--wine); font: inherit; font-weight: 750; text-decoration: none; cursor: pointer; }
.primary-action.compact { min-height: 2.5rem; margin: 0; padding: .5rem .85rem; }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3rem; }
.metric-grid article { display: grid; gap: .35rem; padding: 1.3rem; border: 1px solid var(--line); border-radius: .55rem; background: #fff; }
.metric-grid span { color: var(--muted); }
.metric-grid strong { color: var(--wine); font-family: Georgia, serif; font-size: 1.8rem; }
.recent-panel { margin-top: 1.2rem; }
.panel-heading, .page-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.panel-heading h2 { margin: 0; }
.filter-bar { display: grid; grid-template-columns: minmax(15rem, 2fr) minmax(10rem, 1fr) auto auto; gap: .8rem; align-items: end; margin-bottom: 1.5rem; }
.filter-bar label { display: grid; gap: .35rem; color: var(--muted); font-size: .82rem; font-weight: 750; }
.filter-bar input, .filter-bar select, .filter-bar button { min-height: 2.8rem; padding: .6rem .75rem; border: 1px solid var(--line); border-radius: .35rem; background: #fff; font: inherit; }
.filter-bar button { border-color: var(--wine); color: #fff; background: var(--wine); cursor: pointer; }
.filter-bar > a { align-self: center; margin-top: 1.2rem; }
.table-wrap { overflow-x: auto; }
.quote-table { width: 100%; border-collapse: collapse; }
.quote-table th, .quote-table td { padding: .9rem .7rem; border-bottom: 1px solid var(--line); text-align: left; }
.quote-table th { color: var(--muted); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.quote-table td small { display: block; color: var(--muted); }
.status { display: inline-flex; padding: .25rem .55rem; border-radius: 999px; background: #f2ece9; font-size: .78rem; font-weight: 750; }
.status-approved, .status-converted { color: #23613b; background: #e5f4e9; }
.status-declined { color: #89263b; background: #f9e7eb; }
.empty-state { padding: 3rem 1rem; text-align: center; }
.form-shell { max-width: 74rem; margin: 0 auto; padding: clamp(3rem, 6vw, 6rem) 1.5rem; }
.form-shell > h1 { font-size: clamp(2.7rem, 6vw, 4.8rem); }
.quote-form { display: grid; gap: 1.2rem; }
.form-card { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: .65rem; background: #fff; }
.form-card h2 { font-size: 1.7rem; }
.field-grid { display: grid; gap: 1rem; grid-template-columns: 3fr 1fr; }
.product-row { grid-template-columns: minmax(0, 3fr) minmax(7rem, 1fr) auto; align-items: end; padding: .75rem 0; border-bottom: 1px solid var(--line); }
.product-row:last-child { border-bottom: 0; }
.secondary-button, .remove-line, .status-form button { min-height: 2.6rem; padding: .5rem .8rem; border: 1px solid var(--wine); border-radius: .35rem; color: var(--wine); background: #fff; font: inherit; cursor: pointer; }
.remove-line { margin-bottom: 0; }
.status-form { display: flex; align-items: end; gap: .75rem; margin: 0 0 1.2rem; }
.status-form label { display: grid; gap: .35rem; color: var(--muted); font-size: .82rem; font-weight: 750; }
.status-form select { min-height: 2.6rem; padding: .5rem .75rem; border: 1px solid var(--line); border-radius: .35rem; background: #fff; font: inherit; }
.status-form button { color: #fff; background: var(--wine); }
.field-grid.three { grid-template-columns: repeat(3, 1fr); }
.field-grid label, .form-card > label { display: grid; gap: .45rem; color: #54494c; font-size: .85rem; font-weight: 750; }
.field-grid input, .field-grid select, .form-card textarea { min-height: 3rem; width: 100%; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: .35rem; background: #fff; font: inherit; }
.form-card textarea { margin-top: .45rem; resize: vertical; }
.check-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }
.check-grid label { display: flex; gap: .7rem; align-items: flex-start; padding: .9rem; border: 1px solid var(--line); border-radius: .4rem; }
.check-grid small { display: block; color: var(--muted); }
.quote-summary { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 1rem; margin-bottom: 1.2rem; }
.quote-summary > div { display: grid; gap: .25rem; padding: 1.25rem; border: 1px solid var(--line); border-radius: .55rem; background: #fff; }
.quote-summary span, .quote-summary small { color: var(--muted); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .8rem; border-bottom: 1px solid var(--line); text-align: left; }
th:last-child, td:last-child { text-align: right; }
@media (max-width: 820px) { .auth-shell { grid-template-columns: 1fr; } .auth-brand { min-height: 45vh; padding: 3rem 1.5rem; } .auth-card { padding: 3rem 1.5rem; } .brand-mark { margin-bottom: 1.5rem; } }
@media (max-width: 720px) { .field-grid, .field-grid.three, .check-grid, .quote-summary, .metric-grid, .filter-bar { grid-template-columns: 1fr; } .form-card { overflow-x: auto; } .page-heading { align-items: flex-start; flex-direction: column; } }

/* Quote workbook */
.quote-workbook { max-width: 96rem; }
.quote-workbook > h1 { margin-bottom: 2rem; }
.quote-workbook .quote-form { gap: 1.5rem; }
.workbook-card { padding: clamp(1.5rem, 3vw, 2.4rem); border-color: #ddd6cc; border-radius: 1rem; }
.workbook-heading { margin-bottom: 2.2rem; }
.workbook-heading h2 { margin: 0; color: #171514; font-size: clamp(2rem, 3.3vw, 3rem); }
.workbook-heading .eyebrow { color: #705b3e; }
.ghost-button { min-height: 3rem; padding: .65rem 1.35rem; border: 1px solid #d8d0c6; border-radius: 999px; color: #171514; background: #fff; font: inherit; font-weight: 750; cursor: pointer; }
.product-lines { display: grid; gap: 1.35rem; }
.product-row { display: grid; grid-template-columns: minmax(260px, 1fr) 6.5rem 10rem 8rem 2.5rem; gap: .85rem; align-items: end; padding: 0 0 1.4rem; border-bottom: 1px solid #ddd6cc; }
.product-row label { display: grid; gap: .45rem; color: #5c5751; font-size: .86rem; font-weight: 750; }
.product-row input, .product-row select { width: 100%; min-height: 3.35rem; padding: .75rem .9rem; border: 1px solid #d8d0c6; border-radius: .75rem; color: #171514; background: #fff; font: inherit; font-weight: 650; }
.product-row input[readonly] { background: #fff; }
.line-total { align-self: center; padding-bottom: .25rem; color: #171514; font-size: 1.25rem; white-space: nowrap; }
.line-remove { align-self: center; border: 0; color: #171514; background: none; font-size: 1.65rem; cursor: pointer; }
.line-addons { grid-column: 1 / -1; margin-top: .55rem; padding: 1.25rem 1.4rem; border: 1px solid #ddd6cc; border-radius: .9rem; background: #fbf8f2; }
.line-addons-label { display: block; margin-bottom: .75rem; color: #625d57; font-weight: 800; }
.addon-chips { display: flex; flex-wrap: wrap; gap: .65rem; }
.addon-chip { display: inline-flex !important; grid-auto-flow: column; width: auto; min-height: 2.75rem; padding: .55rem .95rem; align-items: center; gap: .5rem !important; border: 1px solid #d8d0c6; border-radius: 999px; color: #171514 !important; background: #fff; cursor: pointer; }
.addon-chip:has(input:checked) { border-color: #b08a54; background: #f3eadc; }
.addon-chip input { width: 1rem; min-height: auto; margin: 0; accent-color: #292522; }
.addon-subrows { margin-top: 1rem; }
.addon-subrow { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(240px, 32rem); gap: 1.5rem; align-items: center; padding-top: 1.2rem; border-top: 1px solid #ddd6cc; }
.addon-subrow > strong { font-size: 1.15rem; }
.addon-subrow small { min-height: 1.8rem; margin-top: .45rem; padding: .3rem .55rem; border-radius: .35rem; color: #47604c; background: #edf3eb; font-weight: 700; }
.addon-subrow input.is-manually-adjusted { border-color: #b78349; background: #fffaf1; }
.notes-field { display: grid; gap: .45rem; margin-top: 1.2rem; color: #54494c; font-size: .85rem; font-weight: 750; }
.live-total { display: grid; grid-template-columns: 1fr auto auto; gap: 2rem; align-items: center; margin-top: 1.4rem; padding: 1.25rem 1.4rem; border-radius: .75rem; background: #f5eee6; }
.live-total span { display: grid; color: #625d57; font-weight: 750; }
.live-total small { font-weight: 450; }
.live-total strong { color: #171514; font-family: Georgia, serif; font-size: 2rem; }
.live-total b { color: #6e2638; }
@media (max-width: 1050px) { .product-row { grid-template-columns: minmax(230px, 1fr) 6rem 9rem 7rem 2rem; } }
@media (max-width: 760px) { .product-row { grid-template-columns: 1fr 1fr; } .product-field, .line-addons { grid-column: 1 / -1; } .line-total { align-self: end; } .line-remove { position: absolute; right: 2rem; } .addon-subrow, .live-total { grid-template-columns: 1fr; } .workbook-heading { align-items: flex-start; } }

/* Exact archive theme metrics for the Symfony quote workbook. */
.quote-workbook [hidden] { display: none !important; }
.topbar { min-height: 74px; padding: 0 4vw; border-color: var(--line); background: rgba(255,253,250,.96); }
.wordmark { font-weight: 700; }
.wordmark strong { font-family: 'Playfair Display', serif; }
.topnav { gap: 28px; font-size: .9rem; }
.form-shell.quote-workbook { max-width: 1280px; padding: 42px 4vw 80px; }
.quote-workbook > .eyebrow { margin-bottom: 15px; color: #826745; font-size: .72rem; letter-spacing: .19em; }
.quote-workbook > h1 { margin-bottom: 32px; color: var(--ink); font-size: 3.5rem; line-height: .98; letter-spacing: -.04em; }
.quote-workbook .form-card { margin: 0; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); box-shadow: var(--shadow); }
.quote-workbook .client-card h2, .quote-workbook .workbook-heading h2 { font-size: 1.45rem; line-height: 1.08; letter-spacing: 0; }
.quote-workbook .workbook-heading { margin-bottom: 20px; }
.quote-workbook .workbook-heading .eyebrow { margin: 0 0 15px; color: #826745; font-size: .72rem; letter-spacing: .19em; }
.quote-workbook label { gap: 7px; color: var(--muted); font-size: .8rem; font-weight: 700; }
.quote-workbook input, .quote-workbook select, .quote-workbook textarea { min-height: 0; padding: 12px 13px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: #fff; font: inherit; }
.quote-workbook input:focus, .quote-workbook select:focus, .quote-workbook textarea:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(173,138,89,.15); }
.quote-workbook .ghost-button { min-height: 0; padding: 9px 15px; border: 1px solid var(--line); border-radius: 99px; background: transparent; }
.quote-workbook .product-lines { gap: 0; }
.quote-workbook .product-row { grid-template-columns: minmax(240px,1fr) 100px 140px 100px 34px; gap: 12px; padding: 14px 0; border-color: var(--line); }
.quote-workbook .line-total { padding: 12px 0; font-size: 1rem; }
.quote-workbook .line-remove { padding: 8px; color: var(--rust); font-size: 1.5rem; }
.quote-workbook .line-addons { margin-top: 6px; padding: 14px 16px; border-radius: 12px; background: #faf7f2; }
.quote-workbook .line-addons-label { margin-bottom: 9px; font-size: .8rem; }
.quote-workbook .addon-chips { gap: 8px; }
.quote-workbook .addon-chip { min-height: 0; padding: 7px 11px; border-radius: 99px; }
.quote-workbook .addon-chip:has(input:checked) { border-color: var(--gold); background: #eee3d3; }
.quote-workbook .addon-chip input { width: auto; padding: 0; accent-color: var(--rust); }
.quote-workbook .addon-subrows { display: grid; gap: 10px; margin-top: 12px; }
.quote-workbook .addon-subrow { grid-template-columns: minmax(180px,1fr) minmax(220px,320px); gap: 18px; padding: 12px 0 2px; }
.quote-workbook .addon-subrow > strong { padding-top: 31px; font-size: 1rem; }
.quote-workbook .addon-subrow small { margin-top: 4px; padding: 4px 8px; border-radius: 8px; font-size: .66rem; line-height: 1.3; }
.quote-workbook .application-lines { display: grid; margin-bottom: 24px; }
.quote-workbook .application-row { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1.25fr) minmax(0,.7fr) minmax(0,.85fr) 105px 34px; gap: 20px; align-items: start; padding: 22px 0; border-bottom: 1px solid var(--line); }
.quote-workbook .application-row > * { min-width: 0; }
.quote-workbook .application-row > label { width: calc(100% - 12px); }
.quote-workbook .application-row select, .quote-workbook .application-row input { display: block; width: 100%; max-width: 100%; }
.quote-workbook .application-row > strong { padding: 12px 0; text-align: right; white-space: nowrap; }
.quote-workbook .application-row .line-remove { margin-top: 24px; }
.quote-workbook .application-value small { display: block; width: 100%; min-height: 1.8rem; margin-top: 4px; padding: 4px 8px; border-radius: 8px; color: #52634d; background: #edf2ec; font-size: .66rem; line-height: 1.3; font-weight: 700; overflow-wrap: anywhere; }
.quote-workbook .application-value input.is-manually-adjusted { border-color: #dc920f; box-shadow: 0 0 0 3px rgba(220,146,15,.2); }
.quote-workbook .quote-detail-grid { grid-template-columns: 180px 180px; margin-top: 24px; }
.quote-workbook .live-total { max-width: 390px; margin: 20px 0 6px auto; padding: 16px 0 0; grid-template-columns: 1fr auto; gap: 14px 30px; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.quote-workbook .live-total > span:last-child { grid-column: 1 / -1; display: flex; justify-content: space-between; padding-top: 14px; border-top: 1px solid var(--line); color: var(--rust2); }
.quote-workbook .live-total strong { font-family: 'Playfair Display', serif; font-size: 2rem; }
.quote-workbook .live-total b { font-family: 'Playfair Display', serif; font-size: 1.45rem; }
@media(max-width:1000px){.quote-workbook .application-row{grid-template-columns:1fr 1fr}.quote-workbook .application-row .line-remove{margin-top:0}}
@media(max-width:800px){.quote-workbook .quote-detail-grid{grid-template-columns:1fr}}
@media(max-width:520px){.quote-workbook .application-row{grid-template-columns:1fr}}

/* Archived saved-quote sheet, adapted to the current quote model. */
.saved-quote-shell { max-width: 1280px; padding: 42px 4vw 80px; }
.saved-quote-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 10px 0 32px; }
.saved-quote-heading .eyebrow { margin-bottom: 15px; color: #826745; font-size: .72rem; letter-spacing: .19em; }
.saved-quote-heading h1 { margin: 0; font-size: 3.5rem; line-height: .98; letter-spacing: -.04em; }
.saved-quote-heading .muted { margin: 12px 0 0; }
.saved-quote-heading .status { flex: none; padding: 6px 10px; border-radius: 99px; background: #ece5dc; color: #403a35; font-size: .72rem; font-weight: 700; text-transform: capitalize; }
.saved-quote-heading .status-approved, .saved-quote-heading .status-converted { background: #e1efdc; color: #355b2c; }
.saved-quote-heading .status-declined { background: #f8dfdb; color: #8a2718; }
.saved-quote-heading .status-sent { background: #eee3d3; color: #6b522e; }
.saved-quote-sheet { max-width: 900px; margin: 22px auto 0; padding: 28px; border-radius: 18px; background: var(--paper); box-shadow: var(--shadow); }
.saved-quote-meta { display: flex; flex-wrap: wrap; gap: 12px 30px; margin-bottom: 24px; color: var(--muted); font-size: .85rem; }
.saved-quote-meta strong { color: var(--ink); }
.saved-quote-table-wrap { overflow-x: auto; }
.saved-quote-table { width: 100%; min-width: 530px; border-collapse: collapse; }
.saved-quote-table th { color: var(--muted); font-size: .72rem; letter-spacing: .09em; text-transform: uppercase; }
.saved-quote-table th, .saved-quote-table td { padding: 15px 12px; border-bottom: 1px solid var(--line); }
.saved-quote-table th:not(:first-child), .saved-quote-table td:not(:first-child) { text-align: right; }
.saved-quote-table td { font-size: .9rem; }
.saved-quote-totals { display: grid; gap: 10px; max-width: 330px; margin: 24px 0 28px auto; }
.saved-quote-totals span { display: flex; justify-content: space-between; gap: 20px; }
.saved-quote-totals .grand { padding-top: 12px; border-top: 1px solid var(--line); font-size: 1.3rem; }
.saved-quote-totals .deposit { margin-top: 2px; padding-top: 12px; border-top: 1px dashed var(--line); color: var(--rust2); font-weight: 700; }
.saved-quote-notes { margin: 26px 0 20px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: #faf7f2; overflow-wrap: anywhere; }
.saved-quote-notes .eyebrow { margin-bottom: 8px; }
.saved-quote-notes div { white-space: pre-wrap; }
.saved-quote-status { max-width: 900px; margin: 22px auto 0; }
@media (max-width: 800px) { .saved-quote-heading { align-items: flex-start; } .saved-quote-heading h1 { font-size: 2.8rem; } }
@media (max-width: 520px) { .saved-quote-heading { flex-direction: column; } .saved-quote-sheet { padding: 20px; } .saved-quote-status { align-items: stretch; flex-direction: column; } }

/* Public launch placeholder — archive typography and warm-neutral art direction. */
.landing-shell { display: flex; min-height: 100vh; flex-direction: column; padding: 0 clamp(24px,5vw,76px); overflow: hidden; background: var(--paper); }
.landing-nav { display: flex; min-height: 92px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.landing-brand { display: inline-flex; align-items: center; gap: 14px; color: var(--ink); font-size: .88rem; font-weight: 700; letter-spacing: .02em; text-decoration: none; }
.landing-monogram { font-family: 'Playfair Display',serif; font-size: 1.65rem; letter-spacing: -.09em; }
.landing-monogram span { color: var(--gold); font-style: italic; }
.landing-signin { padding: 10px 17px; border: 1px solid var(--line); border-radius: 99px; color: var(--ink); font-size: .8rem; font-weight: 700; text-decoration: none; transition: background .2s ease,color .2s ease; }
.landing-signin:hover { color: var(--paper); background: var(--ink); }
.landing-nav-actions { display: flex; align-items: center; gap: 22px; }
.landing-nav-actions > a:not(.landing-signin) { color: var(--muted); font-size: .8rem; font-weight: 700; text-decoration: none; }
.landing-hero { display: grid; flex: 1; grid-template-columns: minmax(0,1.25fr) minmax(330px,.75fr); gap: clamp(48px,8vw,120px); align-items: center; max-width: 1380px; width: 100%; margin: 0 auto; padding: clamp(70px,10vw,150px) 0; }
.landing-copy { position: relative; z-index: 1; }
.landing-copy .eyebrow { margin-bottom: 22px; color: #826745; }
.landing-copy h1 { max-width: 850px; margin-bottom: 28px; font-size: clamp(3.5rem,7vw,7.4rem); line-height: .92; letter-spacing: -.055em; }
.landing-intro { max-width: 590px; margin-bottom: 38px; color: var(--muted); font-size: clamp(1.05rem,1.5vw,1.3rem); line-height: 1.65; }
.landing-status { display: inline-flex; align-items: center; gap: 10px; padding: 10px 15px; border-radius: 99px; background: #eee7de; color: var(--rust2); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.landing-status span { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(173,138,89,.12); }
.landing-preview { position: relative; min-height: 480px; padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: #f7f3ed; box-shadow: var(--shadow); transform: translateX(-45px); }
.landing-preview::before { position: absolute; inset: 18px; border: 1px solid rgba(173,138,89,.38); border-radius: 16px; content: ''; pointer-events: none; }
.preview-top { display: flex; justify-content: space-between; color: var(--muted); font-size: .68rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.preview-mark { display: grid; width: min(290px,78%); height: 190px; margin: 55px auto 38px; place-items: center; }
.preview-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.preview-lines { display: grid; gap: 11px; }
.preview-lines i { display: block; height: 1px; background: var(--line); }
.preview-lines i:nth-child(2) { width: 74%; }
.preview-lines i:nth-child(3) { width: 52%; }
.preview-total { position: absolute; right: 48px; bottom: 30px; left: 48px; display: flex; align-items: baseline; justify-content: space-between; gap: 20px; color: var(--muted); font-size: .78rem; }
.preview-total strong { color: var(--ink); font-family: 'Playfair Display',serif; font-size: 1.05rem; }
.landing-contact { display: grid; grid-template-columns: minmax(230px,.7fr) minmax(0,1.3fr); gap: clamp(40px,8vw,110px); width: 100%; max-width: 1180px; margin: 0 auto clamp(75px,10vw,130px); padding: clamp(32px,5vw,64px); border: 1px solid var(--line); border-radius: 24px; background: #f7f3ed; box-shadow: var(--shadow); scroll-margin-top: 24px; }
.landing-contact-copy .eyebrow { color: #826745; }
.landing-contact-copy h2 { margin-bottom: 16px; font-size: clamp(2rem,3.5vw,3.4rem); letter-spacing: -.035em; }
.landing-contact-copy > p:last-child { max-width: 340px; color: var(--muted); line-height: 1.65; }
.landing-contact-form { display: grid; gap: 18px; }
.contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.landing-contact-form label { display: grid; gap: 7px; color: var(--muted); font-size: .8rem; font-weight: 700; }
.landing-contact-form input, .landing-contact-form textarea { width: 100%; padding: 13px 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: var(--paper); font: inherit; outline: none; }
.landing-contact-form textarea { resize: vertical; }
.landing-contact-form input:focus, .landing-contact-form textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(173,138,89,.15); }
.contact-submit { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.contact-submit small { color: var(--muted); }
.contact-submit button { padding: 13px 22px; border: 0; border-radius: 99px; color: var(--paper); background: var(--ink); font: inherit; font-weight: 700; cursor: pointer; }
.contact-submit button:hover { background: var(--rust2); }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-errors { padding: 12px 14px; border-left: 3px solid #8a2718; border-radius: 8px; color: #8a2718; background: #f8dfdb; }
.contact-errors p { margin: 0; }
.contact-confirmation { width: min(520px,calc(100vw - 40px)); padding: clamp(34px,6vw,58px); border: 1px solid var(--line); border-radius: 24px; color: var(--ink); background: var(--paper); box-shadow: 0 28px 90px rgba(25,23,21,.22); text-align: center; }
.contact-confirmation::backdrop { background: rgba(25,23,21,.46); backdrop-filter: blur(4px); }
.contact-confirmation-logo { display: grid; width: min(230px,72%); height: 82px; margin: 0 auto 42px; place-items: center; }
.contact-confirmation-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.contact-confirmation > p { margin-bottom: 12px; color: #826745; font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.contact-confirmation h2 { margin-bottom: 8px; font-size: clamp(2.2rem,5vw,3.6rem); }
.contact-confirmation > div:not(.contact-confirmation-logo) { color: var(--muted); font-size: 1.05rem; }
.contact-confirmation button { min-width: 110px; margin-top: 30px; padding: 12px 24px; border: 0; border-radius: 99px; color: var(--paper); background: var(--ink); font: inherit; font-weight: 700; cursor: pointer; }
.contact-confirmation button:hover { background: var(--rust2); }
.contact-confirmation button:focus-visible { outline: 3px solid rgba(173,138,89,.35); outline-offset: 3px; }
.landing-footer { display: flex; min-height: 88px; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.landing-footer p { margin: 0; }
.landing-footer a { color: var(--ink); font-weight: 700; text-decoration: none; }
@media(max-width:850px){.landing-hero{grid-template-columns:1fr;padding:70px 0}.landing-preview{width:min(480px,88%);min-height:390px;margin:0 auto;transform:none}.preview-mark{height:155px;margin:40px auto 30px}.landing-contact{grid-template-columns:1fr}.landing-contact-copy>p:last-child{max-width:600px}.landing-footer{align-items:flex-start;flex-direction:column;justify-content:center}.landing-copy h1 br{display:none}}
@media(max-width:520px){.landing-shell{padding:0 20px}.landing-nav{min-height:78px}.landing-brand>span:last-child,.landing-nav-actions>a:not(.landing-signin){display:none}.landing-hero{gap:50px;padding:54px 0}.landing-copy h1{font-size:3.35rem}.landing-preview{width:94%;min-height:345px;padding:24px}.preview-mark{width:78%;height:135px;margin:34px auto 28px}.preview-total{right:38px;bottom:26px;left:38px}.landing-contact{padding:28px 22px}.contact-fields{grid-template-columns:1fr}.contact-submit{align-items:stretch;flex-direction:column}.contact-submit button{width:100%}.landing-footer{min-height:112px}}

/* Landing-page inquiry management. */
.inquiry-overview { margin-top: 1.2rem; }
.inquiry-overview .eyebrow { margin-bottom: .3rem; }
.inquiry-overview-grid { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.2rem; }
.inquiry-overview-grid > span { padding: 9px 13px; border-radius: 99px; color: var(--muted); background: #f5f0e9; }
.inquiry-overview-grid strong { margin-right: 4px; color: var(--ink); }
.inquiry-overview-grid .delivery-warning { color: #8a2718; background: #f8dfdb; }
.inquiry-dashboard { max-width: 82rem; }
.inquiry-dashboard h1 { margin-bottom: .6rem; }
.inquiry-metrics { grid-template-columns: repeat(4,1fr); }
.inquiry-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 18px; }
.inquiry-filters a { padding: 8px 13px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); background: #fff; font-size: .8rem; font-weight: 700; text-decoration: none; }
.inquiry-filters a.active { border-color: var(--ink); color: #fff; background: var(--ink); }
.inquiry-list { display: grid; gap: 14px; }
.inquiry-card { padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 10px 30px rgba(32,27,23,.04); }
.inquiry-card.is-new { border-left: 4px solid var(--gold); }
.inquiry-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.inquiry-card-heading h2 { margin: 9px 0 0; font-size: 1.55rem; }
.inquiry-card-heading a { color: var(--muted); font-size: .9rem; }
.inquiry-card-heading time { flex: none; color: var(--muted); font-size: .78rem; }
.inquiry-message { margin: 20px 0; padding: 18px; border-radius: 10px; background: #faf7f2; white-space: normal; overflow-wrap: anywhere; }
.inquiry-card-footer { display: flex; align-items: center; gap: 14px; }
.inquiry-card-footer form { display: flex; gap: 8px; margin-left: auto; }
.inquiry-card-footer select, .inquiry-card-footer button { min-height: 2.5rem; padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font: inherit; }
.inquiry-card-footer button { border-color: var(--ink); color: #fff; background: var(--ink); cursor: pointer; }
.inquiry-card-footer details { max-width: 360px; color: #8a2718; font-size: .75rem; }
.inquiry-card-footer details p { margin: 8px 0 0; overflow-wrap: anywhere; }
.email-delivery { padding: 6px 9px; border-radius: 99px; color: var(--muted); background: #f5f0e9; font-size: .72rem; font-weight: 700; }
.email-sent { color: #355b2c; background: #e1efdc; }
.email-failed { color: #8a2718; background: #f8dfdb; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media(max-width:760px){.inquiry-metrics{grid-template-columns:1fr 1fr}.inquiry-card-heading,.inquiry-card-footer{align-items:flex-start;flex-direction:column}.inquiry-card-footer form{width:100%;margin-left:0}.inquiry-card-footer select{width:100%}.inquiry-card-footer label{flex:1}}
.quote-workbook .primary-action { border-radius: 99px; background: var(--rust); }
@media (max-width: 800px) { .quote-workbook > h1 { font-size: 2.8rem; } .quote-workbook .field-grid.three { grid-template-columns: 1fr; } .quote-workbook .product-row { grid-template-columns: 1fr 75px 110px; } .quote-workbook .product-field, .quote-workbook .line-addons { grid-column: 1 / -1; } .quote-workbook .line-total { grid-column: 1 / 3; } .quote-workbook .line-remove { position: static; } }
@media (max-width: 600px) { .quote-workbook .addon-subrow { grid-template-columns: 1fr; } .quote-workbook .addon-subrow > strong { padding-top: 0; } }
