:root{--ink:#11151b;--paper:#f2f1ea;--paper2:#e8e8e1;--dark:#090c10;--dark2:#11161d;--yellow:#ffd31f;--cyan:#68e0df;--lilac:#aa8cff;--muted:#7c8590;--line:rgba(17,21,27,.1);--radius:24px;--shadow:0 25px 80px rgba(0,0,0,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}img{max-width:100%}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.narrow{max-width:860px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;background:white;padding:10px;z-index:99}.site-header{position:fixed;z-index:40;left:0;right:0;top:0;height:76px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:24px;padding:0 28px;color:white;background:rgba(8,11,15,.72);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}.brand{display:flex;align-items:center;gap:12px;font-weight:700}.brand img{width:34px;height:34px;object-fit:contain}.desktop-nav{display:flex;justify-content:center;gap:24px;font-size:.9rem}.desktop-nav a{color:#b9c0c9}.desktop-nav a:hover,.desktop-nav a.active{color:white}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:0 18px;border-radius:14px;border:1px solid transparent;font-weight:750;cursor:pointer}.button-primary{background:var(--yellow);color:#151515}.button-dark{background:var(--ink);color:white}.button-ghost{border-color:rgba(255,255,255,.2);color:white;background:rgba(255,255,255,.03)}.button-light{border-color:var(--line);background:white;color:var(--ink)}.button.big{min-height:56px;padding-inline:24px}.menu-button{display:none;color:white;background:none;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:10px 14px}.mobile-menu{position:fixed;z-index:39;top:76px;left:0;right:0;padding:20px;background:#0d1117;color:white;display:none;gap:14px}.mobile-menu[hidden]{display:none!important}.section-dark,.page-hero{background:var(--dark);color:white}.section-light,.process-light{background:var(--paper);color:var(--ink)}.page-hero{padding:165px 0 84px;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;right:-120px;top:-180px;background:radial-gradient(circle,var(--lilac),transparent 65%);opacity:.12}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:850;color:var(--yellow);margin:0 0 16px}.eyebrow.dark{color:#8a6d00}.page-hero h1{font-size:clamp(3.4rem,8vw,7.4rem);line-height:.92;letter-spacing:-.055em;margin:0}.page-hero h1 span,.page-hero h2 span{color:var(--yellow)}.lede{font-size:1.18rem;color:#b5bec8;max-width:720px;margin:26px 0}.lede.small{font-size:1.05rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-showcase{padding:0 0 100px}.hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.trust-row div{display:grid;padding:16px 0;border-top:1px solid rgba(255,255,255,.14)}.trust-row span,.microcopy{color:#89939f;font-size:.88rem}.microcopy{margin-top:30px}.hero-visual{min-height:480px;position:relative;display:grid;place-items:center;perspective:1000px}.part-stage{width:min(450px,80vw);aspect-ratio:1;position:relative;display:grid;place-items:center;transform-style:preserve-3d;transition:transform .15s ease}.model-shell{width:58%;height:64%;position:relative;border-radius:35% 45% 30% 35%;background:linear-gradient(135deg,#f6f7f8,#737c88 54%,#242a31);box-shadow:0 45px 70px rgba(0,0,0,.45);transform:rotate(-18deg) skewY(4deg);overflow:hidden}.hole{position:absolute;border-radius:50%;background:#0b0f14;box-shadow:inset 0 0 0 8px rgba(255,255,255,.08)}.h1{width:30%;height:26%;left:15%;top:14%}.h2{width:24%;height:21%;right:16%;top:21%}.h3{width:36%;height:34%;left:34%;bottom:16%}.rib{position:absolute;height:10px;background:rgba(255,255,255,.5);border-radius:8px;transform-origin:left center}.r1{width:70%;left:13%;top:48%;transform:rotate(32deg)}.r2{width:63%;left:25%;top:28%;transform:rotate(78deg)}.r3{width:64%;left:20%;bottom:24%;transform:rotate(-35deg)}.orb{position:absolute;width:250px;height:250px;border-radius:50%;filter:blur(70px);opacity:.18}.orb-cyan{background:var(--cyan);left:0;bottom:30px}.orb-lilac{background:var(--lilac);right:0;top:20px}.material-chip{position:absolute;padding:9px 12px;border-radius:999px;font-weight:800;font-size:.78rem;color:#111}.chip-yellow{background:var(--yellow);left:8%;top:15%}.chip-cyan{background:var(--cyan);right:4%;top:38%}.chip-lilac{background:var(--lilac);left:18%;bottom:8%}.process-light,.section-light,.section-dark{padding:100px 0}.section-heading{display:grid;grid-template-columns:1fr .7fr;align-items:end;gap:60px;margin-bottom:36px}.section-heading h2,.two-col h2,.prose h2{font-size:clamp(2.2rem,5vw,4.3rem);line-height:1;letter-spacing:-.045em;margin:0}.section-heading>p{color:#616a74}.steps-grid,.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step-card,.service-card,.material-detail,.gallery-card{border-radius:var(--radius);padding:28px;border:1px solid var(--line);background:#fbfbf8}.step-card>span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--yellow);font-weight:900}.step-card h3,.service-card h3{font-size:1.3rem;margin:28px 0 8px}.step-card p,.service-card p{color:#67707a}.service-card.light a,.text-link{font-weight:800}.service-icon{width:48px;height:48px;border-radius:16px;background:#fff3b5;display:grid;place-items:center}.service-icon.cyan{background:#c8f7f6}.service-icon.lilac{background:#ded2ff}.two-col,.content-grid,.about-layout,.confirmation-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.material-orbit{min-height:420px;border-radius:36px;border:1px solid rgba(255,255,255,.08);position:relative;background:radial-gradient(circle at center,rgba(104,224,223,.14),transparent 40%),radial-gradient(circle at 65% 35%,rgba(170,140,255,.18),transparent 30%)}.material-orbit i{position:absolute;inset:23%;border:1px solid rgba(255,255,255,.12);border-radius:50%}.material-orbit span{position:absolute;border-radius:999px;padding:10px 14px;background:#151b23}.material-orbit span:nth-child(1){left:10%;top:13%;background:var(--yellow);color:#111}.material-orbit span:nth-child(2){right:8%;top:26%;background:var(--cyan);color:#111}.material-orbit span:nth-child(3){left:22%;bottom:14%;background:var(--lilac);color:#111}.material-orbit span:nth-child(4){right:15%;bottom:13%}.material-orbit span:nth-child(5){left:43%;top:44%}.cta{padding:95px 0;background:var(--yellow)}.cta .eyebrow{color:#514400}.cta h2{font-size:clamp(2.6rem,6vw,5.2rem);line-height:.95;letter-spacing:-.045em;margin:0}.cta p{max-width:680px}.cta-inner{display:flex;flex-direction:column;align-items:flex-start}.material-cards{display:grid;gap:16px}.material-detail{display:grid;grid-template-columns:54px 1fr;gap:20px;align-items:start}.material-detail h2{margin:0 0 8px;font-size:1.8rem}.material-detail p{color:#69727c}.material-detail span{font-size:.8rem;background:#ecece7;padding:7px 10px;border-radius:999px}.material-dot{width:48px;height:48px;border-radius:16px;background:#444}.material-dot.pla{background:var(--yellow)}.material-dot.petg{background:var(--cyan)}.material-dot.tpu{background:var(--lilac)}.material-dot.asa{background:#fd8f58}.material-dot.engineering{background:#303640}.material-dot.resin{background:#d5e1f4}.prose{max-width:840px}.prose h2{margin:0 0 22px}.prose h3{font-size:1.5rem;margin:40px 0 8px}.prose p,.section-dark .prose p{font-size:1.05rem;color:#69727c}.section-dark .prose p{color:#9da7b2}.check-list{padding:0;list-style:none}.check-list li{padding:11px 0 11px 30px;border-bottom:1px solid var(--line);position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:#8a7200;font-weight:900}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gallery-card{min-height:350px;display:flex;flex-direction:column;justify-content:end;overflow:hidden}.gallery-card div{height:180px;margin:-28px -28px 25px;background:linear-gradient(135deg,#161b22,#798390)}.gallery-card.g2 div{background:linear-gradient(135deg,#c7c4b7,var(--yellow))}.gallery-card.g3 div{background:linear-gradient(135deg,#101419,var(--cyan))}.gallery-card.g4 div{background:linear-gradient(135deg,#332b45,var(--lilac))}.gallery-card span{font-weight:850;font-size:1.25rem}.gallery-card p{color:#68717b}.about-card{min-height:440px;border-radius:32px;background:#101419;display:grid;place-items:center;color:white}.about-card img{width:150px}.about-card p{position:absolute;align-self:end;padding-bottom:30px}.faq-list{display:grid;gap:12px;max-width:900px}.faq-list details{background:#fbfbf8;border:1px solid var(--line);border-radius:18px;padding:18px 22px}.faq-list summary{font-weight:850;cursor:pointer}.faq-list p{color:#66707a}.form-shell{display:grid;grid-template-columns:1fr 330px;gap:40px}.request-form{display:grid;gap:18px}.form-section,.sticky-card,.simple-form,.confirm-card,.status-card{background:#fbfbf8;border:1px solid var(--line);border-radius:26px;padding:30px}.form-section h2{font-size:2rem;margin:0 0 20px}.form-step{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#867000}.file-drop{border:1.5px dashed #a8adb2;border-radius:20px;padding:28px;display:grid;place-items:center;text-align:center;cursor:pointer;background:white}.file-drop input{display:none}.file-drop span{color:#6d7680;font-size:.85rem}.file-icon{font-size:2rem!important;color:#111!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label,.simple-form label,.admin-form label,.admin-login label{display:grid;gap:8px;font-weight:750;font-size:.88rem}.form-grid input,.form-grid select,.form-grid textarea,.simple-form input,.admin-form input,.admin-form select,.admin-form textarea,.admin-login input,.pricing-rule-grid input,.material-admin-list input,.material-admin-list textarea{width:100%;border:1px solid #d7d9d6;border-radius:13px;background:white;padding:13px;font:inherit;color:#111}.span-2{grid-column:1/-1}.optional{font-weight:500;color:#8b929a}.help{font-size:.82rem;color:#737c85}.consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0}.consent input{margin-top:5px}.form-aside{position:relative}.sticky-card{position:sticky;top:105px}.sticky-card ol{padding-left:20px}.sticky-card li{margin:10px 0}.big-price{font-size:4.2rem;letter-spacing:-.05em}.confirm-card.dark{background:#101419;color:white}.estimate-breakdown{display:grid;gap:10px;margin-top:24px}.estimate-breakdown span{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px}.status-pill{display:inline-flex;border-radius:999px;padding:7px 10px;background:#e4e6e8;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.status-pill.new{background:#fff0a3}.status-pill.completed{background:#c8f0d2}.status-card dl{display:grid;gap:8px}.status-card dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px}.legal-note{background:#fff0a3;padding:14px 18px;border-radius:14px}.legal-copy h2{font-size:2rem;margin-top:42px}.legal-copy p{color:#66707a}footer{background:#070a0e;color:#b5bec7;padding:60px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:30px}.footer-brand{display:flex;gap:14px;align-items:center}.footer-brand img{width:52px}.footer-brand div,.footer-grid>div:not(.footer-brand){display:grid;align-content:start;gap:8px}.footer-grid span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#727c87}.footer-grid p{margin:0}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);margin-top:30px;padding-top:24px;color:#727c87;font-size:.8rem}.reveal{opacity:0;transform:translateY(20px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}
/* admin */.admin-body{background:#ecece7}.admin-header{height:72px;background:#0a0d12;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.admin-header nav{display:flex;gap:18px;align-items:center;font-size:.86rem}.admin-header nav form{margin:0}.admin-header nav button{background:none;border:0;color:#b9c0c9;cursor:pointer}.admin-main{width:min(1200px,calc(100% - 36px));margin:40px auto}.admin-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.admin-title h1{font-size:3rem;letter-spacing:-.04em;margin:0}.admin-title p{margin:4px 0;color:#68717b}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat-grid article,.admin-panel{background:white;border:1px solid var(--line);border-radius:22px;padding:22px}.stat-grid span{display:block;color:#727b84}.stat-grid strong{display:block;font-size:2.5rem}.stat-grid small{color:#8a9198}.admin-panel{margin-bottom:18px}.panel-heading{display:flex;justify-content:space-between;align-items:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #e7e8e4;font-size:.88rem}td small{display:block;color:#7d858e}.admin-two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.admin-dl{display:grid}.admin-dl div{display:grid;grid-template-columns:170px 1fr;border-top:1px solid #ecece8;padding:10px 0}.admin-dl dt{color:#727a83}.note-box{background:#f4f4ef;border-radius:14px;padding:14px}.admin-form{display:grid;gap:15px}.pricing-rule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.pricing-rule-grid label{display:grid;gap:5px;padding:14px;border:1px solid #e7e7e2;border-radius:16px}.pricing-rule-grid em{font-size:.78rem;color:#7d858e;font-style:normal}.material-admin-list{display:grid;gap:14px;margin-bottom:20px}.material-admin-list fieldset{display:grid;grid-template-columns:2fr 1fr 1fr .7fr;gap:12px;border:1px solid #e3e4df;border-radius:18px;padding:16px}.material-admin-list legend{font-weight:850;padding:0 8px}.material-admin-list label{display:grid;gap:6px;font-size:.82rem}.material-admin-list .check{display:flex;align-items:center;gap:8px}.material-admin-list .check input{width:auto}.toggle-row{display:flex!important;justify-content:space-between;align-items:center;border:1px solid #e4e5e0;border-radius:16px;padding:18px}.toggle-row span{display:grid}.toggle-row small{color:#777f88}.toggle-row input{width:22px;height:22px}.integration-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;list-style-position:inside;padding:0}.integration-flow li{background:#f2f2ed;padding:14px;border-radius:14px}.admin-login{max-width:430px;margin:80px auto;background:white;padding:32px;border-radius:24px;border:1px solid var(--line)}.admin-login img{width:60px}.admin-login form{display:grid;gap:14px}.form-error{background:#ffd6d6;border-radius:12px;padding:12px}
@media(max-width:980px){.desktop-nav,.header-cta{display:none}.menu-button{display:block}.site-header{grid-template-columns:1fr auto}.hero-grid,.section-heading,.two-col,.content-grid,.about-layout,.confirmation-grid,.form-shell,.admin-two-col{grid-template-columns:1fr}.steps-grid,.service-grid{grid-template-columns:1fr}.hero-visual{min-height:400px}.form-aside{display:none}.stat-grid{grid-template-columns:1fr 1fr}.pricing-rule-grid{grid-template-columns:1fr}.material-admin-list fieldset{grid-template-columns:1fr 1fr}.admin-header nav{overflow:auto;max-width:75vw}.footer-grid{grid-template-columns:1fr 1fr}.integration-flow{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.wrap{width:min(100% - 26px,1180px)}.site-header{padding:0 14px}.page-hero{padding-top:135px}.page-hero h1{font-size:clamp(3rem,16vw,5rem)}.trust-row{grid-template-columns:1fr}.form-grid,.gallery-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.material-detail{grid-template-columns:1fr}.footer-grid,.stat-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.admin-main{width:min(100% - 20px,1200px);margin:20px auto}.admin-header nav a:nth-child(n+4){display:none}.material-admin-list fieldset{grid-template-columns:1fr}.integration-flow{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.part-stage{transition:none}}

.vat-row{display:flex;gap:20px;align-items:end;margin-top:18px;padding-top:18px;border-top:1px solid #e7e7e2}.vat-row label{display:grid;gap:6px}.vat-row .check{display:flex;align-items:center;gap:8px}.vat-row .check input{width:auto}


/* v2 mobile header + scroll-print scene */
@media(max-width:980px){
  .site-header{position:sticky;top:0;height:auto;min-height:64px;padding:calc(8px + env(safe-area-inset-top)) 14px 8px;grid-template-columns:minmax(0,1fr) auto;gap:12px;background:rgba(8,11,15,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
  .brand{min-width:0;gap:10px}.brand img{width:30px;height:30px;flex:0 0 auto}.brand span{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .menu-button{min-height:40px;padding:8px 12px;touch-action:manipulation}
  .mobile-menu{z-index:38;top:calc(64px + env(safe-area-inset-top));max-height:calc(100dvh - 64px - env(safe-area-inset-top));overflow:auto;overscroll-behavior:contain;padding:18px 18px calc(22px + env(safe-area-inset-bottom));background:rgba(10,14,19,.985);box-shadow:0 24px 50px rgba(0,0,0,.35);border-bottom:1px solid rgba(255,255,255,.08)}
  .mobile-menu:not([hidden]){display:grid}
  .mobile-menu a:not(.button){padding:7px 2px;color:#d5dbe2}
  .page-hero{padding-top:78px}
}
@media(max-width:620px){
  .page-hero{padding-top:64px}
}
.printer-frame{position:absolute;inset:8% 8% 10%;z-index:1;pointer-events:none}.frame-post,.frame-top{position:absolute;display:block;background:linear-gradient(90deg,#1c232c,#3d4652 48%,#171c22);box-shadow:0 0 0 1px rgba(255,255,255,.05)}.frame-post{top:0;bottom:0;width:17px;border-radius:7px}.frame-post.left{left:0}.frame-post.right{right:0}.frame-top{top:0;left:0;right:0;height:17px;border-radius:7px}
.benchy-stage{position:absolute;z-index:4;left:28%;width:44%;height:47%;bottom:16%;overflow:hidden;clip-path:inset(100% 0 0 0);filter:drop-shadow(0 22px 24px rgba(0,0,0,.5));will-change:clip-path}
.benchy-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.benchy-body{filter:drop-shadow(0 2px 0 rgba(255,255,255,.12))}
.print-rail{position:absolute;z-index:6;left:14%;width:72%;top:66%;height:72px;pointer-events:none;will-change:top}.rail-track{position:absolute;left:0;right:0;top:0;height:14px;border-radius:7px;background:linear-gradient(180deg,#424b56,#1b2128);box-shadow:0 0 0 1px rgba(255,255,255,.06),0 9px 18px rgba(0,0,0,.35)}
.print-head{position:absolute;left:10%;top:-12px;width:54px;height:78px;transform:translateX(-50%);will-change:left}.carriage{position:absolute;left:0;right:0;top:0;height:35px;border-radius:9px;background:linear-gradient(135deg,#5b6570,#1b2026 64%);box-shadow:0 7px 14px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.08)}.heater{position:absolute;left:15px;top:31px;width:24px;height:24px;border-radius:4px;background:linear-gradient(135deg,#4d5660,#171b20)}
.layer-readout{position:absolute;z-index:8;right:4.5%;bottom:11%;display:grid;gap:2px;text-align:right;color:#97a1ad;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.layer-readout strong{color:white;font-size:.82rem;letter-spacing:.1em}
@media(max-width:700px){
  .printer-frame{inset:7% 4% 9%}.frame-post{width:12px}.frame-top{height:12px}.benchy-stage{left:17%;width:66%;height:43%;bottom:17%}.print-rail{left:9%;width:82%}.print-head{width:46px}.layer-readout{right:6%;bottom:12%;font-size:.64rem}
}
@media(prefers-reduced-motion:reduce){
  .benchy-stage{clip-path:inset(0 0 0 0)!important}.print-rail{top:28%!important}.print-head{left:50%!important}
}

/* Unified customer/admin portal */
.mobile-menu[hidden]{display:none!important}.header-actions{display:flex;align-items:center;gap:10px}.portal-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#fff;font-weight:800;font-size:.86rem;background:rgba(255,255,255,.04)}.portal-link:hover{border-color:var(--cyan);background:rgba(104,224,223,.08)}.mobile-portal{width:100%}.portal-invite-card{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}.portal-invite-card p{color:#b5bec8}
.portal-entry-body{min-height:100vh;background:#080b0f;color:var(--ink)}.portal-splash{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.portal-splash-art{position:relative;overflow:hidden;background:radial-gradient(circle at 28% 35%,rgba(104,224,223,.2),transparent 28%),radial-gradient(circle at 74% 65%,rgba(170,140,255,.2),transparent 30%),#090d12}.portal-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to right,#000,transparent)}.portal-mark{position:absolute;left:10%;top:12%;width:88px;height:88px;border-radius:26px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(16px)}.portal-mark img{width:62px}.portal-ref-cloud{position:absolute;left:10%;bottom:13%;display:grid;gap:12px}.portal-ref-cloud span{width:max-content;padding:12px 16px;border-radius:999px;background:rgba(12,16,23,.76);border:1px solid rgba(255,255,255,.09);color:#fff;font-weight:850;letter-spacing:.07em;box-shadow:0 16px 50px rgba(0,0,0,.24)}.portal-ref-cloud span:nth-child(2){margin-left:86px;color:var(--cyan)}.portal-ref-cloud span:nth-child(3){margin-left:28px;color:#d8caff}.portal-login-panel{background:#f3f2ec;display:grid;place-items:center;padding:60px 8vw;position:relative}.portal-back{position:absolute;top:28px;right:34px;color:#676f78;font-weight:750}.portal-login-card{width:min(480px,100%);background:#fbfbf8;border:1px solid rgba(17,21,27,.1);border-radius:30px;padding:38px;box-shadow:0 30px 80px rgba(22,27,33,.1)}.portal-login-card>img{width:64px;margin-bottom:26px}.portal-login-card h1{font-size:clamp(2.45rem,4vw,4rem);line-height:.98;letter-spacing:-.05em;margin:0 0 18px}.portal-intro{color:#69717b}.portal-login-form{display:grid;gap:14px;margin-top:26px}.portal-login-form label{display:grid;gap:7px;font-size:.85rem;font-weight:800}.portal-login-form input{border:1px solid #d6d8d5;border-radius:14px;background:#fff;padding:14px;font:inherit}.portal-login-form small{color:#7c8490}.portal-login-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px;color:#68717b;font-size:.86rem}.form-success{padding:12px 14px;border-radius:12px;background:#d9f4df;color:#265d31}.portal-activate-wrap{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 10%,rgba(104,224,223,.13),transparent 35%),#efeee8}
.portal-body{background:#ecece7;min-height:100vh}.portal-sidebar{position:fixed;z-index:60;left:0;top:0;bottom:0;width:252px;background:#0a0e13;color:#fff;padding:22px 14px;display:flex;flex-direction:column}.portal-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px;border-bottom:1px solid rgba(255,255,255,.08)}.portal-brand img{width:40px;height:40px;object-fit:contain}.portal-brand span{display:grid}.portal-brand small{color:#7e8995;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.portal-sidebar nav{display:grid;gap:4px;margin-top:20px}.portal-sidebar nav a,.portal-side-bottom>a,.portal-side-bottom button{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:12px;color:#9da7b2;font-size:.88rem;font-weight:750;background:none;border:0;width:100%;text-align:left;cursor:pointer}.portal-sidebar nav a:hover,.portal-sidebar nav a.active{color:#fff;background:#161c24}.portal-sidebar nav a.active{box-shadow:inset 3px 0 0 var(--yellow)}.portal-sidebar nav i{width:24px;font-style:normal;text-align:center;color:#6f7b87}.portal-sidebar nav a.active i{color:var(--yellow)}.portal-side-bottom{margin-top:auto;display:grid;gap:4px;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}.portal-side-bottom form{margin:0}.portal-main{margin-left:252px;min-height:100vh}.portal-topbar{height:72px;background:rgba(247,247,242,.86);border-bottom:1px solid rgba(17,21,27,.08);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:flex-end;padding:0 34px;position:sticky;top:0;z-index:30}.portal-topbar>div{display:grid;text-align:right}.portal-topbar strong{font-size:.9rem}.portal-customer-ref{font-size:.69rem;letter-spacing:.1em;color:#79828c}.portal-nav-toggle{display:none}.portal-content{width:min(1220px,calc(100% - 52px));margin:0 auto;padding:44px 0 70px}.portal-welcome,.portal-page-title{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:26px}.portal-welcome h1,.portal-page-title h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:.95;letter-spacing:-.05em;margin:0}.portal-welcome p,.portal-page-title p{color:#69727c;max-width:690px;margin-bottom:0}.portal-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0 38px}.portal-stat-grid.admin-stats{grid-template-columns:repeat(4,1fr)}.portal-stat-grid article{background:#fafaf7;border:1px solid var(--line);border-radius:22px;padding:22px}.portal-stat-grid span{color:#707984;font-size:.82rem}.portal-stat-grid strong{display:block;font-size:2.65rem;letter-spacing:-.05em;margin:5px 0}.portal-stat-grid small{display:block;color:#89919a}.portal-section-head,.portal-card-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}.portal-section-head h2,.portal-card h2{margin:0;font-size:1.55rem}.portal-section-head a,.portal-card-head a{font-weight:800;font-size:.85rem}.portal-job-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:38px}.portal-job-card,.portal-project-card,.portal-card,.portal-job-hero{background:#fafaf7;border:1px solid var(--line);border-radius:22px}.portal-job-card{padding:22px;display:grid;gap:14px;transition:.2s}.portal-job-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(17,21,27,.08)}.portal-job-card>div:first-child,.portal-project-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.ref-chip{display:inline-flex;padding:7px 10px;border-radius:999px;background:#10151c;color:#fff;font-size:.7rem;letter-spacing:.07em;font-weight:850}.portal-job-card h3{font-size:1.35rem;margin:0}.portal-job-card p{margin:0;color:#68717b}.portal-job-card footer{background:none;padding:0;display:flex;justify-content:space-between;color:#7c8590;font-size:.77rem}.portal-job-card footer b{color:#111}.job-timeline{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin:12px 0 4px}.job-timeline div{position:relative;text-align:center}.job-timeline div:before{content:"";height:3px;background:#d9dcd8;position:absolute;left:0;right:0;top:6px}.job-timeline div.done:before,.job-timeline div.current:before{background:var(--yellow)}.job-timeline span{position:relative;z-index:1;display:block;width:14px;height:14px;border-radius:50%;background:#d9dcd8;margin:auto}.job-timeline .done span,.job-timeline .current span{background:var(--yellow);box-shadow:0 0 0 4px #fff7c8}.job-timeline small{display:none}.portal-job-hero .job-timeline small{display:block;font-size:.62rem;margin-top:8px;color:#747d87}.portal-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portal-card{padding:22px}.portal-list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid #e4e5e1}.portal-list-row>span{display:flex;align-items:center;gap:8px}.portal-list-row span:first-child{display:grid}.portal-list-row small{color:#808892}.portal-empty{color:#818991}.activity-row{display:grid;grid-template-columns:12px 1fr;gap:12px;padding:12px 0;border-top:1px solid #e5e6e2}.activity-dot{width:9px;height:9px;border-radius:50%;background:var(--cyan);margin-top:6px}.activity-row div{display:grid}.activity-row small{color:#8a929a}.portal-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.portal-project-card{padding:22px}.portal-project-card h2{font-size:1.45rem}.portal-project-card p{color:#737c85}.portal-project-card footer{display:flex;justify-content:space-between;background:none;padding:16px 0 0;border-top:1px solid #e6e7e3;color:#7c8590;font-size:.78rem}.portal-back-link{display:inline-block;margin-bottom:20px;color:#6b737c;font-weight:800}.portal-job-hero{padding:28px;display:grid;grid-template-columns:1.4fr .6fr;gap:40px;margin-bottom:16px}.portal-job-hero h2{font-size:2.3rem;margin:0}.portal-message{color:#67717b}.job-meta{display:grid;gap:10px}.job-meta span{display:grid;padding:12px 0;border-bottom:1px solid #e3e5e0}.job-meta small{color:#808993}.portal-dl{display:grid;margin:0}.portal-dl div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid #e5e6e2}.portal-dl dt{color:#78818a}.portal-dl dd{margin:0;font-weight:800}.sequence-list{display:grid}.sequence-list>div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid #e5e6e2}.sequence-list span:first-child{display:grid}.sequence-list small{color:#7f8891}.conversion-panel{margin:18px auto;max-width:1200px}.conversion-panel form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.conversion-panel label{display:grid;gap:6px;font-weight:800}.conversion-panel input{border:1px solid #d7d9d6;border-radius:13px;padding:13px;font:inherit}.admin-invoice-controls{margin-bottom:16px;background:#fafaf7;border:1px solid var(--line);border-radius:18px;padding:14px}.admin-invoice-controls form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.admin-invoice-controls label{display:grid;gap:5px;font-size:.78rem;font-weight:800}.admin-invoice-controls input,.admin-invoice-controls select{border:1px solid #d7d9d6;border-radius:11px;padding:10px;font:inherit}.invoice-document{background:#fff;border:1px solid var(--line);border-radius:24px;padding:46px;max-width:920px;margin:0 auto;box-shadow:0 16px 44px rgba(17,21,27,.06)}.invoice-document header{display:flex;justify-content:space-between;gap:30px;border-bottom:2px solid #111;padding-bottom:28px}.invoice-business{display:flex;gap:14px}.invoice-business img{width:52px;height:52px}.invoice-business>div{display:grid}.invoice-business span{color:#6f7881;font-size:.8rem}.invoice-title{text-align:right}.invoice-title p{font-size:.72rem;letter-spacing:.14em;color:#777f88;margin:0}.invoice-title h1{font-size:2.6rem;letter-spacing:-.04em;margin:4px 0 10px}.invoice-parties{display:flex;justify-content:space-between;gap:40px;padding:28px 0}.invoice-parties>div{display:grid;align-content:start}.invoice-parties>div:last-child{min-width:230px}.invoice-parties span{display:grid}.invoice-parties small{color:#7d858e}.invoice-lines th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.invoice-summary{width:min(380px,100%);margin:26px 0 26px auto;display:grid}.invoice-summary span{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid #e5e6e2}.invoice-summary .total{font-size:1.3rem;border-top:2px solid #111}.invoice-summary .outstanding{background:#fff6ca;margin-top:7px;padding:12px;border-radius:10px}.invoice-note{border-top:1px solid #e5e6e2;padding-top:20px}.invoice-document>footer{background:none;color:#737b84;padding:22px 0 0;margin-top:26px;border-top:1px solid #e5e6e2;display:flex;justify-content:space-between}.invoice-actions{max-width:920px;margin:14px auto 0;display:flex;gap:14px;align-items:center;color:#727b84;font-size:.84rem}
.status-pill.awaiting_approval{background:#fff0a3}.status-pill.awaiting_payment{background:#ffe2a9}.status-pill.queued{background:#d8e8ff}.status-pill.printing{background:#c9f2f2}.status-pill.finishing{background:#e1d6ff}.status-pill.ready,.status-pill.ready_for_collection{background:#d2f3d7}.status-pill.shipped{background:#d9e5ff}.status-pill.paid{background:#c8f0d2}.status-pill.draft{background:#e5e7e9}.status-pill.sent{background:#d8e8ff}.status-pill.part_paid{background:#fff0a3}.status-pill.overdue{background:#ffd4d4}.status-pill.void{background:#e0e0e0}.status-pill.price_confirmed{background:#d2f3d7}
@media(max-width:1120px){.desktop-nav{gap:15px;font-size:.82rem}.site-header{gap:15px;padding-inline:18px}.portal-link{padding-inline:11px}.portal-stat-grid.admin-stats{grid-template-columns:1fr 1fr}.portal-job-grid,.portal-project-grid{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.header-actions .header-cta{display:none}.header-actions .portal-link{display:none}.portal-splash{grid-template-columns:1fr}.portal-splash-art{min-height:32vh}.portal-mark{top:18%;left:8%}.portal-ref-cloud{left:auto;right:8%;bottom:16%}.portal-ref-cloud span:nth-child(2),.portal-ref-cloud span:nth-child(3){margin-left:0}.portal-login-panel{padding:70px 24px}.portal-sidebar{transform:translateX(-100%);transition:.25s}.portal-body.portal-nav-open .portal-sidebar{transform:none}.portal-main{margin-left:0}.portal-nav-toggle{display:block;border:1px solid #d6d8d4;background:white;border-radius:10px;padding:8px 10px;margin-right:auto}.portal-topbar{padding:0 18px}.portal-content{width:min(100% - 28px,1220px);padding-top:28px}.portal-job-grid,.portal-project-grid{grid-template-columns:1fr 1fr}.portal-job-hero{grid-template-columns:1fr}.invoice-document{padding:28px}.conversion-panel form{grid-template-columns:1fr}}
@media(max-width:680px){.portal-splash-art{display:none}.portal-login-panel{min-height:100vh;padding:72px 16px 30px}.portal-back{left:18px;right:auto}.portal-login-card{padding:27px;border-radius:24px}.portal-login-card h1{font-size:2.6rem}.portal-welcome,.portal-page-title{align-items:flex-start;flex-direction:column}.portal-stat-grid,.portal-stat-grid.admin-stats,.portal-job-grid,.portal-project-grid,.portal-two-col{grid-template-columns:1fr}.portal-welcome .button{width:100%}.portal-job-hero{padding:20px}.portal-job-hero .job-timeline small{display:none}.portal-list-row{align-items:flex-start}.portal-list-row>span:last-child{flex-direction:column;align-items:flex-end}.invoice-document{padding:20px;border-radius:18px}.invoice-document header,.invoice-parties{flex-direction:column}.invoice-title{text-align:left}.invoice-parties>div:last-child{min-width:0}.invoice-lines th:nth-child(2),.invoice-lines td:nth-child(2){display:none}.invoice-document>footer{flex-direction:column;gap:6px}.invoice-actions{align-items:flex-start;flex-direction:column}.admin-invoice-controls form{display:grid}.sequence-list>div{flex-direction:column}.portal-content{width:min(100% - 20px,1220px)}}
@media print{.portal-sidebar,.portal-topbar,.admin-invoice-controls,.invoice-actions,.portal-back-link{display:none!important}.portal-main{margin:0}.portal-content{width:100%;padding:0}.invoice-document{border:0;box-shadow:none;border-radius:0;max-width:none}.portal-body{background:#fff}}

.task-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.task-lane{background:#e5e6e1;border-radius:20px;padding:14px}.task-lane>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.task-lane>header span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#fff;font-size:.74rem;font-weight:900}.task-card{background:#fafaf7;border:1px solid #dfe1dc;border-radius:14px;padding:14px;display:grid;gap:8px;margin-bottom:8px}.task-card small{color:#7b848d}.task-card form{margin:0}.task-card select{width:100%;border:1px solid #d7d9d5;border-radius:9px;padding:7px;background:#fff}.task-add{display:grid;grid-template-columns:1fr 180px auto;gap:10px}.task-add input{border:1px solid #d6d8d4;border-radius:12px;padding:12px;font:inherit}.portal-project-updates{margin-top:16px}@media(max-width:850px){.task-board{grid-template-columns:1fr}.task-add{grid-template-columns:1fr}}

/* Nathan Designs material experience */
.field-label{display:block;font-weight:850;color:#14181d;margin-bottom:5px}.picker-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:14px}.picker-heading p{margin:4px 0 0;color:#6f7881;font-size:.86rem}.picker-heading a{font-size:.8rem;font-weight:800}.material-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.material-choice{appearance:none;text-align:left;border:1px solid #d9ddd8;background:#fff;border-radius:16px;padding:15px;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s;min-height:108px}.material-choice:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,20,25,.08)}.material-choice[aria-checked="true"]{border-color:#171a1e;box-shadow:0 0 0 2px #171a1e inset}.material-choice strong{display:block;font-size:1rem}.material-choice small{display:block;color:#737c85;margin-top:4px;line-height:1.35}.material-choice em{display:inline-flex;margin-top:9px;padding:5px 8px;border-radius:99px;background:#f1f1ed;color:#4f5861;font-style:normal;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.colour-picker-block{margin-top:2px}.selection-label{font-size:.77rem;font-weight:850;color:#69727a}.filament-rack,.mini-filament-rack{position:relative;display:flex;gap:13px;align-items:flex-end;min-height:176px;padding:26px 18px 25px;border-radius:18px;background:linear-gradient(180deg,#edf0ef 0 70%,#9a7557 70% 75%,#d7c1a8 75% 100%);overflow-x:auto;box-shadow:inset 0 1px 0 #fff}.filament-rack:before,.mini-filament-rack:before{content:"";position:absolute;left:0;right:0;top:14px;height:8px;background:#a27d5d;box-shadow:0 4px 10px #0002}.filament-spool{--filament:#111;position:relative;flex:0 0 92px;height:110px;border:0;background:transparent;cursor:pointer;padding:0;transition:transform .2s;perspective:500px}.filament-spool:hover,.filament-spool:focus-visible{transform:translateY(-8px) rotate(-2deg)}.filament-spool[aria-checked="true"]{transform:translateY(-8px);filter:drop-shadow(0 8px 9px #0003)}.spool-body{position:absolute;width:82px;height:82px;left:5px;top:5px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#171a1e 0 11%,#d7dad8 12% 18%,var(--filament) 19% 47%,#15191d 48% 58%,#30363c 59% 67%,#111419 68%);box-shadow:inset 10px 0 15px #fff2,inset -12px 0 16px #0005,0 8px 16px #0002;transform:rotateY(-9deg)}.spool-body:before,.spool-body:after{content:"";position:absolute;width:11px;height:25px;border-radius:5px;background:#c9cdcb;top:28px}.spool-body:before{left:7px}.spool-body:after{right:7px}.spool-label{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:.72rem;font-weight:850;color:#20252a;line-height:1.15}.spool-label small{display:block;font-size:.62rem;color:#707880;margin-top:2px}.filament-spool[aria-checked="true"] .spool-label:after{content:" ✓"}.material-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.material-guide-card{background:#fff;border:1px solid #e0e2de;border-radius:22px;padding:24px;transition:.22s;position:relative;overflow:hidden}.material-guide-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(12,17,23,.08)}.material-guide-card:before{content:"";position:absolute;width:95px;height:95px;border-radius:50%;right:-25px;top:-28px;background:var(--accent,#ffd31f);opacity:.18}.material-guide-card .material-personality{display:inline-flex;padding:6px 9px;border-radius:99px;background:#f0f1ed;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.material-guide-card h2{font-size:1.75rem;margin:12px 0 4px}.material-guide-card>p{color:#6c757e;min-height:60px}.material-meter{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:9px;margin-top:8px}.material-meter span{font-size:.7rem;font-weight:800;color:#68717a}.meter-dots{display:flex;gap:4px}.meter-dots i{display:block;width:16px;height:6px;border-radius:99px;background:#e1e3df}.meter-dots i.on{background:#20252a}.material-best{margin-top:16px;border-top:1px solid #eceeea;padding-top:13px}.material-best small{display:block;color:#858d94;text-transform:uppercase;letter-spacing:.07em;font-weight:850}.material-best strong{font-size:.86rem}.material-cheat-sheet{display:grid;grid-template-columns:1fr 1fr;gap:10px}.material-cheat-sheet div{display:flex;justify-content:space-between;gap:14px;padding:15px 17px;border-radius:14px;background:#ffffff0b;border:1px solid #ffffff16}.material-cheat-sheet strong{color:#fff}.material-cheat-sheet span{color:#ffd31f;font-weight:850}.admin-material-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.admin-material-list{display:grid;gap:10px}.admin-material-row{border:1px solid #e1e3df;border-radius:16px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-material-row .span-2{grid-column:1/-1}.admin-material-row label,.admin-colour-toolbar label{display:grid;gap:5px;font-size:.75rem;font-weight:850}.admin-material-row input,.admin-material-row select,.admin-material-row textarea,.admin-colour-toolbar select{border:1px solid #d9dcd7;border-radius:10px;padding:10px;font:inherit;background:#fff}.admin-material-row .row-head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.admin-material-row .row-head strong{font-size:1.1rem}.admin-material-row .delete-material{border:0;background:transparent;color:#8a4242;cursor:pointer}.admin-colour-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:14px}.mini-filament-rack{min-height:310px;flex-wrap:wrap;align-content:flex-start;background:linear-gradient(180deg,#edf0ef 0 88%,#9a7557 88% 91%,#d7c1a8 91% 100%)}.mini-filament-rack .filament-spool{flex-basis:82px}.admin-colour-edit{display:grid;gap:6px;width:100%;padding:10px;border-radius:12px;background:#fff;border:1px solid #e0e2de}.admin-colour-edit input[type=text]{width:100%;border:1px solid #ddd;border-radius:8px;padding:7px}.admin-colour-edit input[type=color]{width:100%;height:30px;border:0;background:transparent}.admin-save-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}.admin-save-bar p{margin:3px 0 0;color:#7a838b;font-size:.8rem}.dark-button{border-color:#d7dad5;color:#252a30}.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:1200;max-width:720px;margin:auto;background:#11161d;color:#fff;border:1px solid #ffffff18;border-radius:18px;padding:16px 18px;box-shadow:0 24px 70px #0005;display:flex;align-items:center;justify-content:space-between;gap:18px}.cookie-banner p{margin:0;font-size:.82rem;color:#ccd2d8}.cookie-banner a{color:#ffd31f}.cookie-actions{display:flex;gap:8px;flex:0 0 auto}.cookie-actions button{border:1px solid #ffffff25;background:#ffffff0b;color:#fff;border-radius:10px;padding:9px 11px;font-weight:800;cursor:pointer}.cookie-actions .accept{background:#ffd31f;color:#111;border-color:#ffd31f}
@media(max-width:900px){.material-choice-grid,.material-guide-grid{grid-template-columns:1fr 1fr}.admin-material-layout{grid-template-columns:1fr}.picker-heading{align-items:flex-start;flex-direction:column}.cookie-banner{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.material-choice-grid,.material-guide-grid{grid-template-columns:1fr}.filament-rack{margin-inline:-4px;padding-inline:12px}.filament-spool{flex-basis:82px}.admin-material-row{grid-template-columns:1fr}.admin-material-row .span-2{grid-column:auto}.material-cheat-sheet{grid-template-columns:1fr}.cookie-banner{left:10px;right:10px;bottom:10px}.cookie-actions{width:100%}.cookie-actions button{flex:1}}

/* Quote workspace and front-facing filament rack */
.quote-page{background:#f3f5f4}.quote-main{padding:132px 0 100px;background:radial-gradient(circle at 8% 5%,rgba(104,224,223,.1),transparent 24%),linear-gradient(#f8faf9,#eef1ef)}
.quote-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,470px);gap:70px;align-items:end;margin-bottom:30px}.quote-heading h1{font-size:clamp(3rem,6vw,5.7rem);line-height:.94;letter-spacing:-.055em;margin:0}.quote-heading>p{color:#68727b;font-size:1rem;margin:0 0 7px;max-width:450px}.quote-heading .eyebrow{margin-bottom:12px}
.quote-stepper-wrap{margin-bottom:22px}.quote-stepper{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid #dfe4e1;border-radius:20px;box-shadow:0 14px 38px rgba(17,25,30,.06);overflow:hidden}.quote-stepper li{position:relative;display:flex;align-items:center;gap:12px;min-height:78px;padding:14px 24px;color:#889098}.quote-stepper li+li{border-left:1px solid #e4e7e5}.quote-stepper li+li:before{content:"";position:absolute;left:-1px;top:50%;width:22px;height:22px;background:#fff;border-top:1px solid #e4e7e5;border-right:1px solid #e4e7e5;transform:translate(-50%,-50%) rotate(45deg)}.quote-stepper li>span{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 35px;height:35px;border:1px solid #d9ddda;border-radius:50%;font-size:.82rem;font-weight:900;background:#f7f8f7;color:#727b83}.quote-stepper li>div{position:relative;z-index:1;display:grid;min-width:0}.quote-stepper strong{font-size:.88rem;color:#555e67}.quote-stepper small{font-size:.75rem;line-height:1.35}.quote-stepper li[data-state="current"]{background:#fcfffe}.quote-stepper li[data-state="current"]>span{background:#11161c;color:#fff;border-color:#11161c;box-shadow:0 0 0 5px rgba(104,224,223,.24)}.quote-stepper li[data-state="current"] strong{color:#11161c}.quote-stepper li[data-state="complete"]>span{background:var(--cyan);border-color:var(--cyan);color:#10161b}.quote-stepper li[data-state="complete"]>span{font-size:0}.quote-stepper li[data-state="complete"]>span:after{content:"✓";font-size:.85rem}
.quote-workspace{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:24px;align-items:start}.quote-form{min-width:0;gap:18px}.quote-card{background:#fff;border:1px solid #dee3e0;border-radius:24px;padding:30px;box-shadow:0 18px 50px rgba(15,25,30,.055)}.quote-card-heading{display:grid;grid-template-columns:44px minmax(0,1fr);gap:15px;align-items:start;margin-bottom:22px}.quote-card-heading.with-action{grid-template-columns:44px minmax(0,1fr) auto}.quote-card-heading h2{font-size:clamp(1.65rem,3vw,2.15rem);line-height:1.05;letter-spacing:-.035em;margin:1px 0 0}.quote-card-heading p{margin:7px 0 0;color:#747d84;font-size:.9rem}.quote-card-heading>a{align-self:start;display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #dce0dd;border-radius:11px;font-size:.78rem;font-weight:850;white-space:nowrap}.quote-card-heading>a:hover{border-color:#99acab;background:#f5fbfa}.step-number{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#11161c;color:#fff;font-size:.72rem;letter-spacing:.08em;font-weight:900}.section-kicker{margin:0!important;font-size:.7rem!important;line-height:1.2;text-transform:uppercase;letter-spacing:.13em;color:#7c6900!important;font-weight:900}
.quote-page .file-drop{display:grid;grid-template-columns:52px minmax(0,1fr);place-items:initial;align-items:center;gap:16px;min-height:106px;padding:21px 23px;text-align:left;border:1.5px dashed #b8c0bc;border-radius:18px;background:#f9fbfa;transition:border-color .2s,background .2s,box-shadow .2s}.quote-page .file-drop:hover,.quote-page .file-drop:focus-within{border-color:#4abfbe;background:#f5ffff;box-shadow:0 0 0 4px rgba(104,224,223,.16)}.file-drop-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#11161c;color:var(--yellow)!important;font-size:1.6rem!important;font-weight:500}.file-drop-copy{display:grid;gap:4px;min-width:0}.file-drop-copy strong{font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.quote-page .file-drop-copy small{font-size:.78rem;color:#7c858c}.upload-card>.help{margin-bottom:0}
.material-choice-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.material-choice{position:relative;display:grid;align-content:start;gap:10px;min-width:0;min-height:132px;padding:16px;border-radius:17px;border:1px solid #dfe3e0;background:#fbfcfb;overflow:hidden}.material-choice:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--material-accent,var(--yellow));opacity:.9}.material-card-top{display:grid;gap:6px}.material-choice strong{font-size:1.13rem;line-height:1}.material-choice em{width:max-content;max-width:100%;margin:0;padding:5px 7px;white-space:normal;line-height:1.15}.material-choice small{font-size:.78rem;line-height:1.38;margin:0;color:#6f7880}.material-card-check{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--cyan);color:#10151b;font-size:.7rem;font-weight:950;opacity:0;transform:scale(.7);transition:.18s}.material-choice:hover{transform:translateY(-3px);border-color:#b8c3be}.material-choice:focus-visible{outline:3px solid rgba(40,172,171,.42);outline-offset:2px}.material-choice[aria-checked="true"]{border-color:#2ca8a7;box-shadow:0 0 0 2px rgba(104,224,223,.36),0 12px 28px rgba(28,80,80,.1)}.material-choice[aria-checked="true"] .material-card-check{opacity:1;transform:scale(1)}
.colour-section{margin-top:31px;padding-top:27px;border-top:1px solid #e6e9e7}.picker-heading{align-items:flex-end;margin-bottom:15px}.picker-heading p{font-size:.85rem}.selection-label{display:inline-flex;align-items:center;min-height:31px;padding:6px 10px;border-radius:999px;background:#edf7f6;color:#2a6968;font-size:.75rem;white-space:nowrap}.rack-shell{position:relative;border:1px solid #dfe5e2;border-radius:19px;background:linear-gradient(180deg,#f7f9f8,#e8edeb);box-shadow:inset 0 1px 0 #fff,0 14px 30px rgba(26,35,40,.05);overflow:hidden}.rack-label{position:absolute;z-index:3;left:20px;top:15px;display:flex;align-items:center;gap:8px;color:#7a8388;font-size:.62rem;letter-spacing:.13em;font-weight:900}.rack-label span{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#171c22;color:var(--yellow);letter-spacing:-.03em}.filament-rack{position:relative;display:flex;align-items:flex-end;gap:7px;min-height:262px;padding:63px 24px 27px;border-radius:0;background:transparent;box-shadow:none;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#acb4b1 transparent}.filament-rack:before{content:"";position:absolute;z-index:0;left:14px;right:14px;top:auto;bottom:62px;height:13px;border-radius:4px;background:linear-gradient(#555f64,#22292e 44%,#0e1317 45% 70%,#31393e 71%);box-shadow:0 8px 14px rgba(10,15,18,.23)}.filament-rack:after{content:"";position:absolute;z-index:0;left:21px;right:21px;bottom:49px;height:5px;border-radius:99px;background:#151a1f;box-shadow:0 2px 5px rgba(0,0,0,.25)}.filament-spool{--filament:#222;position:relative;z-index:1;display:block;flex:0 0 101px;width:101px;height:178px;padding:0;border:0;background:transparent;color:#151a1f;cursor:pointer;perspective:600px;scroll-snap-align:start;transition:transform .24s cubic-bezier(.2,.8,.2,1),filter .24s}.spool-reel{position:absolute;left:15px;top:14px;width:70px;height:126px;transform-style:preserve-3d;transition:transform .24s cubic-bezier(.2,.8,.2,1),filter .24s}.filament-core{position:absolute;z-index:2;left:10px;top:7px;width:50px;height:112px;border-radius:17px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.2) 0 1px,rgba(255,255,255,.2) 1px 2px,transparent 2px 4px),linear-gradient(90deg,rgba(0,0,0,.25),transparent 22%,rgba(255,255,255,.26) 49%,transparent 72%,rgba(0,0,0,.32)),var(--filament);box-shadow:inset 0 8px 12px rgba(255,255,255,.16),inset 0 -9px 14px rgba(0,0,0,.2),0 7px 11px rgba(14,20,23,.22)}.filament-core:after{content:"";position:absolute;inset:8px 3px;border-radius:13px;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.11) 3px 4px);mix-blend-mode:multiply;opacity:.62}.spool-flange{position:absolute;z-index:3;top:0;width:13px;height:126px;border-radius:7px;background:linear-gradient(90deg,#697177,#d9ddda 42%,#82898e 72%,#50575c);border:1px solid rgba(38,45,49,.55);box-shadow:inset 1px 0 2px rgba(255,255,255,.7),0 6px 9px rgba(17,23,27,.2)}.spool-flange:after{content:"";position:absolute;inset:7px 3px;border-radius:5px;border:1px solid rgba(255,255,255,.35)}.spool-flange-back{left:0;transform:translateZ(-2px)}.spool-flange-front{right:0;transform:translateZ(3px)}.spool-hub{position:absolute;z-index:4;left:29px;top:49px;width:13px;height:29px;border-radius:5px;background:linear-gradient(90deg,#1a2024,#747b7f 46%,#252b2f);border:1px solid #151a1d;box-shadow:0 0 0 3px rgba(225,229,226,.7)}.spool-check{position:absolute;z-index:6;right:-4px;top:-5px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--cyan);color:#11171b;border:2px solid #fff;box-shadow:0 3px 10px rgba(32,134,133,.45);font-size:.69rem;font-weight:950;opacity:0;transform:scale(.65);transition:.18s}.spool-label{position:absolute;left:0;right:0;bottom:0;display:grid;gap:4px;text-align:center;line-height:1.22;color:#20262a}.spool-label strong{font-size:.78rem;overflow-wrap:anywhere}.spool-label small{display:flex;align-items:center;justify-content:center;gap:5px;margin:0;font-size:.65rem;color:#657078}.stock-dot{width:6px;height:6px;border-radius:50%;background:#44a861;box-shadow:0 0 0 3px rgba(68,168,97,.12)}.spool-tooltip{position:absolute;z-index:8;left:50%;top:-44px;width:max-content;max-width:190px;display:grid;gap:2px;padding:8px 10px;border-radius:10px;background:#11161c;color:#fff;text-align:left;box-shadow:0 10px 25px rgba(8,13,17,.24);pointer-events:none;opacity:0;transform:translate(-50%,6px);transition:.17s}.spool-tooltip:after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;background:#11161c;transform:translateX(-50%) rotate(45deg)}.spool-tooltip strong{font-size:.68rem;line-height:1.25}.spool-tooltip span{font-size:.63rem;color:#aeb7bc}.filament-spool:hover,.filament-spool:focus-visible{transform:translateY(-9px) rotate(-1.5deg)}.filament-spool:hover .spool-reel,.filament-spool:focus-visible .spool-reel{transform:rotateY(-8deg) rotateZ(-1.5deg);filter:drop-shadow(0 10px 10px rgba(18,26,30,.22))}.filament-spool:hover .spool-tooltip,.filament-spool:focus-visible .spool-tooltip{opacity:1;transform:translate(-50%,0)}.filament-spool:focus-visible{outline:3px solid rgba(39,174,173,.48);outline-offset:4px;border-radius:12px}.filament-spool[aria-checked="true"]{transform:translateY(-8px);filter:drop-shadow(0 0 8px rgba(104,224,223,.84)) drop-shadow(0 9px 8px rgba(17,26,30,.23))}.filament-spool[aria-checked="true"] .spool-check{opacity:1;transform:scale(1)}.filament-spool[aria-checked="true"] .spool-reel{filter:drop-shadow(0 0 5px rgba(104,224,223,.92))}.filament-spool.is-unavailable{opacity:.46;cursor:not-allowed;filter:grayscale(.35)}.filament-spool.is-unavailable .stock-dot{background:#d15858;box-shadow:0 0 0 3px rgba(209,88,88,.12)}.filament-spool.is-unavailable:hover{transform:none}.rack-empty{align-self:center;margin:auto;color:#747d84;font-size:.85rem}.rack-help{display:flex;gap:7px;align-items:center;margin:9px 3px 0}
.print-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;padding-top:26px;border-top:1px solid #e6e9e7}.print-options label{display:grid;align-content:start;gap:7px;min-width:0;font-size:.82rem;font-weight:800}.print-options input,.print-options select{width:100%;min-width:0;border:1px solid #d7dcd9;border-radius:12px;background:#fbfcfb;padding:12px;font:inherit;color:#151a1f}.print-options input:focus,.print-options select:focus,.contact-fields input:focus,.contact-fields textarea:focus{outline:3px solid rgba(104,224,223,.28);border-color:#3aafae}.contact-fields label{font-size:.84rem}.mobile-submit{display:none}
.print-summary{position:sticky;top:96px;padding:25px;border-radius:25px;background:radial-gradient(circle at 86% 5%,rgba(104,224,223,.11),transparent 26%),#0d1218;color:#fff;border:1px solid rgba(255,255,255,.08);box-shadow:0 28px 70px rgba(9,15,19,.22)}.summary-topline{display:flex;justify-content:space-between;align-items:center;gap:12px}.summary-topline .eyebrow{margin:0}.summary-ready{display:flex;align-items:center;gap:6px;color:#9da8af;font-size:.68rem;font-weight:800}.summary-ready i{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(104,224,223,.1)}.summary-file-preview{display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;align-items:center;margin-top:21px;padding:13px;border-radius:17px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.model-preview{height:76px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#202a33,#10161c);border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 0 26px rgba(104,224,223,.05)}.model-preview span{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(104,224,223,.45);transform:rotate(30deg) skew(-8deg);color:var(--cyan);font-size:.7rem;font-weight:900}.model-preview.has-file{background:radial-gradient(circle,rgba(104,224,223,.18),#10161c 70%)}.summary-file-copy{display:grid;gap:2px;min-width:0}.summary-file-copy small{color:#7f8b94;font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.summary-file-copy strong{font-size:.82rem;line-height:1.35;overflow-wrap:anywhere}.summary-file-copy span{font-size:.67rem;color:#89949d;line-height:1.35}.summary-upload-action{display:flex;justify-content:space-between;align-items:center;padding:10px 3px;color:#c5cdd3;font-size:.72rem;font-weight:800;cursor:pointer}.summary-upload-action:hover{color:var(--yellow)}.summary-specs{display:grid;margin:12px 0 0}.summary-specs>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:11px 1px;border-top:1px solid rgba(255,255,255,.09)}.summary-specs dt{font-size:.74rem;color:#8e99a1}.summary-specs dd{margin:0;display:flex;align-items:center;gap:7px;text-align:right;font-size:.76rem;font-weight:850}.summary-specs dd i{display:block;width:13px;height:13px;border-radius:50%;background:var(--swatch);border:1px solid rgba(255,255,255,.35);box-shadow:0 0 0 3px rgba(255,255,255,.06)}.quality-summary-card{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;margin:13px 0 20px;padding:13px;border-radius:15px;background:rgba(104,224,223,.07);border:1px solid rgba(104,224,223,.14)}.quality-summary-card>div:last-child{display:grid}.quality-summary-card small{font-size:.64rem;color:#7f9f9f;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.quality-summary-card strong{font-size:.76rem;line-height:1.4}.quality-summary-card span{font-size:.66rem;color:#839096}.quality-lines{display:grid;gap:4px}.quality-lines i{display:block;height:3px;border-radius:9px;background:var(--cyan)}.quality-lines i:nth-child(2){width:82%}.quality-lines i:nth-child(3){width:93%}.quality-lines i:nth-child(4){width:68%}.summary-price{display:grid;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}.summary-price>span{font-size:.72rem;color:#8e99a1}.summary-price strong{font-size:2.75rem;line-height:1;letter-spacing:-.055em;color:var(--yellow);margin:4px 0 7px}.summary-price small{color:#7e8992;font-size:.66rem}.summary-submit{width:100%;margin-top:18px}.summary-note{text-align:center;color:#77838c;font-size:.65rem;line-height:1.45;margin:11px 10px 0}.summary-complete{display:grid;text-align:center;place-items:center;padding:30px 4px}.summary-complete>span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--cyan);color:#10161b;font-size:1.4rem;font-weight:950;margin-bottom:22px}.summary-complete h2{margin:3px 0 6px}.summary-complete p:not(.eyebrow){color:#9aa5ad;font-size:.82rem}.summary-complete .button{width:100%;margin-top:16px}.quote-success{min-height:460px;display:grid;place-items:start;align-content:center}.quote-success>strong{font-size:4rem;color:#167c7b;letter-spacing:-.05em}
/* Material stock editing uses the same spool component as the customer rack. */
.mini-filament-rack{min-height:0;display:grid;gap:12px;padding:0;background:transparent;box-shadow:none;overflow:visible}.mini-filament-rack:before{display:none}.admin-colour-edit{display:grid;grid-template-columns:106px minmax(0,1fr);gap:12px;width:100%;padding:14px}.admin-spool-preview{display:grid;place-items:center;min-height:182px;border-radius:13px;background:#edf1ef}.admin-spool-preview .filament-spool{pointer-events:none}.admin-colour-fields{display:grid;grid-template-columns:1fr 92px;gap:9px;align-content:start}.admin-colour-fields label{display:grid;gap:5px;font-size:.72rem;font-weight:850}.admin-colour-fields label:nth-child(3),.admin-colour-fields label:nth-child(4){grid-column:1/-1}.admin-colour-fields input{width:100%;min-width:0;border:1px solid #d9dcd7;border-radius:9px;padding:8px;font:inherit;background:#fff}.admin-colour-fields input[type="color"]{height:38px;padding:3px}.admin-colour-fields .check{display:flex;align-items:center}.admin-colour-fields .check input{width:auto}.admin-colour-edit .delete-colour{grid-column:1/-1;justify-self:end;border:0;background:transparent;color:#8a4242;font-size:.72rem;font-weight:800;cursor:pointer}
@media(max-width:1120px){.quote-workspace{grid-template-columns:minmax(0,1fr) 325px}.material-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-card{padding:26px}.filament-rack{padding-inline:18px}}
@media(max-width:980px){.quote-main{padding-top:114px}.quote-heading{grid-template-columns:1fr;gap:18px}.quote-workspace{grid-template-columns:1fr}.print-summary{position:relative;top:auto}.summary-submit{display:none}.mobile-submit{display:inline-flex}.material-choice-grid{grid-template-columns:repeat(5,minmax(130px,1fr));overflow-x:auto;padding:3px 3px 10px;scroll-snap-type:x proximity}.material-choice{scroll-snap-align:start}.quote-stepper li{padding-inline:18px}}
@media(max-width:720px){.quote-main{padding:101px 0 72px}.quote-heading{margin-bottom:22px}.quote-heading h1{font-size:clamp(2.8rem,13vw,4.2rem)}.quote-heading>p{font-size:.95rem}.quote-stepper{overflow-x:auto;grid-template-columns:repeat(3,minmax(190px,1fr));scroll-snap-type:x mandatory}.quote-stepper li{scroll-snap-align:start}.quote-card{padding:22px;border-radius:20px}.quote-card-heading.with-action{grid-template-columns:42px minmax(0,1fr)}.quote-card-heading.with-action>a{grid-column:2;margin-top:-6px;justify-self:start}.print-options{grid-template-columns:1fr 1fr}.print-options .span-2{grid-column:1/-1}.contact-fields{grid-template-columns:1fr}.contact-fields .span-2{grid-column:auto}.filament-rack{min-height:256px;padding-inline:16px}.print-summary{padding:22px}.footer-bottom{gap:12px}.admin-colour-edit{grid-template-columns:1fr}.admin-spool-preview{min-height:190px}.admin-colour-fields{grid-template-columns:1fr 90px}}
@media(max-width:480px){.quote-page .wrap{width:min(100% - 24px,1180px)}.quote-stepper-wrap{width:100%;padding-left:12px}.quote-stepper{border-radius:16px 0 0 16px}.quote-card{padding:18px}.quote-card-heading{grid-template-columns:38px minmax(0,1fr);gap:11px}.step-number{width:38px;height:38px}.quote-page .file-drop{grid-template-columns:1fr;text-align:center;justify-items:center}.file-drop-copy{justify-items:center}.material-choice-grid{grid-template-columns:repeat(5,142px)}.picker-heading{align-items:flex-start}.selection-label{white-space:normal}.filament-spool{flex-basis:94px;width:94px}.print-options{grid-template-columns:1fr}.print-options .span-2{grid-column:auto}.summary-file-preview{grid-template-columns:68px minmax(0,1fr)}.model-preview{height:68px}.footer-bottom{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.material-choice,.material-card-check,.filament-spool,.spool-reel,.spool-check,.spool-tooltip{transition:none!important}.filament-spool:hover,.filament-spool:focus-visible,.filament-spool[aria-checked="true"],.material-choice:hover{transform:none}}

/* Keep reel captions below the shelf instead of across the rack rails. */
.quote-form{grid-template-columns:minmax(0,1fr)}.quote-card{min-width:0;max-width:100%}.filament-rack{min-height:292px;padding-bottom:20px}.filament-rack:before{bottom:91px}.filament-rack:after{bottom:80px}.filament-spool{height:210px}.spool-reel{top:4px}.filament-spool[aria-checked="true"] .spool-label:after{content:none}
@media(max-width:720px){.filament-rack{min-height:286px}}

/* Unified header tone + uploaded model inspection */
.site-header{background:rgba(8,11,15,.97)}
.model-inspection{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:0;margin-top:18px;overflow:hidden;border:1px solid #dfe5e3;border-radius:19px;background:#f7f9f8;box-shadow:0 12px 34px rgba(15,25,30,.06)}
.model-viewport{position:relative;min-height:292px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(104,224,223,.13),transparent 37%),linear-gradient(145deg,#111820,#080d12);touch-action:none}
.model-viewport:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:27px 27px;mask-image:linear-gradient(to bottom,#000,transparent 94%);pointer-events:none}
.model-viewport canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;cursor:grab}.model-viewport canvas:active{cursor:grabbing}.model-viewport canvas:focus-visible{outline:0;box-shadow:inset 0 0 0 3px rgba(104,224,223,.72)}
.model-empty{position:absolute;z-index:1;inset:0;display:grid;place-content:center;gap:6px;padding:28px;text-align:center;color:#fff}.model-empty strong{font-size:1rem}.model-empty span{max-width:270px;color:#82909b;font-size:.77rem;line-height:1.5}.model-empty[hidden]{display:none}
.model-format,.model-drag-hint{position:absolute;z-index:3;bottom:13px;padding:6px 9px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(6,10,14,.68);backdrop-filter:blur(8px);color:#aab5be;font-size:.61rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase;pointer-events:none}.model-format{left:13px;color:var(--cyan)}.model-drag-hint{right:13px;opacity:0;transition:.18s}.model-viewport.has-model:hover .model-drag-hint{opacity:1}
.model-controls{position:absolute;z-index:4;top:13px;right:13px;display:flex;gap:4px;padding:4px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:rgba(6,10,14,.72);box-shadow:0 8px 24px rgba(0,0,0,.2);backdrop-filter:blur(10px)}.model-controls button{min-width:34px;height:32px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:#eefaff;font:800 .875rem/1 inherit;cursor:pointer}.model-controls button:nth-child(2){min-width:42px;color:var(--cyan);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.model-controls button:hover:not(:disabled),.model-controls button:focus-visible{outline:0;background:rgba(104,224,223,.14);color:#fff}.model-controls button:disabled{opacity:.32;cursor:not-allowed}
.model-metrics{display:grid;align-content:start;gap:16px;padding:21px;background:#fbfcfb}.analysis-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:15px;border-bottom:1px solid #e4e8e6}.analysis-heading>div{display:grid;gap:2px}.analysis-heading small{color:#86918d;font-size:.6rem;font-weight:900;letter-spacing:.12em}.analysis-heading strong{font-size:.88rem}.analysis-heading i{width:9px;height:9px;border-radius:50%;background:#afb7b4;box-shadow:0 0 0 5px rgba(120,130,126,.09)}.model-inspection[data-state="loading"] .analysis-heading i{background:var(--yellow);animation:analysisPulse 1s infinite}.model-inspection[data-state="ready"] .analysis-heading i{background:#3db569;box-shadow:0 0 0 5px rgba(61,181,105,.1)}.model-inspection[data-state="error"] .analysis-heading i{background:#d85a5a;box-shadow:0 0 0 5px rgba(216,90,90,.1)}
.model-metrics dl{display:grid;gap:0;margin:0}.model-metrics dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:10px 0;border-bottom:1px solid #e9ecea}.model-metrics dt{color:#727d79;font-size:.7rem}.model-metrics dd{margin:0;text-align:right;color:#171e22;font-size:.74rem;font-weight:900}.model-metrics>p{margin:0;color:#73807b;font-size:.66rem;line-height:1.55}
.model-preview{position:relative;overflow:hidden}.model-preview canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .18s}.model-preview.has-model canvas{opacity:1}.model-preview.has-model span{display:none}
@keyframes analysisPulse{50%{opacity:.35;transform:scale(.75)}}
@media(max-width:720px){.model-inspection{grid-template-columns:1fr}.model-viewport{min-height:260px}.model-metrics{padding:18px}.model-drag-hint{display:none}}
@media(max-width:480px){.model-viewport{min-height:226px}.model-metrics dl>div{gap:10px}.model-metrics dd{font-size:.69rem}}
@media(prefers-reduced-motion:reduce){.model-inspection[data-state="loading"] .analysis-heading i{animation:none}.model-preview canvas,.model-drag-hint{transition:none}}

/* v6 operations calculator */
.side-label{display:block;margin:0 12px 6px;color:#76818a;font-size:.58rem;font-weight:900;letter-spacing:.12em}.portal-side-bottom .studio-launch{border:1px solid rgba(207,168,255,.28);background:rgba(207,168,255,.08);color:#eadcff}.portal-side-bottom .studio-launch i{color:#cfa8ff;font-style:normal}.calculator-page{max-width:1480px}.calculator-title{align-items:flex-end}.config-chip{display:inline-flex;padding:8px 11px;border-radius:99px;background:#e8f7f5;color:#246d6a;font-size:.68rem;font-weight:900;letter-spacing:.06em}.calculator-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:18px;align-items:start}.calculator-inputs{display:grid;gap:16px}.calculator-inputs>.portal-card{margin:0}.calculator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.calculator-grid label{display:grid;gap:7px;color:#374048;font-size:.76rem;font-weight:850}.calculator-grid input,.calculator-grid select,.calculator-grid textarea{width:100%;min-width:0;border:1px solid #d9dedb;border-radius:11px;background:#fff;padding:11px 12px;color:#171c20;font:inherit}.calculator-grid input:focus,.calculator-grid select:focus,.calculator-grid textarea:focus{outline:3px solid rgba(94,231,231,.25);border-color:#57bdbc}.calculator-grid .span-2{grid-column:1/-1}.calculator-grid label>small{color:#7c858c;font-size:.65rem;font-weight:600}.calculator-check{display:flex!important;align-items:center;align-self:end;min-height:44px;padding:10px 12px;border:1px solid #e0e3e0;border-radius:11px}.calculator-check input{width:auto}.portal-card-head>div{display:flex;align-items:center;gap:10px}.calc-step{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#11171c;color:#ffd31f;font-size:.64rem;font-weight:900}.advanced-costing{padding:0!important;overflow:hidden}.advanced-costing>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;cursor:pointer;list-style:none}.advanced-costing>summary::-webkit-details-marker{display:none}.advanced-costing>summary span{display:flex;align-items:center;gap:11px}.advanced-costing>summary small{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#11171c;color:#cfa8ff;font-weight:900}.advanced-costing>summary em{color:#7c858d;font-size:.74rem;font-style:normal}.advanced-costing[open]>summary{border-bottom:1px solid #e7e9e7}.advanced-grid{padding:20px 22px}.calculator-summary{position:sticky;top:18px;margin:0!important;background:#10161c!important;color:#fff!important;border-color:#222c35!important}.summary-status{display:flex;align-items:center;justify-content:space-between;color:#8c9aa5;font-size:.6rem;font-weight:900;letter-spacing:.12em}.summary-status i{width:8px;height:8px;border-radius:50%;background:#5ee7e7;box-shadow:0 0 0 5px rgba(94,231,231,.1)}.calculator-price{display:grid;gap:4px;padding:22px 0 18px;border-bottom:1px solid rgba(255,255,255,.1)}.calculator-price small{color:#9da9b2}.calculator-price strong{font-size:3.6rem;line-height:1;letter-spacing:-.055em;color:#fff}.calculator-price span{color:#788691;font-size:.68rem}.calculator-summary dl{display:grid;margin:18px 0}.calculator-summary dl div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}.calculator-summary dt{color:#8f9ba4;font-size:.72rem}.calculator-summary dd{margin:0;color:#e7eef2;font-size:.75rem;font-weight:850}.calculator-summary dd.negative{color:#7fe0aa}.margin-note{display:grid;gap:4px;padding:12px;border-radius:11px;background:rgba(255,255,255,.05);margin-bottom:14px}.margin-note span{color:#76848e;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em}.margin-note strong{font-size:.76rem;line-height:1.45}.calculator-summary .button{width:100%;justify-content:center;margin-top:8px}.calculator-disclaimer{color:#7f8c95;font-size:.65rem;line-height:1.55}.calculator-result{display:grid;gap:3px;margin-top:13px;padding:12px;border-radius:11px;background:rgba(94,231,231,.12);border:1px solid rgba(94,231,231,.2)}.calculator-result strong{color:#8dfffa}.calculator-result span{color:#cbd6dc;font-size:.72rem}.draft-preview-banner{position:fixed;z-index:2000;left:50%;top:10px;display:flex;gap:12px;align-items:center;transform:translateX(-50%);padding:9px 14px;border-radius:99px;background:#cfa8ff;color:#17111e;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:.72rem}.draft-preview-banner span{opacity:.72}

/* Site Studio is intentionally visually separate from the operations portal. */
.studio-body{--studio-ink:#11171d;--studio-panel:#f6f7f4;--studio-line:#dde2de;background:#e8ebe8;color:#161b20;overflow-x:hidden}.studio-sidebar{position:fixed;z-index:60;inset:0 auto 0 0;width:246px;display:flex;flex-direction:column;padding:20px 15px;background:#0b1016;color:#fff;border-right:1px solid rgba(255,255,255,.07)}.studio-brand{display:flex;align-items:center;gap:11px;padding:4px 8px 19px;color:#fff}.studio-brand img{width:40px;height:40px;object-fit:contain}.studio-brand span{display:grid}.studio-brand strong{font-size:.92rem}.studio-brand small{color:#7f8b96;font-size:.67rem}.studio-separation{margin:0 4px 18px;padding:12px;border-radius:12px;background:linear-gradient(135deg,rgba(207,168,255,.13),rgba(94,231,231,.06));border:1px solid rgba(207,168,255,.14)}.studio-separation span{color:#d6b9ff;font-size:.56rem;font-weight:900;letter-spacing:.13em}.studio-separation p{margin:6px 0 0;color:#8d99a3;font-size:.65rem;line-height:1.45}.studio-sidebar nav{display:grid;gap:3px;overflow-y:auto}.studio-sidebar nav button{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 11px;border:0;border-radius:9px;background:transparent;color:#9da8b1;text-align:left;cursor:pointer}.studio-sidebar nav button span{font-size:.76rem;font-weight:800}.studio-sidebar nav button small{font-size:.55rem;color:#5f6b76}.studio-sidebar nav button:hover,.studio-sidebar nav button.active{background:#182029;color:#fff}.studio-sidebar nav button.active:before{content:"";width:3px;height:20px;border-radius:99px;background:#cfa8ff;margin-left:-11px}.studio-sidebar nav button.active span{margin-left:-7px}.studio-side-actions{display:grid;gap:7px;margin-top:auto;padding:15px 7px 0;border-top:1px solid rgba(255,255,255,.08)}.studio-side-actions a{color:#98a4ad;font-size:.7rem;font-weight:750}.studio-side-actions a:hover{color:#fff}.studio-main{margin-left:246px;min-height:100vh}.studio-topbar{position:sticky;z-index:40;top:0;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:70px;padding:11px 22px;background:rgba(248,249,246,.91);border-bottom:1px solid #dce0dc;backdrop-filter:blur(16px)}.studio-topbar>div:first-of-type{display:grid;grid-template-columns:10px auto;column-gap:9px;align-items:center}.studio-topbar>div:first-of-type span{grid-row:1/3;width:8px;height:8px;border-radius:50%;background:#42b56a}.studio-topbar>div:first-of-type span.dirty{background:#e5a432}.studio-topbar strong{font-size:.82rem}.studio-topbar small{display:block;color:#7a848a;font-size:.62rem}.studio-actions{display:flex;gap:8px}.studio-actions .button{min-height:40px;padding:9px 13px;font-size:.72rem}.studio-mobile-toggle{display:none}.studio-workspace{display:grid;grid-template-columns:minmax(520px,1.05fr) minmax(390px,.95fr);gap:18px;max-width:1540px;margin:0 auto;padding:24px}.studio-editor{min-width:0}.studio-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px}.studio-heading h1{margin:2px 0;font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.045em}.studio-heading>div>p:last-child{margin:0;max-width:680px;color:#707b82}.draft-pill{padding:7px 10px;border-radius:99px;background:#e5dded;color:#6f438b;font-size:.6rem;font-weight:900;letter-spacing:.09em}.studio-form{display:grid;gap:12px}.studio-panel{margin-bottom:12px;border:1px solid var(--studio-line);border-radius:17px;background:#fbfcfa;box-shadow:0 8px 26px rgba(22,31,36,.04);overflow:hidden}.studio-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;cursor:pointer;list-style:none}.studio-panel>summary::-webkit-details-marker{display:none}.studio-panel>summary span{display:flex;align-items:center;gap:11px}.studio-panel>summary i{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#151b21;color:#ffd31f;font-size:.58rem;font-style:normal;font-weight:900}.studio-panel>summary strong{font-size:.83rem}.studio-panel>summary em{color:#7e888e;font-size:.67rem;font-style:normal}.studio-panel[open]>summary{border-bottom:1px solid #e5e8e5}.studio-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:19px}.studio-fields label,.studio-section-list article>label,.studio-repeaters label{display:grid;gap:6px;color:#3b444a;font-size:.7rem;font-weight:850}.studio-fields input,.studio-fields textarea,.studio-fields select,.studio-section-list input,.studio-section-list textarea,.studio-repeaters input,.studio-repeaters textarea{width:100%;min-width:0;border:1px solid #d8ded9;border-radius:10px;background:#fff;padding:10px 11px;color:#171d21;font:inherit}.studio-fields input:focus,.studio-fields textarea:focus,.studio-fields select:focus,.studio-section-list input:focus,.studio-section-list textarea:focus,.studio-repeaters input:focus,.studio-repeaters textarea:focus{outline:3px solid rgba(207,168,255,.23);border-color:#b99ade}.studio-fields .span-2{grid-column:1/-1}.studio-fields label>small{color:#879097;font-size:.6rem;font-weight:600}.studio-section-list,.studio-repeaters{display:grid;gap:10px;padding:17px}.studio-section-list article,.studio-repeaters article{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:14px;border:1px solid #e0e4e0;border-radius:13px;background:#f6f8f5}.section-editor-head{grid-column:1/-1;display:flex;align-items:center;gap:10px}.section-editor-head>div:nth-child(2){display:grid}.section-editor-head strong{font-size:.76rem}.section-editor-head small{color:#7f888e;font-size:.6rem}.studio-switch input{position:absolute;opacity:0}.studio-switch span{position:relative;display:block;width:35px;height:20px;border-radius:99px;background:#b9c0bc;cursor:pointer}.studio-switch span:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.18s}.studio-switch input:checked+span{background:#47b870}.studio-switch input:checked+span:after{transform:translateX(15px)}.reorder-controls{display:flex;gap:4px;margin-left:auto}.reorder-controls button{width:30px;height:30px;border:1px solid #d8ded9;border-radius:8px;background:#fff;cursor:pointer}.reorder-controls button:disabled{opacity:.32}.studio-subheading{padding:17px 17px 0}.studio-subheading h3{margin:0;font-size:.92rem}.studio-subheading p{margin:4px 0 0;color:#7b858b;font-size:.68rem}.faq-subheading{border-top:1px solid #e5e8e5;margin-top:4px}.repeater-head{grid-column:1/-1;display:flex;justify-content:space-between}.repeater-head span{font-size:.64rem;font-weight:900;letter-spacing:.08em}.repeater-head button{border:0;background:transparent;color:#914b4b;font-size:.64rem;cursor:pointer}.studio-panel>#add-faq{margin:0 17px 17px}.guardrail-note{margin:0 19px 19px;padding:12px;border-radius:11px;background:#f1ecf7;color:#665474;font-size:.68rem;line-height:1.5}.revision-list{display:grid;gap:8px;padding:17px}.revision-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px;border:1px solid #e0e4e0;border-radius:11px}.revision-list article div{display:grid}.revision-list strong{font-size:.72rem}.revision-list small{color:#7e888e;font-size:.6rem}.revision-list button{border:1px solid #d8ded9;border-radius:8px;background:#fff;padding:7px 9px;font-size:.62rem;font-weight:800;cursor:pointer}.studio-empty{margin:0;color:#7d878d;font-size:.7rem}.studio-preview-panel{position:sticky;top:94px;align-self:start;min-width:0}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:10px}.preview-toolbar>span{display:flex;gap:7px;align-items:center;font-size:.66rem;font-weight:850}.preview-toolbar>span i{width:7px;height:7px;border-radius:50%;background:#45b76c}.preview-toolbar>div{display:flex;gap:4px}.preview-toolbar button{border:1px solid #d5dad6;border-radius:7px;background:#f8f9f7;padding:6px 8px;color:#758087;font-size:.57rem;font-weight:800;cursor:pointer}.preview-toolbar button.active{background:#151b21;color:#fff;border-color:#151b21}.studio-preview-frame{width:100%;margin:auto;padding:12px;border-radius:20px;background:#d7dcd8;transition:max-width .25s}.studio-preview-frame[data-width="tablet"]{max-width:720px}.studio-preview-frame[data-width="mobile"]{max-width:375px}.studio-preview-site{overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 12px 35px rgba(17,24,28,.16)}.preview-nav{display:flex;align-items:center;gap:9px;height:46px;padding:9px 13px;background:#0c1117}.preview-nav img{width:27px;height:27px;object-fit:contain}.preview-nav span{width:54px;height:5px;border-radius:9px;background:#3b444c}.preview-nav span:nth-child(3){width:38px}.preview-nav b{width:52px;height:18px;border-radius:6px;background:var(--yellow);margin-left:auto}.preview-hero{--studio-accent:#ffd31f;min-height:330px;padding:48px 42px;background:radial-gradient(circle at 80% 30%,color-mix(in srgb,var(--studio-accent) 28%,transparent),transparent 35%),#0d131a;color:#fff}.preview-hero small{color:var(--studio-accent);font-size:.6rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.preview-hero h2{max-width:560px;margin:14px 0 10px;font-size:clamp(2rem,4vw,4.2rem);line-height:.94;letter-spacing:-.05em}.preview-hero p{max-width:480px;color:#a9b3bb;font-size:.8rem;line-height:1.55}.preview-hero>div{display:flex;gap:7px;margin-top:19px}.preview-hero>div span{padding:9px 11px;border-radius:7px;background:var(--studio-accent);color:#111;font-size:.62rem;font-weight:900}.preview-hero>div span+span{background:#222b33;color:#fff}.preview-section-strip{display:flex;gap:6px;flex-wrap:wrap;padding:18px;background:#f5f6f3}.preview-section-strip span{padding:7px 9px;border:1px solid #dde1dd;border-radius:8px;background:#fff;color:#68737a;font-size:.55rem;font-weight:800}.preview-footer{display:flex;justify-content:space-between;gap:14px;padding:15px;background:#080c10;color:#fff;font-size:.56rem}.preview-footer span{color:#77838d}.studio-preview-help{color:#748087;font-size:.64rem;line-height:1.5}.studio-preview-help strong{color:#313a40}
@media(max-width:1180px){.calculator-layout{grid-template-columns:1fr}.calculator-summary{position:relative;top:auto}.studio-workspace{grid-template-columns:1fr}.studio-preview-panel{position:relative;top:auto}.studio-preview-frame{max-width:850px}}
@media(max-width:900px){.studio-sidebar{transform:translateX(-105%);transition:transform .22s}.studio-nav-open .studio-sidebar{transform:none}.studio-main{margin-left:0}.studio-mobile-toggle{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d8ddda;border-radius:10px;background:#fff}.studio-topbar{padding-inline:14px}.studio-topbar>div:first-of-type{margin-right:auto}.studio-workspace{padding:18px}.draft-preview-banner{width:calc(100% - 20px);justify-content:center}.draft-preview-banner span{display:none}}
@media(max-width:640px){.calculator-grid,.studio-fields,.studio-section-list article,.studio-repeaters article{grid-template-columns:1fr}.calculator-grid .span-2,.studio-fields .span-2,.section-editor-head,.repeater-head{grid-column:auto}.calculator-price strong{font-size:3rem}.advanced-costing>summary{align-items:flex-start}.advanced-costing>summary em{display:none}.studio-topbar{flex-wrap:wrap}.studio-actions{width:100%;order:3}.studio-actions .button{flex:1;justify-content:center}.studio-workspace{padding:14px}.studio-heading{align-items:flex-start}.studio-heading>span{display:none}.studio-panel>summary em{display:none}.preview-hero{min-height:285px;padding:38px 25px}.preview-hero h2{font-size:2.45rem}.preview-toolbar>div button:first-child,.preview-toolbar>div button:nth-child(2){display:none}}

/* Production Site Studio and owner separation */
.studio-sidebar nav>a{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 11px;border-radius:9px;color:#9da8b1;text-align:left}
.studio-sidebar nav>a span{font-size:.76rem;font-weight:800}.studio-sidebar nav>a small{font-size:.55rem;color:#5f6b76}
.studio-sidebar nav>a:hover,.studio-sidebar nav>a.active{background:#182029;color:#fff}.studio-sidebar nav>a.active{box-shadow:inset 3px 0 0 #cfa8ff}
.admin-header nav{flex-wrap:wrap}.admin-header .studio-admin-launch{border:1px solid rgba(207,168,255,.35);background:rgba(207,168,255,.08);color:#eadcff}
.theme-light-led .section-dark:not(.page-hero){background:#172029}.theme-dark-led .section-light{background:#e9ebe7}
/* v7: accessible controls, front-facing reels and real Studio preview. */
[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a.button,select,input:not([type=checkbox]):not([type=radio]){min-height:44px}input[type=checkbox],input[type=radio]{min-width:20px;min-height:20px}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #168caa;outline-offset:4px}a:not(.button):hover{text-decoration:underline}.desktop-nav{gap:16px}.desktop-nav a{display:flex;align-items:center;min-height:44px}.quote-paths{display:grid;gap:12px;border:1px solid #b8bdc2;border-radius:16px;padding:18px;margin-bottom:24px}.quote-paths label{display:flex;align-items:center;gap:12px;min-height:44px}.quote-paths legend{font-weight:750}.quote-card [data-path]{padding:16px;background:#e6eceb;border-radius:16px}.filament-rack{display:flex;gap:24px;overflow-x:auto;align-items:flex-start;padding:30px 24px 28px;background:repeating-linear-gradient(0deg,#d0cbc0 0 1px,#e5e0d4 1px 65px);scroll-snap-type:x proximity}.filament-spool{flex:0 0 124px;width:124px;height:202px;scroll-snap-align:center}.spool-reel{left:7px;top:6px;width:110px;height:134px;transform:none}.spool-flange-back{left:2px;top:3px;width:104px;height:124px;border-radius:50%;background:#282e34}.filament-core{left:7px;top:7px;width:96px;height:116px;border-radius:50%;background:repeating-radial-gradient(ellipse,rgba(0,0,0,.16) 0 1px,transparent 1px 3px),var(--filament);border:8px solid #454b51;box-shadow:inset 0 0 8px #0004,4px 6px 8px #0003}.filament-core:after{display:none}.spool-flange-front{left:9px;top:9px;width:92px;height:112px;border-radius:50%;border:7px solid #363e45;background:transparent;box-shadow:inset 0 0 0 2px #c4c8c8}.spool-flange:after{display:none}.spool-hub{left:40px;top:48px;width:30px;height:34px;border:7px solid #858c91;border-radius:50%;background:#171b20;box-shadow:0 0 0 3px #343c43}.spool-label{bottom:12px}.spool-label strong{font-size:.85rem}.filament-rack:before{bottom:66px}.filament-rack:after{bottom:56px}.spool-check{right:-5px;top:0}.consent-banner{position:fixed;z-index:100;bottom:18px;left:18px;right:18px;background:#fff;color:#12181d;border:2px solid #182128;border-radius:18px;box-shadow:0 10px 40px #0004;padding:20px;display:flex;gap:16px;align-items:center}.consent-banner p{flex:1;margin:0;max-width:850px}.consent-banner button{background:#12181d;color:white;border:0;border-radius:10px;padding:12px 18px}.cookie-preferences{margin:24px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:10px;padding:8px 14px}.studio-preview-frame{padding:0!important}.studio-preview-frame iframe{display:block}.simple-form input,.simple-form select,.simple-form textarea{width:100%;padding:10px;border:1px solid #a5afb5;border-radius:8px}.simple-form input[type=checkbox],.simple-form input[type=radio]{width:auto}.simple-form button{margin-top:16px}.admin-panel form{margin:12px 0}.section-light>.wrap>h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.1}.portal-login-shell{padding-top:120px}.reveal{opacity:1;transform:none}.site-header .brand span{font-size:.9rem}.quote-card p,.step-card p,.service-card p{color:#505b63}.eyebrow.dark{color:#735a00}
@media(max-width:1350px){.desktop-nav{display:none}.menu-button{display:block}.mobile-menu:not([hidden]){display:grid;max-height:calc(100dvh - 76px);overflow-y:auto}.mobile-menu a{min-height:44px;display:flex;align-items:center}.site-header{grid-template-columns:1fr auto auto;gap:12px}}
@media(max-width:720px){.consent-banner{flex-wrap:wrap;bottom:8px;left:8px;right:8px;padding:16px}.consent-banner p{flex-basis:100%}.consent-banner button{flex:1}.site-header{padding:0 16px}.brand span{max-width:130px}.header-cta{display:none}.site-header{grid-template-columns:1fr auto}.quote-paths label{font-size:.95rem}.filament-rack{gap:18px}.studio-main{min-width:0}.studio-topbar{flex-wrap:wrap}.studio-actions{flex-wrap:wrap}.studio-preview-panel{min-width:0}.content-grid{grid-template-columns:1fr}.admin-header nav{flex-wrap:wrap}.simple-form{min-width:0}.page-hero h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.quality-summary-card{display:grid;grid-template-columns:1fr;gap:5px}.quality-summary-card strong{font-size:.9rem}.quality-summary-card span{color:#b4c5c6;font-size:.8rem}.summary-kicker{display:flex;justify-content:space-between;gap:12px}.summary-kicker i{font-size:.75rem;color:#b4c5c6}.summary-price strong{font-size:clamp(1.8rem,3vw,2.6rem)}.summary-price small{font-size:.78rem;line-height:1.5}.model-controls button{min-width:44px;min-height:44px}.model-controls{z-index:4}.simple-form label{display:grid;gap:8px;margin-block:12px}.simple-form{max-width:700px}.section-light .content-grid .admin-panel{min-width:0}
/* A dedicated customer portal action accompanies the primary upload action. */
.site-header{grid-template-columns:auto 1fr auto auto auto;gap:18px}.button-portal{min-height:46px;padding:0 16px;background:#15272a;color:#e2f4ed;border:1px solid #568883;border-radius:14px;font-weight:700;font-size:.86rem;white-space:nowrap}.button-portal:hover{background:#203b3b;border-color:#8ab8a8;text-decoration:none}.header-portal svg{flex:none}.portal-label-short{display:none}
@media(max-width:1550px){.desktop-nav{display:none}.menu-button{display:block}.site-header{grid-template-columns:1fr auto auto auto;gap:12px}.mobile-menu:not([hidden]){display:grid;max-height:calc(100dvh - 76px);overflow-y:auto}.mobile-menu a{min-height:44px;display:flex;align-items:center}}
@media(max-width:720px){.site-header{grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:0 12px}.site-header .brand{gap:8px;min-width:0}.site-header .brand span{font-size:.78rem;max-width:120px;line-height:1.2}.site-header .brand img{width:29px;height:29px}.header-portal{padding:0 11px;gap:7px;min-height:44px;font-size:.8rem}.portal-label-full{display:none}.portal-label-short{display:inline}.menu-button{padding:9px 11px;min-height:44px}.header-cta{display:none}}
.material-catalogue{display:grid;gap:28px}.material-guide-card{padding:36px;border:1px solid #d6ddda;background:#fafbf7;border-radius:24px;scroll-margin-top:100px}.material-guide-card header{border-bottom:1px solid #dce1dc;padding-bottom:22px;margin-bottom:24px}.material-guide-card header h2{font-size:2.5rem;line-height:1.2;margin:8px 0}.material-guide-card header p{font-size:1.1rem;margin:0;color:#55645c}.material-guide-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:750;color:#42634f}.material-guide-content{display:grid;grid-template-columns:1.3fr 1fr;gap:48px}.material-guide-content h3,.material-colour-options h3{font-size:1rem;margin:0 0 8px}.material-guide-content p{color:#55635c;font-size:.94rem;line-height:1.75;margin:0 0 23px}.material-properties{display:grid;gap:13px;margin:14px 0}.material-property{display:flex;justify-content:space-between;gap:14px;font-size:.85rem}.material-property dd{display:flex;align-items:center;gap:9px;margin:0}.property-meter{display:flex;gap:4px}.property-meter i{display:block;width:17px;height:8px;background:#dce4dd;border-radius:3px}.property-meter i.filled{background:#587662}.material-property dd small{font-size:.7rem;color:#617267}.material-guide-content .material-guide-disclaimer{font-size:.77rem;line-height:1.6;color:#6a776f}.material-colour-options{border-top:1px solid #dce1dc;padding-top:22px;margin:0 0 22px}.material-colour-chips{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.material-colour-chip{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;background:white;border:1px solid #d8e0d8;border-radius:24px;min-height:44px;font-size:.85rem}.material-colour-chip i{width:23px;height:23px;flex:none;border-radius:50%;background:var(--colour);border:1px solid #0002;box-shadow:inset 1px 2px 4px #fff3}.material-colour-options>p{font-size:.8rem;color:#68786c}.material-guide-card>.button{margin-top:3px}
@media(max-width:720px){.material-guide-card{padding:24px 20px}.material-guide-content{grid-template-columns:1fr;gap:12px}.material-guide-card header h2{font-size:2rem}.material-property{font-size:.8rem}.material-guide-card>.button{width:100%}.property-meter i{width:15px}}

.finance-table{width:100%;border-collapse:collapse}.finance-table td,.finance-table th{padding:10px;text-align:left;min-width:110px}.finance-bar{display:block;height:6px;border-radius:3px;max-width:100%;margin-bottom:6px}.zoho-panel form{margin:16px 0}.zoho-panel pre{max-width:100%;font-size:13px}
