/* Claude Design direction: warm canvas, forest ink, clear choices and persistent context. */
body{background:#f5f2e9;color:#183e30}main{max-width:1100px;padding-top:38px}.top{background:#fff;border-bottom:1px solid #e3dfd4}.hero{display:block;max-width:900px}.hero img{display:none}.hero h1{font-size:clamp(28px,3.4vw,40px);letter-spacing:-.035em}.hero p:not(.eyebrow){max-width:660px;line-height:1.6;color:#657068}.eyebrow,.step-count{color:#a65020;font-weight:750;letter-spacing:.06em;text-transform:uppercase;font-size:12px}.steps{padding:16px 20px;background:#fff;border:1px solid #e3dfd4;border-radius:14px;line-height:1.8}.booking-workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.card{border-color:#e9e5da;border-radius:20px;box-shadow:0 5px 20px #263c2f08}.wizard-panel{margin-top:0;padding:28px}.wizard-panel h2{font-size:26px;letter-spacing:-.025em}.wizard-panel p{line-height:1.6}.progress-track{height:5px;background:#e7e2d6;border-radius:6px;margin:12px 0 30px;overflow:hidden}.progress-track span{display:block;height:100%;background:#ce6a2a;border-radius:6px;transition:width .2s}.choice-grid{gap:12px}.choice{border-width:1px;border-color:#b9c5bd;border-radius:13px;padding:17px;font-size:15px;transition:background .15s,border-color .15s}.card .choice:has(input:checked){border-color:#24523d;background:#edf4ee;box-shadow:inset 0 0 0 1px #24523d}.choice small{color:#59665e;margin-left:31px;font-size:14px}.choice strong{font-weight:700}.addon-grid{display:grid;gap:12px}.addon-grid .choice small{margin-left:0}.wizard-nav{margin-top:26px}.wizard-nav button{background:#214b37}.demand-sidebar{position:sticky;top:90px}.demand-sidebar .card{margin:0;padding:18px}.demand-sidebar h2{font-size:17px;margin:0 0 12px}.card .demand-step,.demand-step{display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;background:transparent;color:#284a3a;text-align:left;padding:10px 8px;margin:2px 0;border-radius:10px;font:inherit;cursor:pointer;min-height:54px}.demand-step span:last-child{min-width:0}.demand-step small{display:block;color:#66756b;font-size:11px;font-weight:500;margin-bottom:3px}.demand-step strong{display:block;font-size:13px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.card .demand-step[aria-current=step],.demand-step[aria-current=step]{background:#edf4ee;border-color:#315a44}.card .demand-step:disabled,.demand-step:disabled{opacity:.6;cursor:default}.demand-number{flex:0 0 23px;height:23px;display:grid;place-items:center;border:1px solid #bac6bd;border-radius:50%;font-size:12px}.demand-step[aria-current=step] .demand-number{background:#24523d;color:#fff;border-color:#24523d}.demand-note{background:#e6efe6;border:1px solid #cedfd0;padding:17px;border-radius:14px;font-size:13px;line-height:1.6}.mobile-demand{display:none}.scope-base{background:#f5f7f2}.layout-tree{background:#193c2e;border:1px solid #315340}.receipt-group h4{margin-bottom:8px}.recap-part h3{font-size:18px}.wizard-title{scroll-margin-top:90px}
@media(max-width:800px){.booking-workspace{grid-template-columns:minmax(0,1fr);gap:12px}.demand-sidebar{display:none}.mobile-demand{display:block;background:#fff;border:1px solid #d5ddd2;border-radius:12px;padding:12px 16px;margin:0}.mobile-demand summary{font-weight:700;min-height:24px;cursor:pointer;font-size:14px}.mobile-demand nav{margin-top:12px}.mobile-demand .demand-step{min-height:50px}.wizard-panel{padding:22px}.hero h1{font-size:32px}}
@media(max-width:480px){main{padding:20px 12px 40px}.wizard-panel{padding:18px}.wizard-panel h2{font-size:24px}.choice-grid{grid-template-columns:1fr}.hero h1{font-size:28px}.steps{font-size:13px;padding:12px}.top a{margin:0 6px}.wizard-nav{gap:8px}.wizard-nav button{padding:14px 10px;font-size:14px}.layout-tree{padding:15px}.layout-tree .tree-room input{width:64px;flex-basis:64px}.card .grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.addon-state{display:inline-block;margin-top:12px;font-size:12px;font-weight:700;color:#315340}.field-error{color:#913e24;font-weight:600}.choice:has([aria-invalid=true]){border-color:#913e24}.wizard-panel .step-count{color:#a65020}

.booking-phases{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.booking-phases li{display:flex;gap:10px;align-items:center;background:#fff;padding:14px;border:1px solid #e3dfd4;border-radius:12px;font-size:13px}.booking-phases li:first-child{border-color:#315340}.booking-phases span{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border:1px solid #b9c5bd;border-radius:50%}.booking-phases li:first-child span{background:#24523d;color:#fff}.booking-phases strong,.booking-phases small{display:block;line-height:1.5}.booking-phases small{color:#66756b;font-size:12px}@media(max-width:600px){.booking-phases{grid-template-columns:1fr;gap:6px;margin:18px 0}.booking-phases li{padding:10px 12px}}
/* Prototype fidelity: per-floor rows, circular steppers, frequency cards and segmented progress. */
.floor-card{border:1px solid #d9d9cf;border-radius:16px;padding:16px;margin:24px 0;background:#fff}.floor-card h3{font-size:17px;margin:0 0 12px}.room-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #e9e8e0;font-size:16px;font-weight:600}.room-row:last-child{border:0}.room-row>span{min-width:0}.room-counter{display:flex;align-items:center;gap:4px;flex-shrink:0}.card .room-counter button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;margin:0;background:#fff;color:#244e3e;border:1px solid #47705b;border-radius:50%;font-size:25px;font-weight:400}.card .room-counter button:disabled{opacity:.3;cursor:default}.card .room-counter input{width:32px;min-height:44px;padding:0;margin:0;border:0;background:transparent;text-align:center;font-size:20px;font-weight:700;color:#183e30;appearance:textfield;-moz-appearance:textfield}.room-counter input::-webkit-inner-spin-button,.room-counter input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#guided-frequency{min-width:0;margin:24px 0 0;padding:16px;border:1px solid #d9d9cf;border-radius:16px;background:#f7f6f0}#guided-frequency legend{font-size:18px;font-weight:750;padding:0 4px}#guided-frequency p{margin:0 0 12px;color:#657068}.frequency-cards{display:flex;flex-wrap:wrap;gap:8px}.card .frequency-card{position:relative;cursor:pointer;margin:0}.card .frequency-card input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.frequency-card span{display:flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid #9da99f;border-radius:24px;background:#fff;font-size:14px;font-weight:700}.frequency-card:has(input:checked) span{background:#214b37;color:#fff;border-color:#214b37}.frequency-card:has(input:checked) span:before{content:'✓';margin-right:6px}.frequency-card:focus-within{outline:3px solid #c68a23;outline-offset:3px;border-radius:24px}
.progress-track{display:flex;gap:4px;height:8px;background:transparent;overflow:visible}.progress-track i{display:block;flex:1;background:#e1ded4;border-radius:5px}.progress-track .progress-complete{background:#244e3e}.progress-track .progress-current{background:#ce6a2a;box-shadow:0 0 0 1px #a65020}.wizard-panel .step-count strong{display:block;color:#183e30;text-transform:none;font-size:16px;letter-spacing:0;margin-top:6px}.card .choice:has(input[type=radio]:checked):after{content:'Choisi';display:table;border:1px solid #315a44;border-radius:12px;padding:1px 8px;margin:8px 0 0 31px;font-size:12px;font-weight:700}html[lang=en] .card .choice:has(input[type=radio]:checked):after{content:'Selected'}.wizard-nav #wizard-back{flex:0 0 auto;background:#fff;border:1px solid #9da99f;color:#244e3e}.wizard-nav #wizard-next{flex:1}.wizard-panel .choice{font-size:16px}.wizard-panel .choice small{font-size:16px}.demand-step small{text-transform:uppercase;font-weight:700}
@media(max-width:480px){.floor-card{padding:12px}.room-row{font-size:14px;gap:8px}.room-counter{gap:0}.card .room-counter input{width:26px}.wizard-nav #wizard-back{font-size:0;width:44px;padding:0}.wizard-nav #wizard-back:before{content:'‹';font-size:28px}.frequency-cards{gap:8px}.frequency-card span{padding:0 12px}}

.demand-copy{flex:1;min-width:0}.demand-action{font-size:11px;font-weight:700;text-decoration:underline;flex-shrink:0}.demand-action.current{color:#a65020;text-transform:uppercase;text-decoration:none;font-size:10px}.card .demand-step:disabled{opacity:.8}.progress-track i{padding:0;margin:0;height:8px;min-width:0;box-sizing:border-box}

/* Layout review and quote refinement. */
.recap-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.recap-heading h3{margin:0}.card .recap-heading button{float:none;flex-shrink:0;font-size:13px;margin:0}.recap-part{padding:20px 0}.layout-tree .tree-room{display:flex;align-items:center;gap:8px;justify-content:space-between}.layout-tree .tree-room>span{min-width:0}.layout-tree .room-count{min-width:24px;text-align:center;font-weight:700;color:#fff;font-size:18px}.layout-tree .room-counter{gap:2px}.layout-tree .room-counter button{width:36px;height:44px;min-height:44px;border-color:#8fa99c;background:transparent;color:#fff;font-size:22px}.layout-tree li{padding-top:2px;padding-bottom:2px}.layout-tree .tree-badge{display:inline;margin-left:6px;font-size:11px}.layout-tree .tree-room .tree-badge{display:block;margin:0}.card .offer-addon{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid #dce5df}.offer-addon>div{flex:1}.offer-addon h4{margin:0}.offer-addon p{font-size:14px;margin:6px 0}.offer-addon strong{white-space:nowrap}.offer-addon small{display:block;font-size:12px}.card .offer-addon button{margin:0}.quote-topline{text-align:right;margin:0}.visit-choices{border:0;padding:0;margin:20px 0;min-width:0}.visit-choices legend{font-weight:700;margin-bottom:12px}.offer-layout summary{line-height:1.5}#confirmed-layout>.secondary{margin-right:10px}#confirmed-layout .layout-tree{margin-top:0}
@media(max-width:600px){.recap-heading{align-items:flex-start;flex-direction:column;gap:4px}.card .recap-heading button{padding:4px 0;min-height:44px;background:transparent;text-decoration:underline}.card .offer-addon{flex-wrap:wrap;gap:10px}.offer-addon>div{flex-basis:100%}.offer-addon strong{flex:1}.layout-tree ul{padding-left:10px}.layout-tree li:before{left:-10px;width:12px}.layout-tree .tree-room{font-size:14px}}

.layout-tree.layout-editing{padding:14px}.layout-tree.layout-editing ul{padding-left:8px;margin:8px 0}.layout-tree.layout-editing ul ul{padding-left:0;border:0}.layout-tree.layout-editing li{padding:2px 0;margin:0}.layout-tree.layout-editing li:before{display:none}.layout-tree.layout-editing .tree-room>span{flex:1;overflow-wrap:normal;word-break:normal}.layout-tree.layout-editing .room-counter{flex:0 0 auto}.layout-tree.layout-editing .room-counter button{width:44px}.layout-tree.layout-editing h3{margin:0 0 12px}.layout-tree.layout-editing details summary{font-size:14px}.card#booking-form,.card#quote-result{display:block}.card#booking-form>p,.card#quote-result>p{margin:12px 0;line-height:1.55}.card#booking-form h3{margin-top:26px}.card#quote-result h3{margin-top:24px}.card#quote-result h2{margin-bottom:8px}.card#quote-result .price{margin:8px 0 20px}.offer-addons{margin:16px 0}.offer-layout{border-top:1px solid #dce5df;padding-top:8px}.quote-cancel{display:block;margin-bottom:16px}
