:root{--cream:#f3efe9;--paper:#fbf9f5;--ink:#302d2b;--muted:#6d6660;--wine:#720f32;--line:#d8d0c7;--font-display:'Cormorant Garamond',Georgia,serif;--font-body:'Work Sans',Arial,sans-serif;--text-xs:clamp(.75rem,.72rem + .1vw,.8rem);--text-sm:clamp(.875rem,.85rem + .1vw,.94rem);--text-base:clamp(1rem,.95rem + .15vw,1.08rem);--text-lg:clamp(1.125rem,1rem + .5vw,1.35rem);--text-xl:clamp(1.5rem,1.2rem + 1.2vw,2.2rem);--text-2xl:clamp(2.6rem,2rem + 2vw,4.25rem)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:400 var(--text-base)/1.55 var(--font-body)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--wine);outline-offset:4px}button{min-height:44px}button,a{touch-action:manipulation}.skip{position:fixed;left:16px;top:-80px;padding:12px;background:white;z-index:20}.skip:focus{top:8px}[hidden]{display:none!important}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:7px 4.5%;background:#e6ded3;color:#534a41;font-size:var(--text-xs)}.preview-bar strong{font-size:var(--text-xs);font-weight:600;letter-spacing:.09em;margin-right:12px}.preview-bar button{border:0;background:none;color:var(--wine);font-size:var(--text-xs);padding:0;white-space:nowrap}.preview-bar button span{margin-left:10px}.site-header{padding:24px 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.site-header img{width:180px;height:auto}.service-area{font-size:var(--text-xs);letter-spacing:.12em}.service-area span{margin:0 15px;color:#aa9a8e}main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);max-width:1640px;margin:auto;align-items:start}.visual{position:sticky;top:0;min-height:740px;height:calc(100vh - 155px);max-height:1100px;overflow:hidden;background:#c6bfb3}.property{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:56% center}.visual:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(36,29,23,.75))}.image-caption{position:absolute;bottom:48px;left:10%;right:8%;color:white;z-index:1;display:flex;flex-direction:column;gap:24px}.image-caption>span:first-child{font:400 clamp(2rem,2.5vw,3.2rem)/1.1 var(--font-display)}.caption-detail{font-size:var(--text-xs);letter-spacing:.14em}.application{padding:48px clamp(28px,5vw,90px) 40px;background:var(--paper);min-height:740px}.eyebrow{font-size:var(--text-xs);letter-spacing:.15em;color:var(--wine);font-weight:500}h1{font:400 var(--text-2xl)/1.02 var(--font-display);letter-spacing:-.025em;margin:18px 0;color:var(--wine)}.intro{font-size:var(--text-sm);color:var(--muted);max-width:465px;margin:0 0 25px}.minimum{display:grid;grid-template-columns:1fr auto;gap:2px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;align-items:center}.minimum span:first-child{font-size:var(--text-xs);letter-spacing:.07em}.minimum strong{font:500 var(--text-xl)/1 var(--font-display);color:var(--wine);grid-column:2;grid-row:1/3}.minimum span:last-child{font-size:var(--text-xs);color:var(--muted)}.progress{display:flex;list-style:none;padding:0;margin:26px 0;gap:12px;justify-content:space-between}.progress li{font-size:var(--text-xs);color:var(--muted);display:flex;gap:8px;align-items:center}.progress li.current{color:var(--wine);font-weight:600}.progress span{border:1px solid var(--line);width:25px;height:25px;display:grid;place-items:center;font-size:var(--text-xs);border-radius:50%;flex-shrink:0}.progress .current span{background:var(--wine);border-color:var(--wine);color:white}.progress .done span{background:#e8e2d9}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:7px}h2{font:500 var(--text-xl)/1.1 var(--font-display);margin:0 0 8px}h3{font-size:var(--text-sm);font-weight:500;margin:24px 0 12px}.section-help{color:var(--muted);font-size:var(--text-sm);margin:0 0 18px}.field{display:flex;flex-direction:column;margin:0 0 16px;gap:6px}.field label,legend{font-size:var(--text-xs);font-weight:500}.field input,.field select,.field textarea{width:100%;border:1px solid #bfb4a8;background:transparent;color:var(--ink);padding:12px 14px;font-size:var(--text-sm);border-radius:0;min-height:48px}.field textarea{min-height:84px;resize:vertical}.field small{font-size:var(--text-xs);color:var(--muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.primary{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:14px 20px;background:var(--wine);color:white;border:1px solid var(--wine);font-size:var(--text-sm);min-height:51px}.primary:hover{background:#570a25}.secondary{border:1px solid #b8ab9d;background:transparent;color:var(--wine);padding:12px 18px;font-size:var(--text-sm)}.secondary:hover{background:#ebe4db}.text-button{background:none;border:0;padding:8px 0;color:var(--wine);font-size:var(--text-xs);text-decoration:underline;text-underline-offset:4px}.full{width:100%;margin-top:12px}.check{display:flex;align-items:flex-start;gap:10px;font-size:var(--text-xs);color:var(--muted);margin:4px 0 20px}.check input{width:17px;height:17px;flex-shrink:0;accent-color:var(--wine);margin-top:2px}.demo-foot{font-size:var(--text-xs);color:#766f68;line-height:1.6;margin:22px 0 0;border-top:1px solid var(--line);padding-top:15px}.error{color:#a02525;font-size:var(--text-sm);margin:10px 0}.notice{background:#eee8df;padding:15px 18px;font-size:var(--text-xs);color:#5b5148;margin:16px 0}.notice strong{font-weight:600}.options{margin:18px 0 24px;padding:0;border:0}.options legend{margin-bottom:12px}.option{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);margin:9px 0;cursor:pointer;font-size:var(--text-sm);min-height:52px}.option:has(input:checked){background:#f3e8eb;border-color:var(--wine);color:var(--wine)}.option input{accent-color:var(--wine);width:18px;height:18px;margin:0}.option span{margin-left:auto;font-size:var(--text-xs);color:var(--muted)}.outcome{padding:5px 0}.status-label{font-size:var(--text-xs);color:var(--wine);letter-spacing:.09em;font-weight:500;margin-bottom:15px}.outcome h2{font-size:var(--text-xl);line-height:1.15}.outcome>p{font-size:var(--text-sm);color:var(--muted);margin:14px 0}.summary{border-top:1px solid var(--line);margin:20px 0}.summary div{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:11px 0;font-size:var(--text-xs)}.summary dt{color:var(--muted)}.summary dd{margin:0;text-align:right;overflow-wrap:anywhere;max-width:65%}.site-footer{padding:27px 4.5%;display:flex;justify-content:space-between;gap:24px;font-size:var(--text-xs);color:var(--muted);border-top:1px solid var(--line)}.site-footer span:first-child{letter-spacing:.1em}.backdrop{position:fixed;inset:0;background:rgba(25,18,12,.4);z-index:10}.review-panel{position:fixed;right:0;top:0;bottom:0;width:min(490px,100%);overflow-y:auto;background:var(--paper);padding:28px 30px;z-index:11;box-shadow:-10px 0 60px rgba(45,30,20,.14)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.panel-head h2{margin-top:10px}.icon-button{border:0;background:none;color:var(--ink);min-width:44px;padding:5px}.review-panel>p,.production-note p{font-size:var(--text-sm);color:var(--muted)}.scenarios{display:grid;gap:10px;margin:25px 0}.scenarios button{display:flex;flex-direction:column;gap:5px;text-align:left;padding:16px;background:#eee8df;border:1px solid var(--line);color:var(--ink)}.scenarios button:hover{border-color:var(--wine)}.scenarios strong{font-size:var(--text-sm);font-weight:500}.scenarios span{font-size:var(--text-xs);color:var(--muted)}.small-label{font-size:var(--text-xs);margin-left:8px;color:var(--wine)}.history{max-height:220px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.history-record{padding:13px 0;border-bottom:1px solid var(--line);font-size:var(--text-xs)}.history-record:last-child{border:0}.history-record strong{display:block;font-weight:500}.history-record span{display:block;color:var(--muted)}.production-note{padding:1px 18px 14px;background:#eee8df;margin-top:22px}.production-note h3{margin-top:18px}.production-note p{font-size:var(--text-xs)}.review-note{font-size:var(--text-xs);color:var(--muted);margin:12px 0}.required{color:var(--wine)}.panel-head .eyebrow{font-size:var(--text-xs)}
@media(min-width:1500px){.application{padding-top:60px}}
@media(max-width:1000px){main{grid-template-columns:40% 60%}.application{padding:34px 28px}.service-area{letter-spacing:.05em}.service-area span{margin:0 6px}.image-caption{left:8%;bottom:32px}.visual{min-height:800px}.preview-detail{display:none}}
@media(max-width:700px){.site-header{padding:18px 22px}.site-header img{width:145px}.service-area{max-width:110px;text-align:right;line-height:1.6;font-size:var(--text-xs)}.service-area span{display:none}.service-area{word-spacing:100px}main{display:flex;flex-direction:column}.visual{position:relative;min-height:0;height:230px;width:100%;order:0}.property{object-position:center 57%}.image-caption{bottom:22px;left:24px;gap:10px}.image-caption>span:first-child{font-size:var(--text-xl)}.caption-detail{display:none}.application{padding:30px 24px;width:100%;min-height:0}.intro{max-width:100%}h1{font-size:clamp(2.5rem,8vw,3.8rem)}h1 br{display:none}.preview-bar{padding:6px 16px;gap:12px}.preview-bar strong{font-size:var(--text-xs);margin-right:0;letter-spacing:.04em}.preview-bar button{font-size:var(--text-xs)}.preview-bar button span{margin-left:3px}.minimum{grid-template-columns:1fr auto}.minimum span:first-child{letter-spacing:0}.minimum strong{font-size:var(--text-xl)}.progress{gap:8px}.progress li{gap:6px}.field-row{grid-template-columns:1fr;gap:0}.site-footer{padding:24px;flex-wrap:wrap;gap:10px 20px}.site-footer span:last-child{width:100%}.review-panel{padding:22px}.section-head{align-items:center}.options .option span{font-size:var(--text-xs)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
