@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--bg:#f5f3ec;--ink:#253c32;--gold:#9d7a43;--line:#deded1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}header{height:100px;display:flex;align-items:center;justify-content:space-between;max-width:1360px;margin:auto;padding:0 5%;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}.brand{font-size:27px;letter-spacing:3px;font-weight:600}.brand span{display:block;font-size:8px;letter-spacing:2px;margin:6px 0 0 27px}nav{display:flex;gap:35px}nav a:hover{color:var(--gold)}button,input,select,textarea{font:inherit}button{cursor:pointer}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;padding:16px 23px;background:transparent;border:1px solid var(--ink);border-radius:3px;font-weight:600}.dark{background:var(--ink);color:#fff;border-color:var(--ink)}button:hover,.button:hover{filter:brightness(1.15)}button:disabled{opacity:.4;cursor:not-allowed}.full{width:100%}main{max-width:1360px;margin:auto;padding:0 5%}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:540px;align-items:center;gap:20px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:700}h1,h2,.guide h3{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(42px,5.4vw,74px);line-height:1.08;margin:24px 0}h1 i{font-weight:500;color:var(--gold)}.intro{font-size:15px;line-height:1.8;color:#637168;margin-bottom:25px}.small{font-size:9px;letter-spacing:.7px;color:#738074;line-height:1.7}.hero-copy .small{margin-top:26px}.hero-art{height:500px;position:relative;overflow:hidden;background:#e9e5d8;border-radius:180px 180px 3px 3px}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:70%}.art-label{position:absolute;bottom:23px;left:20px;font-size:8px;letter-spacing:1.8px;background:#f5f3eccf;padding:12px}.steps{display:flex;justify-content:space-between;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.steps b{color:var(--gold);margin-right:15px;font-family:Georgia;font-size:23px;font-weight:400}section:not(.hero){padding:60px 0 10px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}h2{font-size:34px;margin:10px 0}.badge{font-size:10px;background:#e7eadf;padding:9px 12px;border-radius:20px}.workspace{display:grid;grid-template-columns:340px 1fr;gap:22px}.panel{border:1px solid var(--line);background:#fbfaf6;border-radius:6px;padding:25px}h3{font-size:15px;margin:0 0 20px}.upload{display:flex;align-items:center;text-align:center;justify-content:center;flex-direction:column;border:1px dashed #a6ae9b;background:#f1f1e7;min-height:145px;cursor:pointer;gap:8px}.upload span{font-size:30px;color:var(--gold)}.upload small{font-size:10px;line-height:1.5;color:#728072}.text-button{border:0;background:none;color:var(--gold);font-size:11px;padding:12px 0}.notice{background:#f0eee4;padding:13px;font-size:11px;line-height:1.7;margin:12px 0 22px;color:#72745f}label{display:block;font-size:12px;margin:16px 0}input:not([type=checkbox]):not([type=range]),select,textarea{display:block;width:100%;border:1px solid var(--line);background:#fff;padding:11px;margin-top:8px;border-radius:3px;color:var(--ink)}input[type=range]{width:100%;accent-color:var(--ink);margin-top:12px}output{float:right;color:var(--gold)}.check{display:flex;gap:8px;align-items:center}input[type=checkbox]{accent-color:var(--ink)}#status,#stlStatus{font-size:11px;line-height:1.6;color:#738074}.viewer{display:flex;flex-direction:column}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.8px}canvas{width:100%;height:450px;background:radial-gradient(ellipse,#ececdf,#f7f6ee);margin-top:20px;border-radius:4px;touch-action:none}.viewer-bottom{color:#7a8277}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0 25px;gap:10px}.stats small{font-size:8px;color:#8b9184;display:block}.stats b{font-size:13px;display:block;margin-top:9px}.print-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:22px}.guide{padding:38px}.guide h3{font-size:35px;line-height:1.25;margin-top:20px}.guide ol{padding-left:22px}.guide li{padding:10px 0 10px 8px}.guide p{font-size:13px;line-height:1.7;color:#748075}.compact{min-height:65px}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project{border:1px solid var(--line);padding:22px;border-radius:4px}.project p{font-size:12px;color:#738074}footer{max-width:1360px;margin:65px auto 0;padding:30px 5%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#7b8274}:focus-visible{outline:3px solid #ba985f;outline-offset:4px}@media(max-width:800px){header{height:80px;gap:10px}.brand{font-size:22px}nav{display:none}header .button{font-size:11px;padding:12px}.hero{grid-template-columns:1fr;padding:35px 0}.hero-art{height:320px;border-radius:120px 120px 4px 4px}.hero-copy .small{font-size:8px}.steps{gap:12px}.steps span{font-size:10px}.steps b{display:block;margin-bottom:8px}.section-head{align-items:flex-start;flex-direction:column}h2{font-size:29px}.workspace,.print-grid{grid-template-columns:1fr}.panel{padding:20px}canvas{height:320px}.projects{grid-template-columns:1fr}footer{gap:20px;flex-wrap:wrap}.guide h3{font-size:29px}.stats b{font-size:11px}}
.catalogue{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0 35px}.catalogue p{color:#657268;line-height:1.7;font-size:12px}.catalogue a{display:block;font-size:11px;color:var(--gold);margin:15px 0}.printer-card h3{font-family:Georgia;font-size:24px;margin-top:18px}.printer-card .button{font-size:11px;padding:12px;margin-top:12px}.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:650px;font-size:12px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:14px;line-height:1.6;vertical-align:top}th{color:var(--gold)}details{margin-top:22px}summary{cursor:pointer;padding:16px;background:#eeeee2;font-weight:600}#roadmap td:first-child{white-space:nowrap;font-weight:700}header nav{gap:18px;font-size:12px}@media(max-width:1000px){header{height:auto;min-height:90px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px}header nav{order:3;width:100%;display:flex;overflow-x:auto;white-space:nowrap;padding:12px 0;gap:23px}.catalogue{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.catalogue,.filters{grid-template-columns:1fr}.filters{gap:0}#pricePanel .section-head h2{font-size:25px}header nav a{padding:6px 0}.catalogue .panel{padding:22px}}
header{position:sticky;top:0;z-index:20;background:#f5f3ecf5;backdrop-filter:blur(10px);height:90px;flex-wrap:nowrap}header nav{display:none!important;position:absolute;top:90px;right:5%;width:310px;max-height:70vh;overflow:auto;background:#fbfaf6;border:1px solid var(--line);padding:16px;box-shadow:0 15px 40px #253c3220;border-radius:6px;white-space:normal}header nav.open{display:flex!important;flex-direction:column;gap:4px}header nav a{padding:14px;border-radius:3px;font-size:14px}header nav a:hover,header nav a[aria-current]{background:#e7eadf;color:var(--ink)}.menu-toggle{display:inline-flex;margin-left:auto;margin-right:16px;padding:12px 16px}html{scroll-padding-top:105px}#buildingView{height:350px}#courseModules details{margin:0}#courseModules summary{font-size:14px}#courseModules p,#courseModules li{font-size:13px;line-height:1.8}#courseModules .check{font-weight:600}#costResult{font-size:20px;font-family:Georgia}@media(max-width:600px){header{min-height:80px;height:80px;padding:10px 5%;gap:5px}header nav{top:80px;right:5%;width:90%;max-height:75vh}.menu-toggle{font-size:12px;margin-right:0;padding:10px}header>.button.dark{display:none}#buildingView{height:280px}}
#watchSources .panel p{font-size:13px;line-height:1.7}#chartSummary,#alertStatus{line-height:1.8}#priceChart{min-height:180px;padding:15px;background:#f1f1e8;border-radius:4px;margin:20px 0}
.figure-grid{display:grid;grid-template-columns:420px 1fr;gap:22px}.view-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.figure-upload{min-height:250px;padding:12px}.figure-upload canvas{display:block;width:100%;height:150px;margin:4px 0 0;background:#e9e8dd}.figure-viewer{display:flex;flex-direction:column}.figure-viewer>canvas{height:480px}.job-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:18px 0}.job-stages span{padding:10px 7px;border:1px solid var(--line);color:#8a9187;text-align:center;font-size:10px}.job-stages span.active{background:#e9eadf;color:var(--ink);border-color:#9d7a43}.job-stages span.done{background:var(--ink);color:#fff}.export-row{display:flex;gap:10px;flex-wrap:wrap}.figure-notes{margin-top:22px}.figure-notes li{margin:10px 0;line-height:1.6}@media(max-width:950px){.figure-grid{grid-template-columns:1fr}.figure-viewer>canvas{height:390px}}@media(max-width:600px){.view-inputs{grid-template-columns:1fr 1fr}.figure-upload{min-height:205px}.figure-upload canvas{height:110px}.job-stages{grid-template-columns:1fr 1fr}.export-row .button{flex:1}.figure-viewer>canvas{height:330px}}
#prepReport table{font-size:12px}#prepStatus,#prepJob{line-height:1.7}.prep-piece{padding:18px;background:#efeee4;border:1px solid var(--line);margin:15px 0;border-radius:4px}.prep-piece p{font-size:12px;line-height:1.7}#fitExports{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}#prepSavings{font-size:12px;line-height:1.8}
#accountStatus,#accountProfile,#libraryStatus{line-height:1.8}#quoteResult{font:22px Georgia;line-height:1.5}.workshop-item{padding:15px;background:#eeeee5;border:1px solid var(--line);border-radius:4px;margin:12px 0}.workshop-item h3{margin-bottom:8px}.workshop-item p{font-size:12px;line-height:1.7;white-space:pre-wrap}.lot-card select{margin:10px 0}.lot-card p{line-height:1.7;font-size:12px}#workshop .section-head .export-row .button{font-size:11px;padding:12px}#account [hidden]{display:none!important}#headerAccount{font-size:12px;padding:12px 15px}@media(max-width:600px){header>#headerAccount{display:inline-flex!important;padding:9px;font-size:10px;max-width:90px}.brand{font-size:20px}.brand span{font-size:6px}.menu-toggle{margin-left:auto}header{gap:8px}#projectList .button{font-size:11px;padding:10px}}
