/* Modern resident reading experience. Project content lives in content.js. */
@media screen {
  :root {
    --navy: #294d4b;
    --ink: #263c42;
    --muted: #52656b;
    --copper: #41665f;
    --line: #dce5e2;
    --pale: #f0f5f3;
    --pending-bg: #f5ead7;
    --pending-ink: #70531e;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 17px;
    line-height: 1.7;
    background: #fafcfb;
    -webkit-font-smoothing: antialiased;
  }
  h1, h2, h3, .hero-number, .estimate-meta strong, .budget-totals strong, .formula strong {
    font-family: inherit;
  }
  h1 { font-weight: 600; letter-spacing: -.045em; line-height: 1.12; font-size: clamp(2.4rem, 4.1vw, 3.9rem); }
  h2 { font-weight: 600; letter-spacing: -.03em; line-height: 1.3; font-size: 1.8rem; }
  h3 { font-weight: 600; letter-spacing: -.015em; font-size: 1.15rem; }
  p { margin-bottom: 20px; }
  main { max-width: 1200px; width: calc(100% - 96px); margin: auto; padding: 52px 0 64px; }
  .review-strip { background: #eaf0ee; color: #3f5955; padding: 9px max(48px, calc((100vw - 1200px)/2)); font-size: .76rem; letter-spacing: .055em; }
  .review-strip span { color: #4e625e; font-size: .82rem; }
  .site-header { width: calc(100% - 96px); max-width: 1200px; margin: auto; padding: 25px 0; }
  .brand { font-family: inherit; font-weight: 600; font-size: 1rem; letter-spacing: .055em; }
  .brand small { font-family: inherit; font-size: .72rem; font-weight: 400; letter-spacing: .17em; }
  .monogram { width: 48px; height: 48px; border: 1px solid #cbd9d3; border-radius: 12px; background: #edf3ef; color: #41665f; font-family: Georgia, serif; font-weight: 400; font-size: 1.8rem; }
  .header-label { font-size: .76rem; letter-spacing: .07em; }
  .header-label span { font-size: .875rem; }
  nav { background: #fff; gap: 5px; padding: 9px 24px; border-top: 1px solid #e6ece9; border-bottom: 1px solid #e6ece9; }
  nav a { font-size: .83rem; font-weight: 500; padding: 9px 12px; border: 0; border-radius: 7px; }
  nav a:hover { background: #f0f5f3; }
  nav a[aria-current] { color: #294d4b; background: #e6efea; border: 0; font-weight: 600; }
  .home-intro { grid-template-columns: 1.15fr 1fr; gap: 64px; margin-bottom: 32px; align-items: center; }
  .home-intro h1 { font-size: clamp(2.65rem, 4.2vw, 4rem); }
  .eyebrow, .index { font-size: .76rem; letter-spacing: .095em; font-weight: 600; color: #41665f; }
  .lede { font-size: 1.1rem; line-height: 1.8; max-width: 65ch; }
  .actions { gap: 12px; margin-top: 28px; }
  .button { font-size: .9rem; font-weight: 600; border-radius: 8px; padding: 12px 19px; min-height: 48px; }
  .primary { background: #365c56; border-color: #365c56; }
  .secondary { background: #fff; color: #365c56; border-color: #b9ccc4; }
  .button:hover { background: #294b46; border-color: #294b46; color: #fff; }
  .estimate-card { border: 1px solid #d4e1da; border-radius: 16px; background: #eaf2ed; color: var(--ink); padding: 30px 32px 26px; }
  .card-top { font-size: .76rem; letter-spacing: .06em; gap: 12px; }
  .hero-number { font-size: clamp(2.6rem, 3.5vw, 3.55rem); font-weight: 600; letter-spacing: -.04em; margin: 23px 0 12px; }
  .estimate-card p { color: #465f57; font-size: 1rem; }
  .estimate-meta { border-color: #cbdcd1; padding: 19px 0; margin: 23px 0 19px; }
  .estimate-meta strong { font-size: 1.65rem; font-weight: 550; }
  .estimate-meta span { color: #486057; font-size: .82rem; }
  .estimate-card .text-link { color: #294d43; font-size: .875rem; }
  .tag { font-size: .8rem; font-weight: 600; padding: 4px 10px; border-radius: 5px; }
  .tag.light { color: #2e5349; background: #d4e5d9; }
  .tag.neutral { color: #435d6b; background: #e6eef4; }
  .status-band { border: 1px solid #dae4ed; border-radius: 10px; background: #edf3f8; padding: 23px 26px; gap: 26px; margin-bottom: 44px; }
  .status-band p { font-size: .94rem; }
  .status-label { font-size: .76rem; letter-spacing: .06em; }
  .section-heading { margin-bottom: 24px; }
  .muted, .small { font-size: .875rem; }
  .topic-grid { gap: 20px; }
  .topic-grid>a { border: 1px solid #dce5e2; border-radius: 12px; padding: 26px; background: #fff; transition: background .15s, border-color .15s; }
  .topic-grid>a:nth-child(2) { background: #f0f5f9; border-color: #dce5ed; }
  .topic-grid>a:nth-child(3) { background: #f4f1eb; border-color: #e6e0d6; }
  .topic-grid>a:hover { background: #e9f1ed; border-color: #9fb9ad; }
  .topic-grid h3 { font-family: inherit; font-size: 1.35rem; font-weight: 600; letter-spacing: -.025em; margin: 21px 0 13px; }
  .topic-grid p, .scope-card li, .cost-detail, .decision-list li, .status-definitions dd { font-size: 1rem; }
  .text-link { font-size: .9rem; font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 5px; }
  .home-bottom { margin-top: 44px; }
  .update-panel, .empty, .callout, .formula { background: #f0f5f3; border: 1px solid #dce5e2; border-radius: 10px; padding: 28px; }
  .source-note { font-size: .875rem; margin-top: 44px; padding: 25px 0 0; }
  .source-note p { max-width: 88ch; }
  .page-heading { margin-bottom: 36px; padding-bottom: 28px; }
  .page-heading h1 { max-width: 950px; }
  .page-heading .lede { max-width: 78ch; }
  .scope-card, .schedule-grid article, .source-list article, .document { background: #fff; border-radius: 10px; border-color: #dce5e2; }
  .scope-card { padding: 27px; }
  .design-block { border-radius: 12px; background: #eaf2ed; color: var(--ink); border: 1px solid #d4e1da; }
  .design-block .eyebrow { color: #41665f; }
  .design-block hr { border-color: var(--line); }
  .design-block h2 { font-size: 2rem; }
  .budget-totals { gap: 16px; background: none; grid-template-columns: 1.15fr 1fr 1fr; }
  .budget-totals>div { border: 1px solid var(--line); background: #fff; border-radius: 10px; padding: 26px; }
  .budget-totals>div:first-child { background: #eaf2ed; color: var(--ink); border-color: #d4e1da; }
  .budget-totals strong { font-size: clamp(1.85rem, 2.7vw, 2.4rem); font-weight: 600; letter-spacing: -.04em; }
  .budget-totals span { font-size: .875rem; }
  input, select { border-color: #9cafaa; border-radius: 7px; min-height: 48px; }
  .cost-row summary { padding: 22px 8px; }
  .cost-bar { background: #eaf0ed; height: 8px; border-radius: 4px; overflow: hidden; }
  .cost-bar i { background: #78998b; }
  .cost-detail { border-radius: 8px; }
  .total-row.grand { background: #eaf2ed; color: var(--ink); border-radius: 8px; border-bottom: 0; margin-top: 8px; }
  .formula strong { font-size: 1.1rem; font-weight: 600; line-height: 1.7; }
  .schedule-grid h2 { font-size: 1.3rem; }
  .schedule-grid p { font-size: .94rem; }
  .faq-section { max-width: 880px; }
  .faq-item summary { font-size: 1rem; padding: 24px 0; }
  .faq-item>div { max-width: 78ch; }
  .source-list p { font-size: .94rem; }
  .menu-button { border-radius: 7px; min-height: 46px; color: var(--ink); }
  footer { background: #edf3f0; padding: 32px max(48px, calc((100vw - 1200px)/2)); line-height: 1.8; }
  button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #416a9a; outline-offset: 4px; }
  :is(.home-intro,.two-grid,.three-grid,.scope-grid,.budget-totals,.schedule-grid)>* { min-width: 0; }
}
@media screen and (max-width: 1100px) {
  nav { display: none; }
  nav.open { display: grid; grid-template-columns: repeat(5,1fr); gap: 5px; padding: 12px 48px; }
  nav a { white-space: normal; font-size: .875rem; }
  .menu-button { display: block; border: 1px solid #b9ccc4; padding: 9px 16px; background: #fff; }
  .header-label { display: none; }
  .home-intro { gap: 32px; }
  .estimate-card { padding: 27px; }
  .card-top { flex-wrap: wrap; }
  .hero-number { font-size: 2.65rem; }
  .home-intro h1 { font-size: 3rem; }
}
@media screen and (max-width: 800px) {
  main, .site-header { width: calc(100% - 48px); }
  main { padding: 34px 0 48px; }
  .site-header { padding: 21px 0; }
  .review-strip { padding: 9px 24px; }
  nav.open { grid-template-columns: repeat(2,1fr); padding: 12px 24px; }
  .home-intro { grid-template-columns: 1fr; gap: 28px; }
  .home-intro h1 { font-size: 2.75rem; }
  .home-intro .lede { max-width: 58ch; }
  .three-grid, .two-grid { grid-template-columns: 1fr; gap: 24px; }
  .topic-grid>a { padding: 25px; }
  .topic-grid h3 { margin-top: 16px; }
  .topic-grid p { max-width: 60ch; }
  .budget-totals { grid-template-columns: 1fr; }
  .budget-totals strong { font-size: 2.3rem; }
  .status-band { display: block; }
  .status-label { display: block; max-width: none; margin-bottom: 10px; }
  .status-band p { margin-bottom: 14px; }
  footer { padding: 28px 24px; flex-direction: column; gap: 20px; }
}
@media screen and (max-width: 480px) {
  :root { font-size: 16px; }
  .brand { font-size: .87rem; letter-spacing: .03em; gap: 10px; }
  .brand small { font-size: .7rem; letter-spacing: .12em; }
  .monogram { width: 40px; height: 44px; border-radius: 9px; }
  .review-strip { font-size: .75rem; display: block; }
  .review-strip span { display: block; font-size: .8rem; margin-top: 2px; }
  .home-intro h1, .page-heading h1 { font-size: 2.55rem; }
  .lede { font-size: 1.0625rem; }
  .hero-number { font-size: 2.7rem; }
  .estimate-card { padding: 24px; }
  .estimate-meta span, .card-top, .eyebrow, .index { font-size: .8rem; }
  .tag { font-size: .8125rem; }
  .scope-grid, .schedule-grid, .source-list, .status-definitions { grid-template-columns: 1fr; }
  .schedule-grid h2 { min-height: 0; margin: 16px 0; }
  .schedule-grid p { margin-bottom: 0; }
  .cost-name { font-size: 1rem; }
  .cost-amount { font-size: 1rem; }
  .cost-row summary { gap: 10px; padding: 20px 0; }
  .sort-label { width: 100%; }
  .actions .button { flex-grow: 1; text-align: center; }
  .section-heading .muted { font-size: .875rem; }
}

.president-message {border:1px solid #cbdcd4;border-left:4px solid #779d89;border-radius:12px;background:#f0f6f2;padding:clamp(24px,4vw,48px);margin:32px 0 48px;}
.president-message p {max-width:75ch;line-height:1.8;}
.president-message .signature {font-weight:600;}

.president-letter summary{cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:4px;padding:12px 0;}
.home-next{border-top:1px solid #dce5e0;padding-top:24px;}

/* October 2026 visual refresh: warm residential palette, replacing the green UI. */
@media screen {
  :root {
    --navy: #26354f;
    --ink: #202735;
    --muted: #667085;
    --copper: #b98d4f;
    --line: #e4ddd2;
    --pale: #f7f3ec;
    --white: #fffdf9;
    --pending-bg: #f4e7cf;
    --pending-ink: #694912;
    background: #fbf8f2;
  }

  body { background: linear-gradient(180deg, #fffdf8 0%, #faf6ef 42%, #fffdf9 100%); color: var(--ink); }
  .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .review-strip { background:#f2e9dc; color:#6f2630; border-bottom:1px solid #e3d6c5; }
  .review-strip span { color:#716452; }
  .site-header { padding:20px 0 18px; }
  .brand-logo-link { gap:0; letter-spacing:0; }
  .brand-logo { display:block; width:min(330px, 52vw); height:auto; }
  .header-label { color:#26354f; }
  .header-label span { color:#7a6b56; }
  nav { background:rgba(255,253,249,.92); border-color:#e7dece; box-shadow:0 1px 0 rgba(38,53,79,.03); }
  nav a { color:#364154; border-radius:999px; }
  nav a:hover { background:#f4eadb; }
  nav a[aria-current] { color:#fff; background:#26354f; }
  .eyebrow, .index { color:#8f2d2f; }
  .primary { background:#26354f; border-color:#26354f; color:#fff; }
  .secondary { background:#fffdf9; color:#26354f; border-color:#c7b79d; }
  .button:hover { background:#8f2d2f; border-color:#8f2d2f; color:#fff; }
  .estimate-card, .budget-totals>div:first-child, .total-row.grand { background:#f6ede0; border-color:#dfcfb8; color:#202735; }
  .estimate-card p, .estimate-meta span { color:#655b4f; }
  .estimate-card .text-link { color:#6f2630; }
  .estimate-meta { border-color:#decdb4; }
  .tag.light { background:#26354f; color:#fff; }
  .tag.neutral { background:#eef0f5; color:#3d475c; }
  .status-band, .update-panel, .empty, .callout, .formula, footer { background:#f7f3ec; border-color:#e4ddd2; }
  .topic-grid>a, .scope-card, .schedule-grid article, .source-list article, .document, .budget-totals>div { background:#fffdf9; border-color:#e4ddd2; box-shadow:0 16px 42px rgba(38,53,79,.05); }
  .topic-grid>a:nth-child(2) { background:#f5f7fb; border-color:#dce2ec; }
  .topic-grid>a:nth-child(3) { background:#fbf1ee; border-color:#ead6ce; }
  .topic-grid>a:hover { background:#fbf4e8; border-color:#c49a5f; }
  .design-block { background:#26354f; border-color:#26354f; color:#fffdf9; }
  .design-block .eyebrow { color:#d8b06e; }
  .design-block a { color:#fff; }
  .design-block hr { border-color:rgba(255,255,255,.2); }
  .cost-bar { background:#ede5d8; }
  .cost-bar i { background:#b98d4f; }
  input, select { border-color:#b9ab96; background:#fffdf9; }
  .plus, .faq-item summary>span { color:#8f2d2f; }
  .president-message { background:#fff8ec; border-color:#dfcfb8; border-left-color:#8f2d2f; box-shadow:0 18px 48px rgba(143,45,47,.07); }
  .home-next { border-top-color:#e4ddd2; }
  button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible { outline-color:#8f2d2f; }
}

@media screen and (max-width: 620px) {
  .brand-logo { width:min(250px, 64vw); }
  .site-header { align-items:flex-start; }
}

.history-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.history-steps article {border-top:3px solid var(--copper);padding-top:22px;}
.bid-table-scroll {overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--white);}
.bid-table {border-collapse:collapse;width:100%;min-width:1040px;font-size:.85rem;font-variant-numeric:tabular-nums;}
.bid-table caption {text-align:left;padding:18px;font-weight:600;}
.bid-table th,.bid-table td {padding:14px 12px;border-top:1px solid var(--line);text-align:right;}
.bid-table th:first-child {text-align:left;min-width:200px;}
.bid-table thead {background:var(--pale);}
.bid-table td:last-child,.bid-table thead th:last-child {background:#f6ede0;font-weight:600;}
.bid-grand {font-weight:700;background:var(--pale);}
@media(max-width:800px) {.history-steps {grid-template-columns:1fr;}}
@media print {.bid-table {min-width:0;font-size:8pt;} .bid-table th,.bid-table td {padding:5px;} .bid-table th:first-child {min-width:0;} .bid-table-scroll {overflow:visible;} }

/* Make estimate disclosures explicit beside each amount. */
.cost-row summary {cursor:pointer;border-radius:8px;transition:background .15s;}
.cost-row summary:hover {background:var(--pale);}
.cost-details-hint {display:block;font-size:.78rem;font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:3px;line-height:1.5;margin-top:4px;}
.cost-row .when-open {display:none;}
.cost-row[open] .when-open {display:inline;}
.cost-row[open] .when-closed {display:none;}
@media print {.cost-details-hint {display:none;}}

.brand-logo-link {display:block;flex-shrink:0;}
.brand-logo {width:300px;max-width:100%;height:auto;display:block;}
.site-header {gap:24px;align-items:center;}
@media(max-width:620px) {.brand-logo {width:min(240px,60vw);} .site-header {align-items:center;gap:16px;}}

.design-gallery-intro {margin-bottom:48px;}
.design-gallery-section {scroll-margin-top:24px;}
.design-gallery-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.design-gallery-card {border:1px solid var(--line);border-radius:12px;background:var(--white);overflow:hidden;}
.design-gallery-card button {position:relative;display:block;width:100%;padding:0;border:0;background:white;cursor:zoom-in;}
.design-gallery-card img {display:block;width:100%;height:auto;aspect-ratio:17/11;object-fit:contain;}
.design-gallery-card>div {padding:22px;}
.design-gallery-card h3 {margin:0 0 8px;}
.design-gallery-card p {margin:0;font-size:.9rem;color:var(--muted);}
.gallery-enlarge {position:absolute;right:12px;bottom:12px;background:var(--navy);color:white;border-radius:5px;padding:5px 10px;font-size:.75rem;}
.design-gallery-card button:hover .gallery-enlarge {background:#8f2d2f;}
.gallery-dialog {width:min(1400px,94vw);max-width:94vw;max-height:94vh;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);overflow:auto;}
.gallery-dialog::backdrop {background:rgba(20,26,37,.8);}
.gallery-toolbar,.gallery-controls {display:flex;align-items:center;justify-content:space-between;gap:16px;}
.gallery-toolbar h2 {font-size:1.25rem;margin:0;}
#gallery-full-image {display:block;width:100%;height:auto;margin:20px 0;background:white;}
#gallery-dialog-description {font-size:.9rem;}
.gallery-controls {font-size:.85rem;}
@media(max-width:700px){.design-gallery-grid {grid-template-columns:1fr;}.gallery-dialog {padding:16px;}.gallery-toolbar h2 {font-size:1rem;}.gallery-controls .button {padding:10px;font-size:.8rem;}}
@media print {.gallery-enlarge,.gallery-dialog {display:none;}.design-gallery-card {break-inside:avoid;}}

.mockup-timeline {border-bottom:1px solid var(--line);padding-bottom:48px;}
.mockup-window {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:24px;border:1px solid #dfcfb8;background:#f6ede0;border-radius:12px;margin:28px 0;}
.mockup-window span {display:block;font-size:.85rem;color:var(--muted);}
.mockup-window strong {display:block;font-size:1.2rem;margin-top:6px;}
.mockup-phases {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:32px 0 40px;}
.mockup-phases li {border:1px solid var(--line);border-radius:12px;padding:24px;background:var(--white);}
.phase-number {display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--navy);color:white;font-weight:600;margin-bottom:20px;}
.mockup-phases .eyebrow {font-size:.75rem;min-height:2.8em;}
.mockup-phases p:last-child {margin-bottom:0;font-size:.95rem;}
.mockup-work {list-style:none;padding:0;margin:20px 0 32px;}
.mockup-work li {display:grid;grid-template-columns:240px 1fr;gap:28px;border-bottom:1px solid var(--line);padding:20px 0;}
.mockup-date {font-size:.9rem;font-weight:600;color:var(--navy);}
.mockup-work h4 {font-size:1.05rem;margin:0 0 6px;}
.mockup-work p {font-size:.95rem;color:var(--muted);margin:0;}
@media(max-width:800px){.mockup-window,.mockup-phases {grid-template-columns:1fr;}.mockup-phases li {display:flex;gap:20px;}.phase-number {flex-shrink:0;}.mockup-phases .eyebrow {min-height:0;}.mockup-work li {grid-template-columns:1fr;gap:8px;}}
@media print {.mockup-work li,.mockup-phases li {break-inside:avoid;}}

/* Space allocation and payment information below the final budget row. */
.cost-row + .assessment { padding-top: 40px; }
@media (max-width: 700px) {
  .cost-row + .assessment { padding-top: 28px; }
}

footer {flex-wrap:wrap;}
footer .site-disclaimer {flex-basis:100%;width:100%;margin:0;padding-top:18px;border-top:1px solid var(--line);font-size:.85rem;line-height:1.65;color:var(--muted);}

/* Owner feedback and design survey. */
nav a.nav-input {background:#8f2d2f;color:white;font-weight:700;}
.input-banner {display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px;background:#f2e7d7;border:1px solid #d7bc95;border-left:5px solid #8f2d2f;border-radius:12px;margin:30px 0 44px;}
.input-banner h2 {margin:8px 0;}.input-banner p {margin-bottom:0;}.input-banner .actions {margin:0;flex-shrink:0;}
.owner-form {padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--white);}
.owner-form label {display:block;font-size:.95rem;font-weight:600;margin:0 0 20px;}
.owner-form label span {font-weight:400;}.owner-form input:not([type="radio"]),.owner-form textarea,.owner-form select {display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #b9ab96;border-radius:7px;background:#fffdf9;font:inherit;color:var(--ink);}
.owner-form textarea {resize:vertical;}.input-fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.owner-form fieldset {border:0;border-top:1px solid var(--line);margin:0 0 36px;padding:24px 0 0;min-width:0;}
.owner-form legend {font-size:1.2rem;font-weight:600;padding:0 12px 0 0;}
.survey-options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0;}
.survey-option {position:relative;min-width:0;padding:14px;border:2px solid var(--line);border-radius:10px;cursor:pointer;}
.survey-option:has(input:checked),.mix-choice:has(input:checked) {border-color:#8f2d2f;background:#fff4e4;outline:1px solid #8f2d2f;}
.survey-option input {margin-right:8px;}.survey-option .survey-option-title {font-size:1.15rem;font-weight:700;}
.survey-option img {width:100%;height:220px;object-fit:contain;background:white;display:block;margin:12px 0;}
.survey-palettes {margin:24px 0;}.survey-palettes summary {font-weight:600;}.survey-palettes figure {margin:0;min-width:0;}.survey-palettes img {width:100%;height:auto;}.survey-palettes figcaption {font-size:.8rem;}
.owner-form .plain-radio {display:flex;align-items:center;gap:10px;font-weight:400;}.owner-form input[type="radio"] {accent-color:#8f2d2f;width:19px;height:19px;flex-shrink:0;}
.mix-grid-scroll {overflow-x:auto;margin:24px 0;}.mix-table {width:100%;border-collapse:collapse;min-width:540px;}.mix-table caption {text-align:left;font-weight:600;margin-bottom:16px;}.mix-table th {text-align:left;padding:10px;font-size:.9rem;}.mix-table td {padding:6px;}.owner-form .mix-choice {border:2px solid var(--line);border-radius:8px;padding:14px;cursor:pointer;margin:0;min-height:118px;}.mix-choice small {display:block;font-size:.75rem;font-weight:400;margin-top:8px;}
.mix-summary {background:var(--pale);padding:16px;border-radius:8px;}.input-privacy,.input-preview-note {font-size:.85rem;max-width:85ch;}.input-preview-note {padding:14px;background:var(--pale);border-radius:7px;}.input-status {margin-top:16px;font-weight:600;}
.input-honeypot {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}.owner-form button:disabled {opacity:.55;cursor:not-allowed;}
@media(max-width:900px){.input-banner {display:block;}.input-banner .actions {margin-top:20px;}.input-fields {grid-template-columns:1fr;gap:0;}.survey-option img {height:160px;}}
@media(max-width:620px){.owner-form {padding:18px;}.survey-options {grid-template-columns:1fr;}.survey-option img {height:auto;}.input-banner {padding:24px;}}

.separate-choices {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:24px 0;}.owner-form .component-choice {display:flex;align-items:center;gap:10px;padding:14px;border:2px solid var(--line);border-radius:8px;cursor:pointer;}.component-choice a {margin-left:auto;font-size:.8rem;font-weight:400;}.component-choice:has(input:checked){background:#fff4e4;border-color:#8f2d2f;}.mix-table td {border-bottom:1px solid var(--line);padding:14px;}
@media(max-width:700px){.separate-choices {grid-template-columns:1fr;}}

/* Component-by-component visual survey. */
.survey-area-heading {margin:36px 0 28px;padding:24px;background:var(--pale);border-radius:10px;}
.survey-area-heading h3 {font-size:1.45rem;margin:6px 0;}
.visual-survey-question {scroll-margin-top:24px;}
.visual-survey-question>p {max-width:78ch;}
.visual-choice-grid {display:grid;grid-template-columns:repeat(var(--choice-columns),minmax(0,1fr));gap:20px;margin:20px 0;}
.visual-choice-card {min-width:0;border:2px solid var(--line);border-radius:10px;overflow:hidden;}
.visual-choice-card:has(input:checked) {border-color:#8f2d2f;background:#fff4e4;}
.visual-choice-card>label {display:flex;align-items:center;gap:10px;padding:18px;margin:0;cursor:pointer;}
.survey-feature-image {margin:18px 0;max-width:850px;}
.survey-feature-image>a {display:block;position:relative;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.survey-feature-image img {display:block;width:100%;height:280px;object-fit:contain;}
.survey-feature-image>a>span {display:block;padding:7px 12px;background:var(--pale);text-align:right;font-size:.78rem;font-weight:600;}
.survey-feature-image figcaption {font-size:.8rem;margin-top:8px;}
.visual-choice-card .survey-feature-image {margin:0;}
.visual-choice-card .survey-feature-image>a {border:0;border-radius:0;}
.visual-choice-card figcaption {padding:0 12px;}
.rating-options {display:flex;flex-wrap:wrap;gap:12px;margin:20px 0;}
.owner-form .rating-options label {display:flex;align-items:center;gap:10px;border:2px solid var(--line);border-radius:8px;padding:12px 18px;margin:0;cursor:pointer;}
.rating-options label:has(input:checked) {background:#fff4e4;border-color:#8f2d2f;}
@media(max-width:700px){.visual-choice-grid {grid-template-columns:1fr;}.survey-feature-image img {height:240px;}.rating-options {display:grid;grid-template-columns:1fr 1fr;}.owner-form .rating-options label {padding:12px;font-size:.9rem;}}
/* Preserve each detail's proportions without oversized blank image areas. */
.visual-survey-question .survey-feature-image img {height:auto;max-height:380px;object-fit:contain;}

/* Keep each comparison row aligned despite different source-image proportions. */
.visual-choice-card {display:flex;flex-direction:column;}
.visual-choice-card>.survey-feature-image {max-width:none;width:100%;}
.visual-choice-card .survey-feature-image img {width:100%;height:auto;max-height:none;aspect-ratio:4 / 3;object-fit:contain;background:#fff;}
.visual-choice-card>label {margin-top:auto;min-height:70px;}
.visual-choice-card figcaption {display:flex;align-items:center;min-height:42px;margin:0;padding:8px 12px;}
[data-question="carpet_preference"] .visual-choice-card img {aspect-ratio:1;object-fit:cover;}
[data-question="landing_preference"] .visual-choice-card img {aspect-ratio:5 / 2;}
[data-question="landing_floor_preference"] .visual-choice-card img {aspect-ratio:16 / 10;}
@media(max-width:700px){.visual-choice-card>label {min-height:60px;}}

.survey-image-dialog {width:min(1400px,94vw);max-width:94vw;max-height:94vh;border:1px solid var(--line);border-radius:12px;padding:22px;background:var(--white);color:var(--ink);overflow:auto;}
.survey-image-dialog::backdrop {background:rgba(20,26,37,.82);}
.survey-image-toolbar {display:flex;align-items:center;justify-content:space-between;gap:20px;}
.survey-image-toolbar h2 {font-size:1.2rem;margin:0;}
.survey-image-toolbar button {flex-shrink:0;}
.survey-image-view {margin-top:18px;overflow:auto;}
.survey-image-view img {display:block;max-width:100%;height:auto;margin:auto;max-height:75vh;object-fit:contain;}
.survey-image-status {font-size:.9rem;margin:10px 0 0;}
.survey-image-status:empty {display:none;}
body:has(.survey-image-dialog[open]) {overflow:hidden;}
@media(max-width:600px){.survey-image-dialog {padding:14px;}.survey-image-toolbar h2 {font-size:1rem;}.survey-image-toolbar {gap:12px;}}
@media print {.survey-image-dialog {display:none;}}

.survey-rating-images {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0;}
.survey-rating-images .survey-feature-image {margin:0;min-width:0;}
.visual-survey-question .survey-rating-images img {width:100%;height:auto;max-height:none;aspect-ratio:4 / 3;object-fit:contain;}
@media(max-width:700px){.survey-rating-images {grid-template-columns:1fr;}}

.survey-rating-images {grid-template-columns:repeat(var(--rating-image-columns,3),minmax(0,1fr));}
@media(max-width:700px){.survey-rating-images {grid-template-columns:1fr;}}

.manager-profile-section {max-width:85ch;}
.manager-project-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.manager-project-grid article {padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--white);}
.manager-project-grid h3 {margin:0 0 8px;}.manager-project-grid p {margin:0;color:var(--muted);font-size:.9rem;}
.manager-career {border-bottom:1px solid var(--line);}
.manager-career summary {display:grid;grid-template-columns:1fr auto 20px;gap:20px;align-items:center;padding:24px 0;cursor:pointer;list-style:none;}
.manager-career summary::-webkit-details-marker {display:none;}
.manager-career summary span span {display:block;font-size:.9rem;font-weight:400;color:var(--muted);}
.manager-dates {font-size:.85rem;}.manager-career>div {padding:0 20px 24px;max-width:90ch;}
.manager-career li,.manager-credentials li {margin-bottom:12px;}
@media(max-width:800px){.manager-project-grid {grid-template-columns:1fr 1fr;}.manager-career summary {grid-template-columns:1fr 20px;gap:8px;}.manager-dates {grid-column:1;grid-row:2;}.manager-career summary>.plus {grid-column:2;grid-row:1;}}
@media(max-width:480px){.manager-project-grid {grid-template-columns:1fr;}}

/* Owner navigation and comparison cleanup */
.faq-topic-links {display:flex;flex-wrap:wrap;gap:10px 20px;margin:24px 0 40px;}
.faq-topic {scroll-margin-top:24px;margin:40px 0;}
.faq-topic h2 {font-size:1.5rem;}
.gallery-more {border-top:1px solid var(--line);margin-top:28px;padding-top:20px;}
.gallery-more>summary {cursor:pointer;font-size:1.1rem;font-weight:600;padding:8px 0 20px;}
.gallery-option-guide {max-width:80ch;color:var(--muted);font-size:.9rem;}
.hallway-comparison {grid-template-columns:repeat(3,minmax(0,1fr));}
.survey-progress {border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:30px;scroll-margin-top:20px;}
.survey-progress p {margin-top:0;font-weight:600;}
.survey-step-links {display:flex;gap:12px;flex-wrap:wrap;position:static;background:none;border:0;padding:0;margin:0 0 20px;}
.survey-step-links button {cursor:pointer;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink);font:inherit;}
.survey-step-links [aria-current="step"] {background:var(--navy);color:white;}
.survey-progress label {font-size:.875rem;}
.survey-progress progress {display:block;width:100%;height:12px;accent-color:var(--navy);margin-top:8px;}
[data-survey-step][hidden] {display:none;}
[data-survey-step-heading]:focus-visible {outline:2px solid var(--navy);outline-offset:5px;}
@media(max-width:700px){.hallway-comparison{grid-template-columns:1fr;}.survey-step-links{display:flex;}}
@media print{.gallery-more::details-content{display:block;content-visibility:visible;}.survey-step-links{display:none;}}

.hallway-comparison img {aspect-ratio:11/10;}
