:root { --paper:#141713; --ink:#f2eedf; --muted:#b1b8a9; --line:#50574a; --accent:#e5985c; --soft:#272e24; --white:#1d231b; --cursor:#e9ac76; }
body { background:var(--paper); }
header { max-width:1500px; padding:20px 4%; }
.mark { border-color:var(--accent); color:var(--accent); }
nav { gap:22px; }
.button,button { background:var(--accent); border-color:var(--accent); color:#141713; }
.button:hover,button:hover { background:#f4b887; color:#141713; }
.button.outline,button.outline { background:transparent; border-color:var(--line); color:var(--ink); }
.button.outline:hover,button.outline:hover { background:var(--soft); color:var(--ink); }
main { max-width:1500px; padding:50px 4% 75px; }
input,textarea,select { background:#171d15; border-color:#6e7864; color:var(--ink); }
input[type=date] { color-scheme:dark; }
.error { background:#3a201b; color:#ffd6c7; border-color:#aa6552; }
.card { border-radius:0; }
.badge { background:#303a27; color:#e8eddc; }
.step { background:#282e24; color:var(--muted); }
.step.current { background:var(--accent); color:#151911; }
.viewer-wrap { background:#e7e9df; color:#293025; }
.viewer-toolbar label { color:#263020; }
.viewer-toolbar button { background:transparent; color:#263020; border-color:#adb5a2; }
.viewer-info { background:var(--white); color:var(--ink); }
.viewer-info p { margin:10px 0; }
.viewer-info .actions { margin-top:16px; }
.scope-stage { height:460px; position:relative; touch-action:none; }
.scope-stage canvas { width:100%; height:100%; display:block; }
.scope-hint { position:absolute; top:14px; left:16px; color:#c6d1b9; font:11px/1.5 'Courier New',monospace; pointer-events:none; }
.section-rule { border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; font:11px/1.5 'Courier New',monospace; letter-spacing:1px; padding:13px 0; margin-bottom:28px; color:var(--muted); }
.sheet-frame { border:1px solid #b6bda9; padding:6px; position:relative; }
.sheet-frame::before,.sheet-frame::after { content:''; width:8px; height:8px; border:1px solid var(--accent); background:var(--paper); position:absolute; pointer-events:none; }
.sheet-frame::before { top:-5px; left:-5px; }.sheet-frame::after { bottom:-5px; right:-5px; }
.sheet-axis { display:flex; justify-content:space-around; position:absolute; top:-24px; left:0; width:100%; font:10px 'Courier New',monospace; color:#919b85; }
.sheet-title { display:flex; justify-content:space-between; gap:12px; border:1px solid var(--line); padding:13px 16px; font:11px/1.4 'Courier New',monospace; letter-spacing:1px; color:var(--muted); }
.sheet-title b { color:var(--ink); }
.sheet-hero { display:grid; grid-template-columns:1.1fr 1fr; border:1px solid var(--line); border-top:0; }
.sheet-copy { padding:35px 28px 25px; background-image:linear-gradient(#bec8ae06 1px,transparent 1px),linear-gradient(90deg,#bec8ae06 1px,transparent 1px); background-size:30px 30px; }
.sheet-designation { font:clamp(48px,6.7vw,100px)/1 'Segoe UI',Arial,sans-serif; font-weight:650; letter-spacing:-6px; color:#b3bba6; margin-bottom:18px; }
.sheet-copy h1 { font:clamp(32px,3.35vw,53px)/1.06 'Segoe UI',Arial,sans-serif; font-weight:600; letter-spacing:-1.5px; margin-bottom:22px; }
.sheet-copy>p { color:var(--muted); max-width:520px; font-size:17px; }
.sheet-copy .eyebrow { font:11px 'Courier New',monospace; margin-bottom:20px; color:var(--accent); }
.sheet-copy .promise { border-left:2px solid var(--accent); padding-left:14px; font-size:13px; margin-top:24px; margin-bottom:0; }
.sheet-plan { margin:0; border-left:1px solid var(--line); display:flex; flex-direction:column; min-width:0; background:#1c211b; }
.plan-heading { display:flex; justify-content:space-between; gap:12px; padding:20px 18px; font:10px/1.5 'Courier New',monospace; letter-spacing:.6px; color:var(--muted); }
.sheet-plan img { width:100%; display:block; flex:1; object-fit:contain; min-height:230px; }
.plan-titleblock { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr .6fr 1.4fr; font:12px/1.5 'Courier New',monospace; }
.plan-titleblock>span { border-right:1px solid var(--line); padding:14px 13px; }.plan-titleblock>span:last-child { border-right:0; }
.plan-titleblock small,.sheet-spec small { display:block; font:10px/1.5 'Courier New',monospace; letter-spacing:.8px; color:var(--muted); margin-bottom:5px; }
.sheet-spec { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-top:0; }
.sheet-spec>span { padding:15px 17px; border-right:1px solid var(--line); font-size:13px; }.sheet-spec>span:last-child { border-right:0; }
.service-spec h2,.request-sequence h2 { font:clamp(30px,3vw,44px)/1.1 'Segoe UI',Arial,sans-serif; font-weight:500; letter-spacing:-1px; }
.sequence-no { font:40px/1 'Courier New',monospace; color:var(--accent); display:block; margin:12px 0 22px; }
.request-sequence .grid article { padding:0 22px 0 0; border-right:1px solid var(--line); }.request-sequence .grid article:last-child { border-right:0; }
.request-sequence p { font-size:15px; color:var(--muted); }
.trial-line { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; margin-top:24px; display:flex; gap:32px; justify-content:space-between; align-items:center; }
.trial-line p { margin:0; max-width:750px; }.trial-line .button { flex-shrink:0; }
.cursor-toggle { font:10px 'Courier New',monospace; color:var(--muted)!important; background:transparent!important; padding:8px; border-color:var(--line); white-space:nowrap; }
#cad-cursor { position:fixed; inset:0; width:100%; height:100%; z-index:10000; pointer-events:none; overflow:visible; }
#cad-cursor[hidden] { display:none; }
#cad-cursor line { stroke:var(--cursor); stroke-width:.6; opacity:.36; }
#cad-cursor rect { fill:none; stroke:var(--cursor); stroke-width:1.2; }
#cad-cursor circle { fill:var(--cursor); }
#cad-cursor text { fill:var(--cursor); font:10px 'Courier New',monospace; paint-order:stroke; stroke:var(--paper); stroke-width:3px; stroke-linejoin:round; }
#cad-cursor[data-interactive=true] rect { stroke-width:2; }
@media(hover:hover) and (pointer:fine) { .cad-pointer-active,.cad-pointer-active * { cursor:none!important; } }
@media(hover:none),(pointer:coarse) { #cad-cursor,.cursor-toggle { display:none!important; } }
@media(max-width:1000px) { nav{gap:15px;} .sheet-title span:nth-child(2){display:none;} .sheet-copy{padding:28px 22px;} .sheet-copy h1{font-size:37px;} .sheet-copy .actions{gap:10px;} .sheet-copy .button{font-size:13px;padding:12px 16px;} }
@media(max-width:850px) { .sheet-hero{grid-template-columns:1fr;} .sheet-plan{border-left:0;border-top:1px solid var(--line);} .sheet-copy h1{font-size:42px;} .sheet-designation{font-size:68px;letter-spacing:-4px;} .sheet-plan img{max-height:450px;} .request-sequence .grid article{border:0;border-bottom:1px solid var(--line);padding:0 0 20px;} .trial-line{display:block;} .trial-line .button{margin-top:18px;} }
@media(max-width:500px) { header{padding:18px 5%;} nav{gap:13px;} main{padding-top:42px;} .sheet-title{padding:11px 9px;font-size:9px;} .sheet-copy{padding:24px 18px;} .sheet-copy h1{font-size:33px;letter-spacing:-.9px;} .sheet-copy>p{font-size:16px;} .sheet-copy .actions{display:grid;} .sheet-spec{grid-template-columns:1fr;} .sheet-spec>span{border:0;border-bottom:1px solid var(--line);} .sheet-spec>span:last-child{border:0;} .section-rule{font-size:9px;} .section-rule span:last-child{max-width:45%;text-align:right;} .plan-heading{padding:16px 10px;font-size:9px;} .plan-titleblock>span{padding:11px 8px;font-size:10px;} .scope-stage{height:340px;} }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;} }

.viewer-toolbar{background:#22281f;color:var(--ink);border-bottom:1px solid var(--line)}
.viewer-toolbar label,.viewer-toolbar button{color:var(--ink)}
.viewer-toolbar button{border-color:var(--line)}
.viewer-info{background:#1c211b;color:var(--ink)}

/* Drawing-paper presentation: decorative grids carry no measurement scale. */
body{background-image:linear-gradient(#b1b8a90b 1px,transparent 1px),linear-gradient(90deg,#b1b8a90b 1px,transparent 1px),linear-gradient(#b1b8a908 1px,transparent 1px),linear-gradient(90deg,#b1b8a908 1px,transparent 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px}
header{background:var(--paper)}
main{border-inline:1px solid #50574a66}
.page-title{padding:20px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.page-title .eyebrow{font-family:'Courier New',monospace;letter-spacing:1px}
.page-title h1{font-family:'Segoe UI',Arial,sans-serif;font-weight:550;letter-spacing:-1.5px}
.card{background:#1d231bf5}.scope-participation{border-left:2px solid var(--accent);padding:12px 18px;margin-top:24px;color:var(--muted)}
.scope-picker{margin:0 0 30px;padding:20px 0;border:0;border-bottom:1px solid var(--line);min-width:0}
.scope-picker legend{font:12px 'Courier New',monospace;letter-spacing:1px;color:var(--accent)}
.scope-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.scope-option{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:18px 14px!important;min-width:0;border-radius:0}
.scope-option strong{font-size:17px;font-weight:550}.scope-option small{font:11px/1.5 'Courier New',monospace;color:var(--muted)}
.scope-option[aria-pressed=true]{border-color:var(--accent)!important;background:#e5985c17!important;box-shadow:inset 0 3px var(--accent)}
.scope-option:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.timeline{border:1px solid var(--line);padding:12px;background:#141713e8}.table-scroll{background:#141713f0;border:1px solid var(--line)}
@media(max-width:1050px){.scope-options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.scope-options{grid-template-columns:1fr}.scope-option{padding:14px!important}.page-title h1{font-size:34px}main{border:0}}

.plan-dropzone{border:1px dashed var(--accent);padding:24px;background:#e5985c08}.plan-dropzone.drag-ready{background:#e5985c20;outline:2px solid var(--accent)}.plan-dropzone label{font-size:18px}.plan-dropzone .help{overflow-wrap:anywhere;margin:14px 0 0}.plan-dropzone input{font-size:14px}

/* Current service brief: warm architectural paper, readable type, restrained grid. */
:root{--paper:#f6f3eb;--ink:#263640;--muted:#52656c;--line:#cbd3d1;--accent:#284f66;--soft:#e8ede9;--white:#fffdf7;--cursor:#98724d}
body{background-color:var(--paper);background-image:linear-gradient(#284f6605 1px,transparent 1px),linear-gradient(90deg,#284f6605 1px,transparent 1px);background-size:40px 40px;font-size:17px}
header{background:#fffdf7;border-bottom:1px solid var(--line)}.mark{color:#92673d;border-color:#92673d}nav{font-size:15px}.brand-sub{font-size:10px}
main{border:0;padding-top:44px}h1,h2{font-family:'Segoe UI',Arial,sans-serif;letter-spacing:-1.2px}.eyebrow,.section-label{font:12px/1.6 'Courier New',monospace;letter-spacing:1.4px;color:var(--accent);font-weight:700}
button,.button{color:#fffdf7;background:var(--accent);border-color:var(--accent);padding:14px 22px;font-size:16px}.button:hover,button:hover{background:#1c3d52;color:white}.outline:hover,.button.outline:hover{background:var(--soft);color:var(--ink)}
.card{background:var(--white);padding:28px}.card p,.muted,.help{color:var(--muted)}.help{font-size:14px;line-height:1.65}.banner{background:#eaf0ec;color:var(--ink);border-color:#577764}
input,select,textarea{background:#fffefb;color:var(--ink);border-color:#9faeaf;font-size:16px}input[type=date]{color-scheme:light}.error{background:#fff0e9;color:#8b3324;border-color:#c98267}
[hidden]{display:none!important}.scope-option small{color:var(--muted)}.scope-option[aria-pressed=true]{background:#e4edf1!important;border-color:var(--accent)!important}.scope-option strong{font-size:17px}.scope-options{gap:10px}
.scope-picker{padding-top:24px;margin-bottom:0;border-bottom:0}.scope-picker legend{font-size:15px;letter-spacing:0;font-family:'Segoe UI',sans-serif;color:var(--ink);font-weight:600}
.plan-dropzone{background:#eef3f1;border:1.5px dashed #5c7c89;padding:30px}.plan-dropzone.drag-ready{background:#dfece9}.plan-dropzone label{font-size:21px}.plan-dropzone small{color:var(--muted);font-size:14px}.plan-dropzone input{background:var(--white)}
.page-title{border-top:0}.page-title h1{font-size:44px}.page-title p{margin-bottom:0}.intake-sheet{max-width:1050px;margin:0 auto}.intake-section{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid var(--line)}.section-label{margin-bottom:18px}.optional-details{background:#f3f4ed;padding:16px}.optional-details summary{font-size:15px}.optional-details .form-grid{margin-top:20px}.item-checks{display:flex;flex-wrap:wrap;gap:12px 24px;margin:16px 0}.item-checks label{background:#edf0e9;padding:10px 14px}
.timeline,.table-scroll{background:var(--white)}.step{background:#e8ece6;color:var(--muted)}.step.current{background:var(--accent);color:white}.badge{background:#e5ede5;color:#304e3f}.metric{background:var(--white)}.table-scroll{border-color:var(--line)}
.service-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:54px;align-items:center;padding:25px 0 35px}.hero-copy h1{font-size:clamp(40px,4.3vw,68px);line-height:1.08;font-weight:550;margin-bottom:25px}.hero-intro{font-size:19px;line-height:1.65;max-width:540px;color:var(--muted)}.hero-copy .promise{font-size:14px;line-height:1.7;border-left:3px solid #a28156;padding-left:15px;margin-top:27px}.service-trust{display:flex;gap:22px;flex-wrap:wrap;font-size:13px;color:var(--muted);padding-top:20px}.service-trust span:before{content:'✓ ';color:#4f745f}.hero-plan{margin:0;border:1px solid #a7b8b9;background:#f4f1e6;box-shadow:8px 8px 0 #e7e7dd}.hero-plan img{width:100%;display:block}.plan-heading{font-size:11px;color:#49626d}.plan-titleblock{font-size:12px;color:var(--ink)}.section-rule{color:var(--muted)}.service-steps h2,.trade-strip h2{font-size:37px;font-weight:500;margin-top:30px}.trade-strip{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;padding:32px 0;border-block:1px solid var(--line)}.trade-strip h2{margin-top:0}.trade-strip p{max-width:650px;color:var(--muted)}.trade-tags{display:flex;flex-wrap:wrap;gap:12px;align-content:center}.trade-tags span{border:1px solid var(--line);padding:12px 20px;background:var(--white);font-size:15px}.quote-banner{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:32px;background:#e6ece6}.quote-banner h2{font-size:30px;margin-bottom:12px}.quote-banner p{margin-bottom:0;color:var(--muted)}.trial-footer{margin-top:18px}.sample-sheet{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.sample-sheet .button{margin-top:24px}.drawing{background:#f4f1e6}
footer{background:#fffdf7}.pre{background:#edf0e9;color:#263640}#toast{background:#284f66;color:white}
@media(max-width:850px){.service-hero,.trade-strip,.sample-sheet{grid-template-columns:1fr}.service-hero{gap:34px}.hero-plan{max-width:620px}.quote-banner{align-items:flex-start;flex-direction:column}.service-hero h1{font-size:45px}.scope-options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){header{padding:20px 5%}main{padding-top:25px}.service-hero h1{font-size:39px}.hero-intro{font-size:18px}.hero-copy .actions{display:grid}.hero-copy .button{width:100%}.service-trust{gap:10px 18px}.card{padding:22px}.intake-sheet{padding:20px}.scope-options{grid-template-columns:1fr 1fr}.scope-option{padding:12px!important}.scope-option strong{font-size:15px}.scope-option small{font-size:11px}.plan-dropzone{padding:18px}.page-title h1{font-size:34px}.trade-strip h2,.service-steps h2{font-size:30px}.quote-banner{padding:24px}}

.brand{flex-shrink:0;white-space:nowrap}.brand-sub{white-space:nowrap}nav .button{white-space:nowrap;padding:10px 16px}nav>a{white-space:nowrap}.cursor-toggle{font-size:11px}.service-hero .actions{gap:12px}

/* Owner-controlled scope layers. No quantities or private rates in preferences. */
.scope-layout{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start}.scope-layer-panel{background:#fffdf7;color:#263640;padding:18px;border-right:1px solid #ccd4d6;min-width:0}.scope-layer-panel h3{font:600 18px/1.3 'Segoe UI',sans-serif;margin:0 0 8px}.scope-layer-row{display:grid;grid-template-columns:1fr 36px;gap:5px 8px;padding:12px 0;border-bottom:1px solid #dce2e3}.scope-layer-row label{text-transform:capitalize;display:flex;align-items:center;font-size:13px}.scope-layer-row input[type=checkbox]{margin:0 8px 0 0}.scope-layer-row input[type=color]{width:36px;height:30px;padding:2px;margin:0;cursor:pointer}.scope-layer-row small{grid-column:1/-1;font-size:11px;color:#67747a}.scope-layer-panel>button{margin:15px 0}.scope-layer-panel input[type=range]{padding:0;border:0;width:100%;accent-color:#284f66}.scope-viewport{min-width:0}.scope-layout .viewer-toolbar{background:#fffdf7;color:#263640}.scope-layout .viewer-toolbar label,.scope-layout .viewer-toolbar button{color:#263640}.scope-layout .scope-stage{height:560px}.scope-hint{background:#263640;color:#fff}.scope-layout+ .viewer-info{background:#fffdf7;color:#263640}
@media(max-width:1050px){.scope-layout{grid-template-columns:180px minmax(0,1fr)}.scope-layer-panel{padding:12px}}@media(max-width:650px){.scope-layout{display:flex;flex-direction:column}.scope-layer-panel{width:100%;border-right:0;border-bottom:1px solid #ccd4d6;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.scope-layer-panel h3,.scope-layer-panel>p{grid-column:1/-1}.scope-viewport{width:100%}.scope-layout .scope-stage{height:400px}}

.scope-caption{padding:12px 16px;background:#e6edf0;color:#263640;font-size:13px;font-weight:650;border-bottom:1px solid #ccd4d6}

.scope-layer-panel .help{font-size:12px;line-height:1.5;margin:10px 0}.scope-layer-row{padding:7px 0}.scope-layer-panel select{padding:6px 8px;font-size:13px}.scope-layer-panel>button{margin:12px 0}.scope-layer-panel input[type=range]{height:18px}

.scope-layer-panel{max-height:720px;overflow-y:auto}@media(max-width:650px){.scope-layer-panel{max-height:none;overflow-y:visible}}

/* Clear service entry and original, compact deliverable demonstration. */
.project-entry{border:1px solid #a7b8b9;background:var(--white);box-shadow:8px 8px 0 #e7e7dd}.project-entry-body{padding:32px;text-align:center;background-image:linear-gradient(#284f6607 1px,transparent 1px),linear-gradient(90deg,#284f6607 1px,transparent 1px);background-size:24px 24px}.entry-symbol{font:48px/1 'Courier New',monospace;color:#98724d;margin:0 auto 20px;width:80px;height:80px;display:grid;place-items:center;border:1px dashed #98724d}.project-entry h2{font-size:30px;font-weight:550}.project-entry p{color:var(--muted);max-width:350px;margin:0 auto 24px}.project-entry small{display:block;margin-top:16px}.project-entry .button{min-width:200px}.entry-caption{display:flex;justify-content:space-around;gap:10px;border-top:1px solid var(--line);padding:14px;font:11px/1.5 'Courier New',monospace;color:var(--muted)}.text-link{display:inline-block;text-decoration:underline;text-underline-offset:5px;font-size:15px;font-weight:600}.home-demo-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:center;margin-top:32px}.home-demo .hero-plan{box-shadow:none}.home-demo .caption{padding:14px;margin:0;font-size:11px}.demo-copy h2{font-size:36px;font-weight:500}.demo-copy>p{color:var(--muted)}.demo-controls{display:flex;flex-wrap:wrap;gap:8px}.demo-controls button{font-size:14px;padding:10px 13px}.demo-controls button[aria-pressed=true]{background:var(--accent);color:var(--white)}.demo-description{border-block:1px solid var(--line);margin:22px 0;padding:22px 0;min-height:185px}.demo-description h3{font-size:21px}.demo-description p{margin-bottom:0;color:var(--muted)}.sample-quantities{margin:0}.sample-quantities div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:6px 0;font-size:15px}.sample-quantities dd{margin:0;font-weight:600}.demo-description small{display:block;margin-top:10px}
@media(max-width:850px){.home-demo-layout{grid-template-columns:1fr;gap:30px}.home-demo .hero-plan{max-width:520px}.project-entry{max-width:620px}.entry-hero{gap:30px}}@media(max-width:500px){.project-entry-body{padding:25px 20px}.entry-caption{font-size:10px}.demo-copy h2{font-size:30px}.demo-controls button{font-size:13px;padding:9px 10px}.demo-description{min-height:0}.entry-hero h1{font-size:37px}}

/* REVO plan-set entry: original service workspace, no third-party UI assets. */
main[data-view=intake]{max-width:1500px;padding-top:0}.plan-workspace-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:16px 0;font-size:16px}.plan-workspace-bar span{font:11px 'Courier New',monospace;color:var(--muted);letter-spacing:1px}.plan-workspace-bar .small{padding:8px 16px;font-size:14px}.plan-entry-shell{max-width:680px;margin:0 auto}.plan-entry-intro{text-align:center;max-width:680px;margin:32px auto 24px}.plan-entry-intro .eyebrow{font-size:11px;margin-bottom:10px}.plan-entry-intro h1{font-size:27px;line-height:1.25;letter-spacing:-.6px;font-weight:600;margin-bottom:12px}.plan-entry-intro p{font-size:16px;color:var(--muted);margin-bottom:0}.guest-plan-drop,.plan-entry-form #plan-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;min-height:180px;border:2px dashed #97aeb4;background:#fffdf7;padding:25px;width:100%}.guest-plan-drop:hover{background:#eef3f1;text-decoration:none;border-color:var(--accent)}.guest-plan-drop strong{font-size:24px;font-weight:550}.guest-plan-drop span:not(.button){font-size:15px;color:var(--muted)}.guest-plan-drop small{font-size:13px}.guest-plan-drop .button{margin-top:6px}.entry-quote-note{font-size:13px;text-align:center;line-height:1.6;color:var(--muted);margin:16px 0 24px}.plan-entry-form{max-width:680px;border:0;background:none;padding:0}.plan-entry-form .upload-first{padding:0;border:0;margin-bottom:0}.plan-entry-form:not(.has-plans)>.intake-section:not(.upload-first),.plan-entry-form:not(.has-plans)>.banner,.plan-entry-form:not(.has-plans)>p.help,.plan-entry-form:not(.has-plans)>button[type=submit]{display:none}.plan-entry-form #plan-dropzone label{position:relative;font-size:24px;font-weight:550;cursor:pointer;width:100%;padding:25px 0}.plan-entry-form #plan-dropzone input[type=file]{position:absolute;inset:0;opacity:0;padding:0;cursor:pointer}.plan-entry-form #plan-dropzone label:focus-within{outline:3px solid var(--accent);outline-offset:7px}.plan-entry-form #plan-dropzone small{display:block;font-size:15px;font-weight:400;margin-top:8px}.plan-entry-form #plan-file-status{font-size:13px;margin:0;max-width:100%;overflow-wrap:anywhere}.plan-entry-form.has-plans .upload-first{margin-bottom:28px}.plan-entry-form.has-plans{max-width:900px}.entry-sample{max-width:680px;margin:30px auto 0}.entry-divider{display:flex;align-items:center;gap:15px;margin-bottom:22px;font:11px 'Courier New',monospace;letter-spacing:1.5px;color:var(--muted)}.entry-divider:before,.entry-divider:after{content:'';height:1px;background:var(--line);flex:1}.entry-sample-row{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:25px}.entry-sample-image{border:1px solid #a7b8b9;background:#f4f1e6;display:block}.entry-sample-image img{display:block;width:100%;height:auto}.entry-sample-row h2{font-size:22px;font-weight:600;letter-spacing:-.4px;margin-bottom:10px}.entry-sample-row p{font-size:14px;color:var(--muted);margin-bottom:16px}.entry-sample-note{text-align:center;font-size:12px;color:var(--muted);margin:18px 0 0}body:has(main[data-view=intake]) header{padding-top:14px;padding-bottom:14px}body:has(main[data-view=intake]) .brand{font-size:25px}body:has(main[data-view=intake]) .mark{font-size:25px;padding:6px 10px}
@media(max-width:500px){.plan-workspace-bar span{display:none}.plan-entry-intro{margin-top:26px}.plan-entry-intro h1{font-size:24px}.guest-plan-drop{padding:22px 16px}.entry-sample-row{grid-template-columns:130px minmax(0,1fr);gap:16px}.entry-sample-row h2{font-size:19px}.entry-sample-row .button{font-size:12px;padding:9px 10px}.entry-sample-row p{font-size:13px}.plan-entry-form #plan-dropzone{padding:18px}.plan-entry-form #plan-dropzone label{padding:20px 0}.entry-sample-note{font-size:11px}}

.entry-sample-row{grid-template-columns:320px minmax(0,1fr)}.entry-deliverable-link{display:block;font-size:13px;text-decoration:underline;text-underline-offset:4px;margin-top:12px}.entry-sample-image img{aspect-ratio:3/2;object-fit:contain}.entry-sample-image:hover{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:600px){.entry-sample-row{grid-template-columns:1fr}.entry-sample-image{max-width:480px}.entry-sample-row h2{font-size:22px}}

/* One Add plans action in the public plan workspace; authentication is on demand. */
body:has(main[data-view=intake]) .nav-add-plans,body:has(main[data-view=intake]) #account[href="#login"]{display:none}div.guest-plan-drop:hover{background:#fffdf7;border-color:#97aeb4}div.guest-plan-drop small{line-height:1.7}

/* Unified architectural service presentation, October 10. */
:root{--paper:#f5f2e9;--ink:#233b4b;--muted:#52656c;--line:#ced6d3;--accent:#264b60;--white:#fffdf8;--copper:#9c533c;--sage:#526d5e}
body{background-color:var(--paper);background-image:linear-gradient(#264b6005 1px,transparent 1px),linear-gradient(90deg,#264b6005 1px,transparent 1px);background-size:40px 40px}
header{border-top:4px solid var(--copper);background:var(--white)}.mark{background:var(--ink);color:var(--white);border-color:var(--ink)}.brand-sub{color:var(--muted);letter-spacing:1.5px}nav a{font-weight:550}nav a:hover{color:var(--copper)}
a.button,button{min-height:44px}.button:hover,button:hover{filter:brightness(.95)}a:focus-visible,button:focus-visible{outline:3px solid var(--copper);outline-offset:4px}
main[data-view=intake]{max-width:1380px;padding-top:24px}.plan-workspace-bar{padding:14px 22px;border:0;border-radius:8px;background:var(--ink);color:var(--white);box-shadow:0 6px 18px #233b4b12}.plan-workspace-bar span{color:#d9e3e3}.plan-workspace-bar .button,.plan-workspace-bar button{background:var(--copper);color:white;border-color:var(--copper);padding:10px 22px;min-height:44px}
.plan-entry-shell,.plan-entry-intro,.plan-entry-form,.entry-sample{max-width:780px}.plan-entry-intro{margin:38px auto 25px}.plan-entry-intro .eyebrow{color:var(--copper);font-weight:600;letter-spacing:1.7px}.plan-entry-intro h1{font-size:clamp(28px,3.4vw,43px);line-height:1.15;font-weight:600;letter-spacing:-1.1px}.plan-entry-intro p{font-size:17px;line-height:1.6}.entry-assurances{display:flex;justify-content:center;gap:10px 22px;flex-wrap:wrap;margin-top:18px;color:var(--sage);font-size:12px;font-weight:600}.entry-assurances span:before{content:'✓ ';font-weight:700}
div.guest-plan-drop,.plan-entry-form #plan-dropzone{border:1.5px dashed #8a9fa5;border-radius:8px;min-height:190px;background-color:var(--white);background-image:linear-gradient(#264b6005 1px,transparent 1px),linear-gradient(90deg,#264b6005 1px,transparent 1px);background-size:24px 24px;box-shadow:0 8px 30px #233b4b06}.plan-drop-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ad8067;color:var(--copper);font:26px/1 'Courier New',monospace}.guest-plan-drop strong{font-size:23px}.guest-plan-drop small{color:var(--muted)}.entry-quote-note{padding:14px;margin:14px 0 24px;border-left:3px solid var(--sage);background:#e9eee8;border-radius:0 4px 4px 0}.entry-sample{margin-top:30px}.entry-divider{color:var(--sage);margin-bottom:20px}.entry-sample-row{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px #233b4b06}.entry-sample-image{border-radius:4px;overflow:hidden;box-shadow:0 3px 10px #233b4b12}.entry-sample-row h2{font-size:25px;line-height:1.2}.entry-sample-row .button{border-color:var(--accent);color:var(--accent);display:inline-flex;align-items:center}.entry-sample-note{margin-top:12px;font-size:11px}.plan-entry-form.has-plans{max-width:940px}.plan-entry-form.has-plans .intake-section:not(.upload-first){padding:24px;background:var(--white);border:1px solid var(--line);border-radius:8px}.plan-entry-form.has-plans .scope-option{min-height:90px}
.page-title .eyebrow{color:var(--copper)}.page-title h1{color:var(--ink);line-height:1.15}.grid>.card{border-top:3px solid var(--accent);border-radius:6px;box-shadow:0 6px 18px #233b4b06}.grid>.card:nth-child(2){border-top-color:var(--sage)}.grid>.card:nth-child(3){border-top-color:var(--copper)}.card .num{color:var(--copper)}.banner{border-left-width:3px;border-radius:4px}
.showcase-sheet{grid-template-columns:minmax(0,.72fr) minmax(0,1.35fr);gap:40px;margin-top:24px;padding:30px;background:var(--white);border:1px solid var(--line);border-radius:8px}.showcase-copy h2{font-size:clamp(28px,3.2vw,42px);line-height:1.15;font-weight:550;letter-spacing:-.8px}.showcase-copy p{color:var(--muted);line-height:1.65}.sample-disclosure{border-left:3px solid var(--sage);padding:10px 14px;background:#e9eee8;color:var(--sage);font-size:13px;line-height:1.6}.showcase-copy .button{margin:20px 0 14px;display:inline-flex;align-items:center}.showcase-copy .text-link{display:block;font-size:14px}.showcase-sheet .drawing{margin:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--paper)}.showcase-sheet img{width:100%;display:block}.showcase-sheet .caption{padding:12px;line-height:1.5;color:var(--muted);font-size:11px}.deliverable-cards{margin-top:24px}
footer{border-top:3px solid var(--ink)}
@media(max-width:850px){.showcase-sheet{grid-template-columns:1fr;padding:22px;gap:24px}.showcase-copy h2{font-size:34px}}
@media(max-width:600px){main[data-view=intake]{padding-top:16px}.plan-workspace-bar{padding:12px 14px;gap:10px}.plan-workspace-bar span{display:none}.plan-workspace-bar .button,.plan-workspace-bar button{padding:10px 14px}.plan-entry-intro{margin-top:28px}.plan-entry-intro h1{font-size:31px}.plan-entry-intro p{font-size:15px}.entry-assurances{gap:8px 13px;font-size:11px}.entry-sample-row{grid-template-columns:1fr;padding:16px;gap:18px}.entry-sample-image{max-width:none}.entry-sample-row h2{font-size:24px}.plan-entry-form.has-plans .intake-section:not(.upload-first){padding:18px}.showcase-sheet{padding:18px}.showcase-copy h2{font-size:31px}}

.signed-entry-note{max-width:780px;margin:14px auto 24px}

.trade-overview{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:8px}.trade-overview h2{font-size:30px;line-height:1.2}.trade-overview p{color:var(--muted)}.trade-overview .trade-tags{gap:8px;margin:22px 0}.trade-overview .trade-tags span{font-size:13px;padding:9px 12px;background:#edf1eb}.trade-service-cards{margin-top:28px}.trade-service-cards .trade-item-list{font-size:13px;border-top:1px solid var(--line);padding-top:14px;color:var(--sage)}@media(max-width:600px){.trade-overview{padding:20px}.trade-overview h2{font-size:25px}}
.scope-options{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:600px){.scope-options{grid-template-columns:1fr}}

.showcase-plan{background:var(--white);border:1px solid var(--line);border-radius:8px;overflow:hidden}.showcase-plan-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 30px}.showcase-plan-heading h2{font-size:29px;margin:0 0 10px}.showcase-plan-heading p{color:var(--muted);margin:0;max-width:760px}.showcase-plan-heading .button{white-space:nowrap}.showcase-plan figure{margin:0;border-top:1px solid var(--line)}.showcase-plan img{width:100%;height:auto;display:block}.showcase-plan figcaption{padding:14px 24px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}@media(max-width:650px){.showcase-plan-heading{align-items:flex-start;flex-direction:column;padding:20px;gap:16px}.showcase-plan-heading h2{font-size:25px}.showcase-plan figcaption{padding:12px 18px}}

/* Shared construction-sequence trade cards. */
.trade-overview{padding:0;background:transparent;border:0}.trade-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.trade-card-heading .num{margin:0}.trade-icon{width:32px;height:32px;color:var(--sage);flex:none}.trade-service-cards .card:nth-child(3n+1){border-top-color:var(--accent)}.trade-service-cards .card:nth-child(3n+2){border-top-color:var(--sage)}.trade-service-cards .card:nth-child(3n){border-top-color:var(--copper)}.trade-overview .text-link{display:inline-block;margin-top:22px}

/* Showcase precedes plan intake; experience claim supplied by owner. */
.plan-entry-intro .entry-experience{display:inline-block;font-size:14px;font-weight:600;color:var(--sage);padding:9px 16px;border:1px solid #ccd7cd;border-radius:4px;background:#edf1eb;margin-top:18px}.plan-entry-shell>.entry-sample{margin-bottom:30px}.entry-sample+.plan-entry-form{margin-top:30px}

.delivery-summary{display:flex;justify-content:center;gap:10px 20px;flex-wrap:wrap;font-size:12px;color:var(--sage);margin-top:16px}.delivery-summary span:before{content:'✓ ';}.delivery-preview h2{font-size:34px;margin-bottom:12px}.delivery-example-note{font-size:12px;color:var(--muted);margin:20px 0}.delivery-tabs{display:flex;gap:6px;flex-wrap:wrap}.delivery-tabs button{background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:6px 6px 0 0}.delivery-tabs button[aria-selected=true]{background:var(--ink);color:var(--white)}.delivery-document{padding:26px;background:var(--white);border:1px solid var(--line);border-radius:0 6px 6px 6px}.delivery-document[hidden]{display:none}.delivery-document-header{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:16px}.delivery-document-header span{font:11px 'Courier New',monospace;color:var(--muted)}.scope-legend{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.scope-legend button{display:flex;align-items:center;gap:8px;font-size:13px;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:9px 12px}.scope-legend button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 -2px var(--ink)}.scope-swatch{width:12px;height:12px;border-radius:2px}.scope-swatch.siding{background:#b8ccbb}.scope-swatch.trim{background:#a25d40}.scope-swatch.soffit{background:#d7bf86}.scope-swatch.fascia{background:#315971}.delivery-elevation{display:block;width:100%;max-height:400px;background:#f8f7f0;border:1px solid var(--line)}.demo-scope{transition:opacity .15s}.demo-scope-description{padding:15px;background:#edf1eb;color:var(--ink);font-size:14px;line-height:1.6;margin-bottom:0}.delivery-table-scroll{overflow-x:auto}.delivery-document table{width:100%;border-collapse:collapse;margin-top:20px}.delivery-document caption{text-align:left;font-size:13px;color:var(--muted);padding-bottom:12px}.delivery-document th,.delivery-document td{text-align:left;border-bottom:1px solid var(--line);padding:13px 10px;font-size:14px}.delivery-document th{background:#edf1eb}.delivery-note-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px}.delivery-note-grid h3{font-size:18px}.delivery-note-grid p{color:var(--muted);line-height:1.7}.delivery-response{display:flex;flex-direction:column;gap:7px;margin-top:20px;padding:18px 22px;border-left:3px solid var(--sage);background:#edf1eb;font-size:14px}.delivery-response span{color:var(--muted)}@media(max-width:600px){.delivery-preview h2{font-size:28px}.delivery-document{padding:16px}.delivery-note-grid{grid-template-columns:1fr;gap:0}.delivery-tabs button{font-size:12px;padding:10px}.delivery-document th,.delivery-document td{padding:10px 7px;font-size:12px}.delivery-summary{gap:8px 12px}}

/* Compact showcase shared by the plan entry and intake views. */
.entry-sample-compact{margin-top:22px}.entry-sample-compact .entry-divider{margin-bottom:12px}.entry-sample-compact .entry-sample-row{grid-template-columns:190px minmax(0,1fr);gap:22px;padding:16px;align-items:center}.entry-sample-compact .entry-sample-image{max-width:none}.entry-sample-compact .entry-sample-image img{width:100%;height:auto;aspect-ratio:auto}.entry-sample-compact .entry-sample-row h2{font-size:22px;line-height:1.25;margin:0 0 8px}.entry-sample-compact .entry-sample-row p{font-size:14px;line-height:1.5;margin:0 0 10px}.entry-sample-compact .entry-deliverable-link{margin-top:0;font-size:14px;line-height:1.5}.entry-sample-compact .entry-sample-note{margin:8px 0 0;font-size:11px;line-height:1.5}
@media(max-width:600px){.entry-sample-compact .entry-sample-row{grid-template-columns:92px minmax(0,1fr);gap:14px;padding:14px;align-items:start}.entry-sample-compact .entry-sample-row h2{font-size:18px;line-height:1.25}.entry-sample-compact .entry-sample-row p{font-size:13px;line-height:1.45}.entry-sample-compact .entry-deliverable-link{font-size:13px}}
