@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p,dl,dd,figure,fieldset{margin:0}ul,ol{margin:0;padding:0}button,input,select{color:inherit;font:inherit}img,svg{max-width:100%;display:block}}@layer base{:root{color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:linear-gradient(90deg, color-mix(in srgb, var(--ink) 5%, transparent) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--ink) 5%, transparent) 1px, transparent 1px), var(--paper);min-width:320px;color:var(--ink);background-size:32px 32px;font-size:1rem;line-height:1.62}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:.08em}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--paper);outline-offset:2px;box-shadow:0 0 0 6px var(--ink)}::selection{background:var(--accent);color:var(--ink)}h1,h2,h3,strong{font-weight:760}h1,h2{letter-spacing:-.045em;line-height:1.02}h1{max-width:12ch;font-size:clamp(3.1rem,8vw,7.25rem)}h2{max-width:14ch;font-size:clamp(2.35rem,5.3vw,5rem)}h3{font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.22}p{text-wrap:pretty}}@layer components{.shell{width:min(100% - 40px,1240px);margin-inline:auto}.section-pad{padding-block:clamp(78px,10vw,144px)}.section-heading{gap:22px;max-width:760px;margin-bottom:clamp(44px,7vw,78px);display:grid}.section-heading>p:last-child{max-width:64ch;color:color-mix(in srgb, var(--ink) 72%, transparent);font-size:clamp(1.03rem,1.8vw,1.2rem)}.eyebrow{color:color-mix(in srgb, var(--ink) 75%, transparent);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;font-size:.75rem;font-weight:800;line-height:1.2;display:flex}.eyebrow:before{background:var(--accent);content:"";width:26px;height:3px}.skip-link{z-index:1000;background:var(--ink);color:var(--paper);border-radius:8px;padding:12px 18px;font-weight:750;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.preview-ribbon{border-bottom:1px solid color-mix(in srgb, var(--ink) 20%, transparent);background:var(--accent);color:var(--ink);letter-spacing:.11em;text-align:center;text-transform:uppercase;padding:8px 20px;font-size:.72rem;font-weight:850}.site-header{z-index:50;border-bottom:1px solid color-mix(in srgb, var(--ink) 13%, transparent);background:color-mix(in srgb, var(--paper) 91%, transparent);backdrop-filter:blur(18px);position:sticky;top:0}.header-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(20px,4vw,54px);min-height:82px;display:grid}.brand{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark{fill:none;stroke:currentColor;stroke-linejoin:round;stroke-width:2.2px;flex:none;width:38px}.brand-mark-accent{stroke:var(--accent-strong);stroke-width:4px}.brand span{line-height:1;display:grid}.brand strong{letter-spacing:-.02em;font-size:1rem}.brand small{color:color-mix(in srgb, currentColor 65%, transparent);letter-spacing:.15em;text-transform:uppercase;margin-top:5px;font-size:.64rem;font-weight:750}.primary-nav{justify-content:center;gap:clamp(18px,3vw,38px);display:flex}.primary-nav a,.language-nav a{font-size:.82rem;font-weight:720;text-decoration:none}.primary-nav a{position:relative}.primary-nav a:after{background:var(--accent-strong);content:"";transform-origin:0;height:2px;transition:transform .18s;position:absolute;bottom:-9px;left:0;right:0;transform:scaleX(0)}.primary-nav a:hover:after{transform:scaleX(1)}.language-nav{align-items:center;gap:4px;display:flex}.language-nav a{border:1px solid #0000;border-radius:999px;place-items:center;min-width:40px;min-height:40px;display:grid}.language-nav a:hover{border-color:color-mix(in srgb, var(--ink) 25%, transparent)}.language-nav a[aria-current=page]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.hero{background:radial-gradient(circle at 83% 28%, color-mix(in srgb, var(--accent) 42%, transparent), transparent 28%), linear-gradient(135deg, var(--wash), var(--paper) 72%);overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(400px,.98fr);align-items:center;gap:clamp(58px,8vw,118px);display:grid}.hero-copy{gap:28px;display:grid}.hero-lead{max-width:59ch;color:color-mix(in srgb, var(--ink) 76%, transparent);font-size:clamp(1.08rem,2vw,1.3rem)}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.button{border:1px solid var(--ink);text-align:center;border-radius:4px;justify-content:center;align-items:center;min-height:52px;padding:13px 22px;font-weight:780;text-decoration:none;transition:transform .16s,box-shadow .16s;display:inline-flex}.button:not(:disabled):hover{box-shadow:5px 5px 0 var(--ink);transform:translate(-3px,-3px)}.button-primary{background:var(--ink);color:var(--paper)}.button-secondary{background:0 0}.button-disabled{cursor:not-allowed;border-color:color-mix(in srgb, var(--paper) 28%, transparent);background:color-mix(in srgb, var(--paper) 10%, transparent);width:100%;color:color-mix(in srgb, var(--paper) 52%, transparent)}.hero-facts{border-top:1px solid color-mix(in srgb, var(--ink) 22%, transparent);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px;display:grid}.hero-facts div{padding:20px 16px 0 0}.hero-facts div+div{border-left:1px solid color-mix(in srgb, var(--ink) 22%, transparent);padding-left:16px}.hero-facts dt{color:color-mix(in srgb, var(--ink) 68%, transparent);letter-spacing:.11em;text-transform:uppercase;font-size:.68rem;font-weight:800}.hero-facts dd{margin-top:5px;font-size:.98rem;font-weight:750;line-height:1.25}.textile-figure{gap:18px;display:grid}.textile-diagram{width:100%;color:var(--ink);filter:drop-shadow(20px 24px 0 color-mix(in srgb, var(--ink) 6%, transparent))}.diagram-sofa{fill:color-mix(in srgb, var(--paper) 75%, transparent);stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:7px}.fibre-sample rect{stroke:var(--ink);stroke-width:3px}.fibre-sample path{fill:none;stroke:var(--accent-strong);stroke-linecap:round;stroke-width:3px}.stain-shape{fill:color-mix(in srgb, var(--accent-strong) 22%, transparent);stroke:var(--accent-strong);stroke-width:3px}.action-arrow{fill:none;stroke:var(--accent-strong);stroke-dasharray:8 8;stroke-linecap:round;stroke-width:4px}.diagram-number circle{fill:var(--ink)}.diagram-number text{fill:var(--paper);text-anchor:middle;font-size:21px;font-weight:800}.textile-figure figcaption{color:color-mix(in srgb, var(--ink) 70%, transparent);grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 24px;font-size:.77rem;line-height:1.3;display:grid}.textile-figure figcaption span{align-items:center;gap:8px;display:flex}.textile-figure figcaption b{background:var(--ink);width:23px;height:23px;color:var(--paper);border-radius:50%;flex:none;place-items:center;font-size:.68rem;display:grid}.section-plain{background:var(--paper)}.scope-grid{border-top:1px solid color-mix(in srgb, var(--ink) 20%, transparent);border-left:1px solid color-mix(in srgb, var(--ink) 20%, transparent);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.scope-card{border-right:1px solid color-mix(in srgb, var(--ink) 20%, transparent);border-bottom:1px solid color-mix(in srgb, var(--ink) 20%, transparent);background:var(--paper);min-height:290px;padding:clamp(26px,4vw,42px)}.scope-card:nth-child(2){background:var(--wash)}.scope-card:nth-child(3){background:color-mix(in srgb, var(--accent) 20%, var(--paper))}.scope-card h3{margin-top:58px}.scope-card p{color:color-mix(in srgb, var(--ink) 70%, transparent);margin-top:16px}.card-marker,.step-marker{letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;font-weight:750}.process-section{background:var(--wash)}.process-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(60px,10vw,154px);display:grid}.sticky-heading{margin-bottom:0;position:sticky;top:132px}.process-list{list-style:none}.process-list li{border-top:1px solid color-mix(in srgb, var(--ink) 22%, transparent);grid-template-columns:55px 1fr;gap:28px;padding:32px 0;display:grid}.process-list li:last-child{border-bottom:1px solid color-mix(in srgb, var(--ink) 22%, transparent)}.process-list h3{font-size:clamp(1.22rem,2.2vw,1.65rem)}.process-list p{max-width:54ch;color:color-mix(in srgb, var(--ink) 70%, transparent);margin-top:10px}.calculator-section{background:var(--ink);color:var(--paper)}.calculator-heading>p:last-child,.calculator-heading .eyebrow,.calculator-section .eyebrow{color:color-mix(in srgb, var(--paper) 72%, transparent)}.fixture-chip{border:1px solid color-mix(in srgb, var(--accent) 48%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent);width:fit-content;color:var(--accent);letter-spacing:.04em;border-radius:999px;padding:7px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.calculator-grid{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);align-items:start;gap:clamp(28px,5vw,68px);display:grid}.calculator-controls{gap:24px;display:grid}.service-fieldset{border:0;padding:0}.service-fieldset legend,.zone-control>label{color:color-mix(in srgb, var(--paper) 62%, transparent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;font-size:.72rem;font-weight:800;display:block}.service-list{background:color-mix(in srgb, var(--paper) 16%, transparent);border-radius:8px;gap:1px;display:grid;overflow:hidden}.service-row{background:color-mix(in srgb, var(--ink) 94%, var(--paper));grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;min-height:112px;padding:19px 22px;display:grid}.service-copy p{color:color-mix(in srgb, var(--paper) 58%, transparent);margin-top:7px;font-size:.82rem}.service-copy strong{color:var(--accent)}.quantity-control{border:1px solid color-mix(in srgb, var(--paper) 28%, transparent);border-radius:4px;grid-template-columns:44px 54px 44px;display:grid;overflow:hidden}.quantity-control button,.quantity-control input{min-width:0;height:44px;color:var(--paper);text-align:center;background:0 0;border:0}.quantity-control button{cursor:pointer;font-size:1.3rem}.quantity-control button:hover:not(:disabled){background:var(--accent);color:var(--ink)}.quantity-control button:disabled{cursor:not-allowed;color:color-mix(in srgb, var(--paper) 25%, transparent)}.quantity-control input{border-right:1px solid color-mix(in srgb, var(--paper) 20%, transparent);border-left:1px solid color-mix(in srgb, var(--paper) 20%, transparent);appearance:textfield;font-weight:800}.quantity-control input::-webkit-inner-spin-button{appearance:none;margin:0}.quantity-control input::-webkit-outer-spin-button{appearance:none;margin:0}.additional-services{border:1px solid color-mix(in srgb, var(--paper) 20%, transparent);border-radius:8px}.additional-services summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:15px 20px;list-style:none;display:flex}.additional-services summary::-webkit-details-marker{display:none}.additional-services summary span:first-child{display:grid}.additional-services summary small{color:color-mix(in srgb, var(--paper) 55%, transparent);margin-top:3px}.details-sign{font-size:1.7rem;transition:transform .18s}.additional-services[open] .details-sign{transform:rotate(45deg)}.additional-list{border-radius:0 0 7px 7px}.zone-control{padding-top:12px}.zone-control select{border:1px solid color-mix(in srgb, var(--paper) 28%, transparent);background:color-mix(in srgb, var(--ink) 92%, var(--paper));width:100%;min-height:54px;color:var(--paper);border-radius:4px;padding:0 44px 0 16px}.zone-control p{color:color-mix(in srgb, var(--paper) 54%, transparent);margin-top:10px;font-size:.78rem}.summary-card{background:var(--paper);color:var(--ink);border-radius:10px;padding:clamp(24px,4vw,38px);position:sticky;top:116px}.summary-topline{color:color-mix(in srgb, var(--ink) 68%, transparent);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:14px;font-size:.7rem;font-weight:750;display:flex}.summary-topline code{font-size:.65rem}.summary-card h3{letter-spacing:-.035em;margin-top:18px;font-size:clamp(1.55rem,3vw,2.2rem)}.summary-lines{border-top:1px solid color-mix(in srgb, var(--ink) 18%, transparent);border-bottom:1px solid color-mix(in srgb, var(--ink) 18%, transparent);gap:12px;margin-top:30px;padding:22px 0;list-style:none;display:grid}.summary-lines li{justify-content:space-between;align-items:baseline;gap:20px;font-size:.82rem;display:flex}.summary-empty{color:color-mix(in srgb, var(--ink) 68%, transparent)}.summary-totals{gap:10px;padding:22px 0;display:grid}.summary-totals>div{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.summary-totals dt{color:color-mix(in srgb, var(--ink) 68%, transparent);font-size:.8rem}.summary-totals dd{font-weight:750}.shortfall-row dd{color:var(--accent-strong)}.summary-grand-total{border-top:2px solid var(--ink);margin-top:9px;padding-top:17px}.summary-grand-total dt,.summary-grand-total dd{color:var(--ink);font-size:1.15rem;font-weight:850}.summary-disclaimer,.noscript-note{color:color-mix(in srgb, var(--ink) 68%, transparent);margin-top:15px;font-size:.72rem;line-height:1.45}.noscript-note{color:color-mix(in srgb, var(--paper) 70%, transparent)}.evidence-section{background:var(--accent)}.evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,5vw,70px);display:grid}.evidence-grid article{padding-top:20px}.evidence-line{background:var(--ink);width:100%;height:8px;margin-bottom:28px;display:block}.evidence-grid article:nth-child(2) .evidence-line{width:72%}.evidence-grid article:nth-child(3) .evidence-line{width:44%}.evidence-grid p{color:var(--ink);margin-top:14px}.evidence-section .eyebrow{color:var(--ink)}.faq-section{background:var(--paper)}.faq-layout{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(60px,10vw,150px);display:grid}.faq-list{border-top:1px solid color-mix(in srgb, var(--ink) 24%, transparent)}.faq-list details{border-bottom:1px solid color-mix(in srgb, var(--ink) 24%, transparent)}.faq-list summary{cursor:pointer;padding:25px 48px 25px 0;font-size:clamp(1.05rem,2vw,1.25rem);font-weight:750;line-height:1.3;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-size:1.6rem;font-weight:450;line-height:1;transition:transform .18s;position:absolute;top:23px;right:5px}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list details p{max-width:62ch;color:color-mix(in srgb, var(--ink) 70%, transparent);padding:0 50px 27px 0}.legal-section{background:var(--paper);padding-top:0}.legal-card{border:2px solid var(--ink);border-left:12px solid var(--accent-strong);background:var(--wash);grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:clamp(42px,8vw,110px);padding:clamp(30px,6vw,70px);display:grid}.legal-card h2{margin-top:18px;font-size:clamp(2rem,4vw,3.6rem)}.legal-card div>p:last-child{max-width:62ch;margin-top:20px}.legal-card ul{align-content:center;gap:14px;padding-left:20px;display:grid}.site-footer{background:var(--ink);color:var(--paper);padding-block:52px}.footer-grid{grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(36px,7vw,90px);display:grid}.brand-footer .brand-mark-accent{stroke:var(--accent)}.footer-grid>div{max-width:60ch}.footer-grid p{color:color-mix(in srgb, var(--paper) 58%, transparent);margin-top:6px;font-size:.8rem}.footer-status-link{color:var(--accent);font-size:.76rem;font-weight:780}}@layer utilities{.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}}@media (width<=1020px){.primary-nav{display:none}.header-inner{grid-template-columns:1fr auto}.hero-grid,.process-layout,.faq-layout{grid-template-columns:1fr}.hero-copy{max-width:760px}.textile-figure{width:min(100%,720px)}.sticky-heading{margin-bottom:0;position:static}.calculator-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);gap:28px}}@media (width<=800px){.shell{width:min(100% - 28px,1240px)}.section-pad{padding-block:76px}.hero-grid,.calculator-grid,.legal-card,.scope-grid,.evidence-grid{grid-template-columns:1fr}.scope-card{min-height:235px}.scope-card h3{margin-top:36px}.summary-card{position:static}.footer-grid{grid-template-columns:1fr}}@media (width<=560px){h1{font-size:clamp(2.8rem,15vw,4.7rem)}.preview-ribbon{font-size:.62rem}.header-inner{gap:10px;min-height:72px}.language-nav{gap:0}.language-nav a{min-width:34px;min-height:38px;font-size:.69rem}.language-nav a:last-child{min-width:42px}.hero-actions,.hero-actions .button{width:100%}.hero-facts{grid-template-columns:1fr}.hero-facts div{padding:15px 0}.hero-facts div+div{border-top:1px solid color-mix(in srgb, var(--ink) 22%, transparent);border-left:0;padding-left:0}.textile-figure figcaption{grid-template-columns:1fr}.process-list li{grid-template-columns:36px 1fr;gap:16px}.service-row{grid-template-columns:1fr}.quantity-control{width:144px}.legal-card{border-left-width:7px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
