*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%;height:auto}p,h1,h2,h3,figure{margin:0}h1,h2,h3{line-height:1.04;font-weight:500;letter-spacing:-.05em}p+p{margin-top:1em}em{font-style:normal}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.section{padding:100px var(--gutter)}.eyebrow,.mono{font-size:11px;line-height:1.5;text-transform:uppercase;letter-spacing:.15em;font-weight:600;margin-bottom:24px}.lead{font-size:clamp(20px,2.1vw,30px);line-height:1.45}.small,.micro{font-size:12px;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 24px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);line-height:1.2;font-size:14px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);background:var(--accent);color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid currentColor;padding:11px 0;font-size:14px}.skip{position:fixed;z-index:1000;left:20px;top:-100px;background:var(--ink);color:var(--bg);padding:12px 20px}.skip:focus{top:10px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px var(--gutter);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;font-size:26px;font-weight:600;line-height:1.1;letter-spacing:-.04em}.brand-image{width:165px;max-height:72px;object-fit:contain}.brand-icon{height:34px;width:34px;object-fit:contain}.site-header nav{display:flex;gap:28px;align-items:center}.site-header nav a{font-size:13px;border-bottom:1px solid transparent;padding:6px 0}.site-header nav a:hover,.site-header nav a[aria-current]{border-color:currentColor}.header-cta{font-size:12px;padding:11px 18px;border:1px solid currentColor;display:flex;gap:25px;align-items:center}.menu-toggle{display:none;background:transparent;border:1px solid currentColor;color:inherit;padding:8px 12px;gap:20px}.site-footer{padding:65px var(--gutter) 24px;background:var(--footer-bg,var(--ink));color:var(--footer-ink,var(--bg))}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:end;padding-bottom:40px;border-bottom:1px solid #ffffff40}.footer-brand{font-size:clamp(34px,4.4vw,70px);line-height:1;letter-spacing:-.05em}.footer-top p{font-size:14px;max-width:300px}.footer-meta{display:grid;grid-template-columns:2fr 1fr;gap:70px;padding:38px 0}.footer-meta strong{font-size:13px;font-weight:500}.footer-meta .contact-details{margin-top:16px;font-size:13px;max-width:650px;display:flex;flex-wrap:wrap;gap:6px 22px}.contact-details .address{width:100%;line-height:1.6;margin-bottom:12px}.contact-details a{overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline}.footer-links{display:flex;flex-direction:column;gap:10px;font-size:13px}.footer-bottom{border-top:1px solid #ffffff40;display:flex;justify-content:space-between;gap:25px;padding-top:20px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.inner-hero{padding:70px var(--gutter) 65px;display:flex;justify-content:space-between;gap:45px;border-bottom:1px solid var(--line)}.inner-hero h1{font-size:clamp(44px,6.7vw,98px);max-width:1000px}.inner-hero>p{max-width:360px;align-self:end;color:var(--muted);font-size:17px}.interior .site-header{border-bottom:1px solid var(--line)}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-story>img{width:100%;height:480px;object-fit:cover}.about-story h2{font-size:clamp(32px,4vw,56px);margin-bottom:30px}.about-story p{margin-bottom:25px}.service-list{padding-top:40px}.service-detail{display:grid;grid-template-columns:100px 1fr;gap:30px;padding:44px 0;border-bottom:1px solid var(--line)}.service-index{font-size:12px;letter-spacing:.1em}.service-detail>div{display:grid;grid-template-columns:1fr 1fr;gap:20px 50px}.service-detail h2{font-size:clamp(26px,3vw,44px)}.service-detail p{max-width:650px}.service-detail p+p{margin:0;font-size:13px;color:var(--muted);grid-column:2}.service-detail .text-link{justify-self:start;grid-column:2}.contact-layout{display:grid;grid-template-columns:.9fr 1.4fr;gap:9vw}.contact-layout aside h2{font-size:32px;margin-bottom:25px}.contact-layout aside>p{margin:20px 0;max-width:390px}.contact-layout aside .contact-details{display:flex;flex-direction:column;gap:12px;font-size:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid label{display:flex;flex-direction:column;gap:9px;font-size:12px}.form-grid .full{grid-column:1/-1}.optional{color:var(--muted);font-size:11px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:0;padding:12px 14px;background:var(--field-bg,var(--bg));color:var(--ink);font-size:15px}.form-grid input,.form-grid select{height:50px}.form-grid textarea{resize:vertical;min-height:130px}.consent{display:flex;align-items:start;gap:12px;font-size:12px;line-height:1.7;margin-top:28px}.consent input{flex-shrink:0;width:18px;height:18px;margin:4px 0;accent-color:var(--ink)}.consent a,.form-note a{text-decoration:underline}.form-note{font-size:11px;line-height:1.7;color:var(--muted);margin:15px 0 25px}.form-status{font-size:13px;margin-top:20px;min-height:24px}.form-status.error{color:var(--error,#a22)}.submit{border:0}.submit:disabled{opacity:.55;cursor:wait;transform:none}.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.legal-document{max-width:900px;margin:0 auto;padding:70px 30px 100px}.legal-document section{margin-bottom:35px}.legal-document h2{font-size:25px;letter-spacing:-.03em;margin-bottom:14px}.legal-document p{font-size:15px;line-height:1.85}.legal-document a{text-decoration:underline}.catalog-intro{padding-bottom:30px}.catalog-tools{display:flex;gap:20px;align-items:center;margin-bottom:40px}.catalog-tools input{padding:14px 17px;border:1px solid var(--line);background:var(--bg);color:var(--ink);max-width:420px;width:100%}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.product-card{border-bottom:1px solid var(--line);padding-bottom:25px}.product-card img{width:100%;height:300px;object-fit:contain;background:var(--product-bg,#eee)}.product-card h2{font-size:22px;margin:22px 0 12px}.product-card p{font-size:13px;max-width:380px}.product-card .text-link{font-size:12px}.product-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:start}.product-detail>img{background:var(--product-bg,#eee);width:100%;max-height:550px;object-fit:contain}.product-detail h2{font-size:40px;margin:20px 0}.product-detail p{margin-bottom:25px}.spec-list{padding:20px 0;margin:20px 0;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.spec-list li{padding:8px 0;font-size:14px}.tabs{display:flex;gap:12px;flex-wrap:wrap}.tabs button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:12px 16px;font-size:12px}.tabs button[aria-selected=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.no-results{margin:30px 0}.image-credit{font-size:10px;color:var(--muted)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media(min-width:1600px){body{--gutter:7vw}}@media(max-width:950px){.site-header{gap:20px}.header-cta{display:none}.section{padding:75px var(--gutter)}.inner-hero{flex-direction:column}.inner-hero>p{align-self:start}.about-story{gap:35px}.contact-layout{gap:45px}.service-detail>div{display:block}.service-detail p{margin-top:20px}.service-detail .text-link{margin-top:20px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){body{font-size:15px;--gutter:22px!important}.section{padding-top:55px;padding-bottom:55px}.site-header{padding-top:20px;padding-bottom:20px;flex-wrap:wrap}.brand{font-size:23px}.brand-image{max-width:135px;max-height:54px}.menu-toggle{display:flex}.site-header nav{display:none;width:100%;flex-direction:column;align-items:start;gap:12px;padding:20px 0}.site-header.menu-open nav{display:flex}.site-header nav a{font-size:16px}.footer-top,.footer-bottom{flex-direction:column;align-items:start}.footer-top{gap:20px}.footer-meta{grid-template-columns:1fr;gap:35px}.footer-brand{font-size:42px}.site-footer{padding-top:45px}.inner-hero{padding:45px var(--gutter)}.inner-hero h1{font-size:45px}.inner-hero>p{font-size:15px}.contact-layout,.about-story,.product-detail{grid-template-columns:1fr;gap:40px}.about-story>img{height:300px}.service-detail{grid-template-columns:35px 1fr;gap:10px;padding:30px 0}.form-grid{gap:20px}.form-grid label{grid-column:1/-1}.catalog-grid{gap:25px 15px}.product-card img{height:200px}.product-card h2{font-size:18px}.product-detail h2{font-size:30px}.legal-document{padding:50px 22px}.tabs{gap:6px}.tabs button{padding:10px;font-size:11px}.button{padding:16px 20px;font-size:13px}}

body{--bg:#efede7;--ink:#252623;--muted:#6a6b64;--accent:#ff6b34;--line:#c9c8bf;--sans:'Archivo',sans-serif;--gutter:4.5vw}.brand-symbol{width:42px;height:42px;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:35px;position:relative}.brand-symbol>span{color:var(--accent);font-size:27px;position:absolute;top:-11px;right:-12px;background:var(--bg);line-height:1}.brand-sub{display:block;font-family:'IBM Plex Mono',monospace;font-size:8px;letter-spacing:.25em;margin-top:3px}.site-header{border-bottom:1px solid var(--line)}.site-header nav,.header-cta,.mono,.eyebrow,.ts-noteline,.micro,.ts-index,.ts-panel .ts-schematic,.ts-photo>span{font-family:'IBM Plex Mono',monospace}.ts-hero{padding:30px var(--gutter) 0}.ts-noteline{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.03em;margin-bottom:40px}.ts-hero h1{font-size:clamp(65px,8.5vw,130px);line-height:.98;letter-spacing:-.065em}.ts-hero h1 em{color:var(--accent)}.ts-hero-grid{display:grid;grid-template-columns:.72fr 1.3fr;gap:7vw;margin-top:60px;align-items:end}.ts-brief{padding-bottom:30px}.tiny-cross{font-size:45px;display:block;line-height:1;margin-bottom:25px}.ts-brief>p:not(.micro){font-size:23px;line-height:1.45;max-width:330px;margin-bottom:30px}.ts-brief .micro{max-width:300px;margin-top:32px;letter-spacing:.08em;font-size:9px}.ts-workbench>img{width:100%;height:420px;object-fit:cover;object-position:center 45%;filter:saturate(.75)}.ts-index{display:flex;justify-content:space-between;padding:15px 0;font-size:9px;border-bottom:1px solid var(--ink)}.ts-statement{display:grid;grid-template-columns:1fr 3fr;gap:35px;border-bottom:1px solid var(--ink)}.ts-statement h2{font-size:clamp(40px,5.4vw,80px)}.ts-statement h2 em{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:10px;text-decoration-thickness:3px}.ts-statement>p{grid-column:2;max-width:620px;font-size:20px;line-height:1.6}.ts-path{display:grid;grid-template-columns:1fr 1.6fr;gap:7vw}.ts-path-title h2{font-size:48px}.ts-path .tabs{border-bottom:1px solid var(--ink);gap:0;justify-content:space-between}.ts-path .tabs button{border:0;padding:15px 6px;font-family:'IBM Plex Mono';background:none!important;color:var(--ink)!important}.ts-path .tabs button[aria-selected=true]{box-shadow:inset 0 -3px var(--accent)}.ts-panel{padding-top:30px}.ts-schematic{display:flex;align-items:center;gap:8px;background-image:radial-gradient(#b2b2a6 1px,transparent 1px);background-size:15px 15px;padding:45px 15px;margin-bottom:30px}.ts-schematic span,.ts-schematic b{font-size:9px;font-weight:400;border:1px solid var(--ink);padding:18px 11px;background:var(--bg)}.ts-schematic b{background:var(--accent)}.ts-schematic i{font-style:normal}.ts-panel h3{font-size:27px;margin-bottom:15px}.ts-panel>p{font-size:16px;max-width:560px}.ts-work{display:grid;grid-template-columns:.95fr 1.1fr;gap:9vw;background:#e0dfd5}.ts-photo img{width:100%;height:540px;object-fit:cover;filter:saturate(.7)}.ts-photo>span{display:block;margin-top:14px;font-size:9px}.ts-work h2{font-size:44px;margin-bottom:35px}.ts-work details{border-top:1px solid var(--ink);padding:20px 0}.ts-work summary{list-style:none;font-size:20px;display:flex;justify-content:space-between;cursor:pointer}.ts-work details p{font-size:15px;margin:20px 0}.ts-work details a{font-size:12px;text-decoration:underline}.ts-close{background:var(--accent);position:relative;display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:40px}.ts-close .mono{width:100%;margin:0}.ts-close h2{font-size:clamp(70px,10vw,145px);line-height:.9}.ts-close .button:hover{background:var(--bg)}.site-footer{--footer-bg:#252623;--footer-ink:#efede7}.footer-brand{font-family:'IBM Plex Mono';font-size:clamp(30px,4vw,58px)}.interior .inner-hero h1{font-weight:600}.interior .service-detail h2{font-weight:600}@media(max-width:950px){.ts-hero-grid{gap:35px;grid-template-columns:.8fr 1fr}.ts-workbench>img{height:380px}.ts-path{grid-template-columns:1fr}.ts-statement{grid-template-columns:1fr}.ts-statement>p{grid-column:1}.ts-work{gap:35px}.ts-work h2{font-size:34px}.ts-schematic{justify-content:center}}@media(max-width:650px){.ts-noteline{font-size:8px;gap:20px}.ts-noteline span:last-child{max-width:85px;text-align:right}.ts-hero h1{font-size:58px}.ts-hero-grid{grid-template-columns:1fr;gap:20px;margin-top:35px}.ts-brief{padding:0}.ts-brief>p:not(.micro){font-size:21px;max-width:100%}.tiny-cross{display:none}.ts-brief .micro{margin-top:22px;margin-bottom:5px}.ts-workbench>img{height:330px;object-position:50% 35%}.ts-statement{gap:20px}.ts-statement h2{font-size:41px}.ts-statement>p{font-size:17px}.ts-path-title h2{font-size:39px}.ts-schematic{padding:35px 5px;gap:4px}.ts-schematic span,.ts-schematic b{padding:15px 7px;font-size:8px}.ts-work{grid-template-columns:1fr}.ts-photo img{height:320px}.ts-close h2{font-size:77px}.ts-close .mono{font-size:9px}}

@media(max-width:650px){.ts-close h2{font-size:clamp(44px,11vw,64px)}}
