.cpl{width:100%;font-family:var(--font-body);color:var(--text);container-type:inline-size}.cpl-sheet{--u:calc(100cqw / 420);aspect-ratio:420/297;grid-template-columns:calc(var(--u) * 270) 1fr;grid-template-rows:1fr calc(var(--u) * 16);background:var(--bg);width:100cqw;box-shadow:var(--shadow-lg);outline:1px solid var(--border);font-size:calc(var(--u) * 2.9);line-height:1.35;display:grid;position:relative;overflow:hidden}.cpl-plan{padding:calc(var(--u) * 6) calc(var(--u) * 4) calc(var(--u) * 4) calc(var(--u) * 8);margin:0}.cpl-svg{width:calc(var(--u) * 262);height:calc(var(--u) * 257);font-family:var(--font-body);font-variant-numeric:tabular-nums;display:block}.cpl-ground{fill:var(--n-50)}.cpl-street-edge{fill:none;stroke:var(--n-300);stroke-linecap:round;stroke-linejoin:round}.cpl-street{fill:none;stroke:var(--bg);stroke-linecap:round;stroke-linejoin:round}.cpl-cad{fill:none;stroke:var(--n-300)}.cpl-cad-n{fill:var(--n-400);font-weight:500}.cpl-street-name{fill:var(--n-600);font-family:var(--font-display);letter-spacing:.06em;paint-order:stroke;stroke:var(--bg);stroke-width:.5px;font-weight:500}.cpl-neighbour{fill:var(--n-200);stroke:var(--n-300)}.cpl-garden{fill:var(--plan-garden)}.cpl-lawn-dot{fill:color-mix(in oklch, var(--plan-tree-edge) 22%, transparent)}.cpl-lot{stroke:var(--plan-limit);stroke-linejoin:round}.cpl-lot.is-a{fill:color-mix(in oklch, var(--plan-garden) 60%, white)}.cpl-lot.is-b{fill:var(--plan-garden)}.cpl-lot.is-kept{fill:none;stroke:none}.cpl-road{fill:var(--plan-asphalt);stroke:none}.cpl-kerb{fill:none;stroke:var(--plan-kerb);stroke-linejoin:round}.cpl-kerb.is-thin{stroke:var(--plan-pave-joint)}.cpl-asphalt-dot{fill:color-mix(in oklch, var(--plan-kerb) 55%, transparent)}.cpl-pave{fill:var(--plan-pave)}.cpl-pave-joint{stroke:var(--plan-pave-joint);fill:none}.cpl-easement{stroke:color-mix(in oklch, var(--plan-easement) 55%, transparent)}.cpl-turn{fill:none;stroke:var(--plan-kerb)}.cpl-hedge{fill:none;stroke:color-mix(in oklch, var(--plan-tree-edge) 24%, transparent);stroke-linecap:round}.cpl-arrow{stroke:var(--plan-limit);fill:none}.cpl-arrow-head{fill:var(--plan-limit)}.cpl-entry{fill:var(--plan-limit);font-family:var(--font-display);letter-spacing:.01em;font-weight:600}.cpl-way-w{fill:var(--plan-limit);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:600}.cpl-way-name{fill:color-mix(in oklch, var(--plan-limit) 75%, transparent);letter-spacing:.05em;font-weight:500}.cpl-stall-n{fill:var(--bg);font-variant-numeric:tabular-nums;font-weight:700}.cpl-road-hatch{stroke:var(--plan-kerb)}.cpl-aisle{fill:var(--plan-asphalt)}.cpl-stall{fill:var(--plan-asphalt);stroke:var(--bg)}.cpl-stall.is-visitor{fill:color-mix(in oklch, var(--plan-asphalt) 60%, var(--plan-roof))}.cpl-env{fill:color-mix(in oklch, var(--tirage-100) 35%, transparent);stroke:var(--tirage-500);stroke-linejoin:round}.cpl-tree{fill:color-mix(in oklch, var(--plan-tree-edge) 14%, transparent);stroke:var(--plan-tree-edge)}.cpl-tree.is-kept{fill:var(--plan-tree)}.cpl-tree-in.is-kept{fill:color-mix(in oklch, var(--plan-tree-edge) 30%, transparent)}.cpl-trunk{fill:var(--plan-tree-edge)}.cpl-tree-in{fill:color-mix(in oklch, var(--plan-tree-edge) 22%, transparent)}.cpl-shadow{fill:color-mix(in oklch, var(--n-900) 13%, transparent)}.cpl-house{fill:var(--n-900);stroke:var(--n-900);stroke-linejoin:round}.cpl-ridge{fill:none;stroke:var(--n-400)}.cpl-garage{fill:var(--n-500);stroke:var(--n-900);stroke-linejoin:round}.cpl-garage-x{fill:none;stroke:var(--n-300)}.cpl-existing{fill:var(--n-150);stroke:var(--n-700)}.cpl-hatch{stroke:var(--n-500)}.cpl-demolished{fill:none;stroke:var(--n-500)}.cpl-coll{fill:var(--n-150)}.cpl-circ{fill:var(--n-100)}.cpl-room{fill:var(--n-200);stroke:var(--n-500)}.cpl-unit{stroke:var(--n-700);stroke-linejoin:round}.cpl-unit.is-t1,.cpl-swatch.is-t1{fill:var(--plan-t1);background:var(--plan-t1)}.cpl-unit.is-t2,.cpl-swatch.is-t2{fill:var(--plan-t2);background:var(--plan-t2)}.cpl-unit.is-t3,.cpl-swatch.is-t3{fill:var(--plan-t3);background:var(--plan-t3)}.cpl-unit.is-t4,.cpl-swatch.is-t4{fill:var(--plan-t4);background:var(--plan-t4)}.cpl-unit.is-t5,.cpl-swatch.is-t5{fill:var(--plan-t5);background:var(--plan-t5)}.cpl-unit-label{fill:var(--n-900);font-family:var(--font-display);font-weight:600}.cpl-core{fill:var(--n-300);stroke:var(--n-700)}.cpl-coll-wall{fill:none;stroke:var(--n-900);stroke-linejoin:miter}.cpl-dim line,.cpl-dim path{stroke:var(--n-700);fill:none}.cpl-dim-text{fill:var(--n-800,var(--n-900));paint-order:stroke;stroke:var(--bg);stroke-width:.35px;font-weight:500}.cpl-cutline path{stroke:var(--accent);fill:none}.cpl-parcel{fill:none;stroke:var(--plan-limit);stroke-linejoin:round}.cpl-edge{fill:var(--n-600)}.cpl-lot-name{fill:var(--n-900);font-family:var(--font-display);letter-spacing:-.01em;paint-order:stroke;stroke:color-mix(in oklch, var(--bg) 70%, transparent);stroke-width:.25px;font-weight:600}.cpl-lot-area{fill:var(--n-700);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:color-mix(in oklch, var(--bg) 70%, transparent);stroke-width:.25px;font-weight:500}.cpl-park-label{fill:var(--n-700);letter-spacing:.04em;paint-order:stroke;stroke:var(--bg);stroke-width:.5px;font-weight:600}.cpl-north-ring{fill:var(--bg);stroke:var(--n-700)}.cpl-north-full{fill:var(--n-900)}.cpl-north-half{fill:var(--bg);stroke:var(--n-900)}.cpl-north-n{fill:var(--n-900);font-family:var(--font-display);font-weight:600}.cpl-bar-bg{fill:color-mix(in oklch, var(--bg) 90%, transparent)}.cpl-bar{fill:var(--n-900);stroke:var(--n-900)}.cpl-bar.is-light{fill:var(--bg)}.cpl-bar-t{fill:var(--n-900)}.cpl-bar-t.is-scale{font-weight:600}.cpl-side{gap:calc(var(--u) * 3.4);padding:calc(var(--u) * 7) calc(var(--u) * 8) calc(var(--u) * 4) calc(var(--u) * 6);border-left:calc(var(--u) * .25) solid var(--n-900);flex-direction:column;display:flex;overflow:hidden}.cpl-head{gap:calc(var(--u) * 1.4);display:grid}.cpl-kicker{color:var(--brand-hover);font-weight:500;font-size:calc(var(--u) * 2.8);margin:0}.cpl-title{font-family:var(--font-display);font-weight:600;font-size:calc(var(--u) * 6);letter-spacing:var(--ls-display);text-wrap:balance;margin:0;line-height:1.08}.cpl-sub{color:var(--text-muted);font-size:calc(var(--u) * 2.7);margin:0}.cpl-kpis{border-top:calc(var(--u) * .4) solid var(--n-900);border-bottom:calc(var(--u) * .15) solid var(--border-strong);grid-template-columns:repeat(4,1fr);margin:0;display:grid}.cpl-kpis div{padding:calc(var(--u) * 2) calc(var(--u) * 1) calc(var(--u) * 2) 0}.cpl-kpis div+div{padding-left:calc(var(--u) * 2);border-left:calc(var(--u) * .15) solid var(--border)}.cpl-kpis dt{font-size:calc(var(--u) * 2.2);color:var(--text-subtle)}.cpl-kpis dd{margin:calc(var(--u) * .6) 0 0;font-family:var(--font-display);font-weight:600;font-size:calc(var(--u) * 6.4);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.cpl-kpis small{letter-spacing:0;font-size:.5em;font-weight:500}.cpl-ai{color:var(--accent)}.cpl-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:calc(var(--u) * 2.7)}.cpl-table caption{text-align:left;font-family:var(--font-display);font-weight:600;font-size:calc(var(--u) * 3.2);padding-bottom:calc(var(--u) * 1);border-bottom:calc(var(--u) * .3) solid var(--n-900)}.cpl-table th,.cpl-table td{padding:calc(var(--u) * .75) 0;border-bottom:calc(var(--u) * .12) solid var(--border);text-align:left;vertical-align:baseline;font-weight:400}.cpl-table th{color:var(--text-muted)}.cpl-table td{text-align:right;color:var(--text);white-space:nowrap;padding-left:calc(var(--u) * 2);font-weight:500}.cpl-grid thead th{font-size:calc(var(--u) * 2.2);color:var(--text-subtle);text-align:right;padding-left:calc(var(--u) * 2);white-space:nowrap}.cpl-grid thead th:first-child{text-align:left;padding-left:0}.cpl-grid tbody th{color:var(--text)}.cpl-grid tfoot th,.cpl-grid tfoot td{border-top:calc(var(--u) * .3) solid var(--n-900);color:var(--text);border-bottom:0;font-weight:600}.cpl-grid tfoot td span{color:var(--text-subtle);font-size:.8em;font-weight:400;display:block}.cpl-swatch{width:calc(var(--u) * 2);height:calc(var(--u) * 2);margin-right:calc(var(--u) * .8);vertical-align:-.2em;outline:calc(var(--u) * .12) solid var(--n-700);display:inline-block}.cpl-cut{margin:0}.cpl-cut figcaption{font-family:var(--font-display);font-weight:600;font-size:calc(var(--u) * 3.2);padding-bottom:calc(var(--u) * 1);border-bottom:calc(var(--u) * .3) solid var(--n-900);margin-bottom:calc(var(--u) * 1.5)}.cpl-floor{width:100%;height:auto;max-height:calc(var(--u) * 30);font-family:var(--font-body);display:block}.cpl-section{width:100%;height:auto;max-height:calc(var(--u) * 34);font-family:var(--font-body);font-variant-numeric:tabular-nums;display:block}.cpl-sec-ground{stroke:var(--n-900);fill:none}.cpl-sec-soil{fill:var(--n-150)}.cpl-sec-limit{stroke:var(--n-900);fill:none}.cpl-sec-env{stroke:var(--tirage-500);fill:color-mix(in oklch, var(--tirage-100) 40%, transparent);stroke-linejoin:round}.cpl-sec-bldg{fill:var(--plan-roof-flat);stroke:var(--plan-roof-edge);stroke-linejoin:round}.cpl-sec-roof{fill:var(--plan-roof);stroke:var(--plan-roof-edge);stroke-linejoin:round}.cpl-sec-level{stroke:var(--plan-roof-flat-edge)}.cpl-sec-dim path{stroke:var(--n-700);fill:none}.cpl-sec-text{fill:var(--n-700)}.cpl-sec-text.is-accent{fill:var(--tirage-700);font-weight:600}.cpl-rules{gap:calc(var(--u) * .9);font-size:calc(var(--u) * 2.3);margin:0;display:grid}.cpl-rules div{grid-template-columns:calc(var(--u) * 20) 1fr;gap:calc(var(--u) * 2);display:grid}.cpl-rules dt{color:var(--text-subtle)}.cpl-rules dd{color:var(--text-muted);margin:0}.cpl-legend{justify-content:space-between;gap:calc(var(--u) * 1) calc(var(--u) * 3);font-size:calc(var(--u) * 2.2);color:var(--text-muted);grid-template-columns:repeat(3,auto);margin:auto 0 0;padding:0;list-style:none;display:grid}.cpl-legend li{align-items:center;gap:calc(var(--u) * 1.6);display:flex}.cpl-legend i{width:calc(var(--u) * 6);height:calc(var(--u) * 2.6);flex:none}.lg-parcel{border-top:calc(var(--u) * .55) dashed var(--plan-limit);height:0!important}.lg-lot{background:var(--plan-garden);outline:calc(var(--u) * .2) solid var(--plan-limit)}.lg-env{background:color-mix(in oklch, var(--tirage-100) 35%, transparent);outline:calc(var(--u) * .25) dashed var(--tirage-500)}.lg-new{background:linear-gradient(var(--plan-roof) 50%, var(--plan-roof-shade) 50%);outline:calc(var(--u) * .2) solid var(--plan-roof-edge)}.lg-garage{background:var(--plan-garage);outline:calc(var(--u) * .2) solid var(--plan-roof-edge)}.lg-exist{background:repeating-linear-gradient(45deg, var(--plan-existing-hatch) 0 calc(var(--u) * .15), var(--plan-existing) 0 calc(var(--u) * .7));outline:calc(var(--u) * .2) solid var(--plan-existing-edge)}.lg-demo{background:repeating-linear-gradient(45deg, var(--plan-demolished-hatch) 0 calc(var(--u) * .3), var(--plan-demolished) 0 calc(var(--u) * .9));outline:calc(var(--u) * .2) dashed var(--plan-demolished-edge)}.lg-road{background:var(--plan-asphalt);outline:calc(var(--u) * .3) solid var(--plan-kerb)}.lg-pave{background:repeating-linear-gradient(0deg, var(--plan-pave-joint) 0 calc(var(--u) * .1), var(--plan-pave) 0 calc(var(--u) * .7));outline:calc(var(--u) * .15) solid var(--plan-pave-joint)}.lg-easement{background:repeating-linear-gradient(-45deg, color-mix(in oklch, var(--plan-easement) 55%, transparent) 0 calc(var(--u) * .25), var(--plan-asphalt) 0 calc(var(--u) * 1.1));outline:calc(var(--u) * .3) solid var(--plan-kerb)}.lg-turn{outline:calc(var(--u) * .2) dashed var(--plan-kerb);margin:0 calc(var(--u) * 1.4);border-radius:50%;width:calc(var(--u) * 3.2)!important;height:calc(var(--u) * 3.2)!important}.lg-hedge{background:color-mix(in oklch, var(--plan-tree-edge) 38%, transparent);border-radius:calc(var(--u) * 1);height:calc(var(--u) * 1.1)!important}.lg-arrow{border-top:calc(var(--u) * .45) solid var(--plan-limit);position:relative;height:0!important}.lg-stall{background:color-mix(in oklch, var(--plan-asphalt) 80%, var(--plan-kerb));outline:calc(var(--u) * .15) solid var(--bg);width:calc(var(--u) * 2.6)!important}.lg-tree.is-kept{background:var(--plan-tree);outline-style:solid}.lg-tree{background:var(--plan-tree);outline:calc(var(--u) * .15) solid var(--plan-tree-edge);margin-left:calc(var(--u) * 1.6);margin-right:calc(var(--u) * 1.6);border-radius:50%;width:calc(var(--u) * 2.8)!important;height:calc(var(--u) * 2.8)!important;outline-style:dashed!important}.lg-cut{border-top:calc(var(--u) * .3) dashed var(--accent);height:0!important}.cpl-band{grid-column:1/-1;grid-template-columns:calc(var(--u) * 46) calc(var(--u) * 92) 1fr calc(var(--u) * 92);background:var(--n-900);color:var(--text-inverse);font-size:calc(var(--u) * 2.4);align-items:center;display:grid}.cpl-band>div{padding:0 calc(var(--u) * 6);gap:calc(var(--u) * .4);display:grid}.cpl-band>div+div{border-left:calc(var(--u) * .15) solid color-mix(in oklch, var(--bg) 22%, transparent)}.cpl-band b{font-family:var(--font-display);font-weight:600;font-size:calc(var(--u) * 3.1)}.cpl-band span{color:color-mix(in oklch, var(--bg) 72%, transparent)}.cpl-band-logo svg{width:calc(var(--u) * 6)!important;height:calc(var(--u) * 6)!important}.cpl-band-logo span span{font-size:calc(var(--u) * 4.2);color:var(--text-inverse)}.cpl-band-date{text-align:right}@media print{@page plate{size:A3 landscape;margin:0}.cpl{page:plate;break-after:page;break-inside:avoid;width:420mm}.cpl-sheet{--u:1mm;aspect-ratio:auto;width:420mm;height:297mm;box-shadow:none;outline:0}.cpl *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
