.av-tool{color:var(--ink,#252a25);font-family:var(--sans,sans-serif);font-size:16px;line-height:1.55}.av-tool *{box-sizing:border-box}.av-tool button,.av-tool input,.av-tool select,.av-tool textarea{font:inherit}.av-tool button,.av-tool select,.av-tool input,.av-tool textarea{border:1px solid var(--line,#cdcfc3);border-radius:0;background:transparent;color:inherit}.av-tool button{cursor:pointer;min-height:44px;padding:11px 16px;text-align:left;transition:background .2s,color .2s,border-color .2s}.av-tool button:hover{border-color:var(--ink,#252a25);background:#e4e5dc}.av-tool button[aria-pressed=true],.av-tool [role=radio][aria-checked=true]:not(.package-card),.av-tool .av-primary{background:var(--ink,#252a25);color:var(--paper,#f1eee7);border-color:var(--ink,#252a25)}.av-tool button:focus-visible,.av-tool input:focus-visible,.av-tool select:focus-visible,.av-tool textarea:focus-visible,.av-tool a:focus-visible{outline:3px solid #82734c;outline-offset:4px}.av-tool input,.av-tool select,.av-tool textarea{width:100%;min-height:46px;padding:10px 12px;background:#ffffff50}.av-tool input[type=checkbox]{width:var(--target-min,24px);height:var(--target-min,24px);min-height:var(--target-min,24px);accent-color:#4b5546}.av-tool input[type=range]{padding:0;accent-color:#4b5546}.av-tool textarea{resize:vertical;min-height:108px}.av-tool label,.av-field{display:grid;gap:7px}.av-tool fieldset{border:0;padding:0;margin:0 0 26px;min-width:0}.av-tool legend{font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.av-tool h2,.av-tool h3{font-family:var(--serif,Georgia,serif);font-size:clamp(28px,3vw,42px);font-weight:400;line-height:1.1;margin:0 0 16px}.av-tool h4{font-weight:500;font-size:18px;margin:0 0 8px}.av-tool p{margin:0 0 16px}.av-tool .av-muted,.av-tool small{color:var(--muted,#686e62)}.av-tool small{font-size:14px;line-height:1.5}.av-kicker{text-transform:uppercase;font-size:12px;letter-spacing:.14em;margin:0 0 10px}.av-rule{border-top:1px solid var(--line,#cdcfc3);padding-top:22px;margin-top:22px}.av-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.av-option-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.av-option-grid button{display:flex;flex-direction:column;gap:5px}.av-option-grid button small{color:inherit;opacity:.8}.av-swatch{display:block;width:32px;height:32px;border:1px solid #0002;margin-bottom:5px;object-fit:cover}.av-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0}.av-actions a{padding:11px 0;text-underline-offset:5px;color:inherit}.av-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.av-field-grid .av-wide{grid-column:1/-1}.av-local-status{font-size:14px;color:var(--muted,#686e62);min-height:22px}.av-notice{padding:15px 18px;border-left:2px solid var(--moss,#4b5546);background:#dce0d250}.av-check-label{display:flex!important;align-items:center;gap:10px!important;min-height:var(--target-min,24px);padding:4px 0;cursor:pointer}.av-plan-head{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center;margin-bottom:14px}.av-segment{display:flex;flex-wrap:wrap;gap:6px}.av-plan-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.35fr);gap:30px;align-items:start}.av-plan-canvas{background:#e8e7df;border:1px solid var(--line,#cdcfc3);padding:12px;min-width:0}.av-plan-canvas svg{display:block;width:100%;height:auto;max-height:650px;overflow:visible}.av-plan-room{cursor:pointer;outline:none}.av-plan-room .zone{fill:#f8f5ed;stroke:#51564a;stroke-width:.055}.av-plan-room:hover .zone{fill:#e2e6d9}.av-plan-room[data-selected=true] .zone{fill:#d8ddcc;stroke:#3e503e;stroke-width:.105}.av-plan-room text{fill:#343b31;font-family:var(--sans,sans-serif);pointer-events:none}.av-plan-room .furniture{fill:#e1ded1;stroke:#aaa997;stroke-width:.035;pointer-events:none}.av-plan-room .furniture-line{fill:none;stroke:#aaa997;stroke-width:.035}.av-plan-room .zone-name{font-size:.31px;font-weight:500}.av-plan-room .zone-area{font-size:.31px}.av-plan-room .door{fill:none;stroke:#707963;stroke-width:.035}.av-circulation{stroke:#7e8a68;stroke-width:.06;stroke-dasharray:.2 .12;fill:none;pointer-events:none}.av-dimension{fill:#666e5a;font-size:.31px;font-family:var(--sans,sans-serif)}.av-plan-detail{border-top:1px solid var(--ink,#252a25);padding-top:20px}.av-plan-detail .av-room-number{font-size:12px;letter-spacing:.12em;margin:0 0 16px}.av-plan-detail dl,.av-total-lines{margin:20px 0}.av-plan-detail dl div,.av-total-lines div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line,#cdcfc3)}.av-plan-detail dd,.av-total-lines dd{margin:0;text-align:right}.av-big-price{font-family:var(--serif,Georgia,serif);font-size:clamp(30px,4vw,55px);font-weight:400;line-height:1.15;letter-spacing:-.02em}.av-budget-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.av-tool ul{padding-left:20px;margin:10px 0 20px}.av-tool li{margin-bottom:7px}.av-compare-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:28px}.av-compare-picker button{display:flex;justify-content:space-between;align-items:center;gap:15px}.av-table-scroll{overflow:auto;max-width:100%}.av-compare-table{border-collapse:collapse;width:100%;min-width:570px;font-size:16px}.av-compare-table th,.av-compare-table td{padding:18px 20px;vertical-align:top;border-bottom:1px solid var(--line,#cdcfc3);text-align:left;min-width:170px}.av-compare-table th:first-child,.av-compare-table td:first-child{padding-left:0;min-width:130px;width:19%}.av-compare-table thead th{font-family:var(--serif,Georgia,serif);font-size:30px;font-weight:400}.av-compare-table tbody th{font-weight:400;color:var(--muted,#686e62)}.av-compare-table .av-remove{font-family:var(--sans,sans-serif);font-size:var(--label-min,13px);padding:6px 0;border:0;min-height:var(--target-min,24px);display:inline-flex;align-items:center;background:none;color:var(--muted,#686e62);text-decoration:underline}.av-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px}.av-summary-home img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;margin-bottom:16px}.av-summary-home h4,.av-summary-package h4{font-family:var(--serif,Georgia,serif);font-size:26px;font-weight:400;margin:0 0 8px}.av-summary-package{border-left:1px solid var(--line,#cdcfc3);padding-left:30px}.av-summary-package select{max-width:420px}.av-summary-package ul{list-style:none;padding-left:0;margin:16px 0}.av-summary-package li{position:relative;padding-left:18px;margin-bottom:8px}.av-summary-package li:before{content:'+';position:absolute;left:0;color:var(--moss,#4b5546)}@media(max-width:700px){.av-summary-grid{grid-template-columns:1fr;gap:18px}.av-summary-package{border-left:0;padding-left:0;order:-1}.av-summary-home{border-top:1px solid var(--line,#cdcfc3);padding-top:16px}.av-summary-home img{max-height:130px;margin-bottom:10px}}.av-checkout-form{display:grid;gap:15px;max-width:580px}[data-project-summary]>img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;margin-bottom:16px}.av-tool input:disabled,.av-tool button:disabled{cursor:not-allowed;opacity:.8}.av-checkout-form fieldset{display:grid;gap:15px}.av-plot-readout{display:flex;gap:28px;margin:16px 0}.av-plot-readout span{display:block;font-size:13px;color:var(--muted,#686e62)}.av-plot-map{display:block;width:100%;height:240px;background:#e5e9de;border:1px solid var(--line,#cdcfc3);margin:20px 0}.av-error{color:#88453a}.av-success{color:#40543d}.av-share-field{display:flex;gap:10px;margin-top:14px}.av-share-field input{min-width:0;font-size:13px}.av-empty{padding:30px;border:1px solid var(--line,#cdcfc3)}
@media(max-width:850px){.av-plan-layout{grid-template-columns:1fr}.av-plan-detail{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.av-plan-detail>p:first-child,.av-plan-detail>h3{grid-column:1/-1}}
@media(max-width:560px){.av-option-grid,.av-compare-picker{grid-template-columns:1fr}.av-option-grid.two{grid-template-columns:1fr 1fr}.av-option-grid button{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:12px}.av-option-grid button small{flex-basis:100%}.av-swatch{margin:0;width:25px;height:25px}.av-field-grid,.av-budget-columns,.av-plan-detail{grid-template-columns:1fr}.av-plan-detail>p:first-child,.av-plan-detail>h3{grid-column:auto}.av-plan-canvas{padding:5px}.av-share-field{flex-wrap:wrap}.av-share-field input{flex-basis:100%}.av-big-price{font-size:35px}}
@media print{body>*{display:none!important}body:has([data-project]) main,body:has([data-project]) main>*:has([data-project]),body:has([data-project]) main [data-project],body:has([data-project]) main [data-project] *{display:block!important}body:has([data-project]) main [data-project] button,body:has([data-project]) main [data-project] .av-actions,body:has([data-project]) main [data-project] .av-share-field{display:none!important}.av-tool{color:#000!important}input,textarea{border:0!important;background:white!important;overflow:visible!important}textarea{height:180px}}
.av-room-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px}.av-room-index button{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:14px;min-height:var(--target-min,24px)}.av-room-index button small{color:inherit;white-space:nowrap}@media(max-width:560px){.av-room-index{grid-template-columns:1fr}.av-room-index button{font-size:16px}}
@media(pointer:coarse){.av-room-index button,.av-compare-table .av-remove,.av-segment button{min-height:var(--touch-min,44px)}.av-tool input[type=checkbox]{width:var(--touch-min,44px);height:var(--touch-min,44px);min-height:var(--touch-min,44px)}}
.av-compare-table td a{display:inline-flex;align-items:center;min-height:var(--target-min,24px)}
@media(pointer:coarse){.av-compare-table td a{min-height:var(--touch-min,44px)}}
@media(pointer:coarse){.av-compare-table .av-remove{min-width:var(--touch-min,44px);justify-content:center}.av-tool details>summary{padding-block:10px;cursor:pointer}}
/* Ruling 29: the ft | m toggle sits beside a tool's own heading rather than its own row. */
.budget-head,.compare-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}
.compare-head>div:first-child{flex:1;min-width:220px}
@media(max-width:560px){.budget-head,.compare-head{align-items:center}}
/* M12 fix (2026-09-25 verification round): the project summary was one stacked column, so a tall photograph pushed
   the home name and price far down the page. Above 800px the photograph sits beside the details instead. */
@media(min-width:801px){[data-project-summary]{display:flex;gap:40px;align-items:flex-start}[data-project-summary]>img{width:45%;flex:none;margin-bottom:0}[data-project-summary] .av-project-details{flex:1;min-width:0}}
/* M9 fix: the plan's room names, room areas and dimension lines rendered too small to read (.28px/.22px/.25px in
   an SVG scaled about 39x). Raised to .31px (about 12px rendered) above 800px; the room list beside the plan
   already repeats the same names and areas in real HTML text, so below 800px these SVG labels just add clutter
   at a width where they cannot be grown without crowding the drawing, and are hidden instead. */
@media(max-width:800px){.av-plan-room .zone-name,.av-plan-room .zone-area,.av-dimension{display:none}}

/* Re-verification item 3: a plan label that would not fit its room at 12 px or more (tools/floorplan.js). */
.av-plan-canvas [data-plan-hidden]{display:none}
