/* Hexline: a considered trade catalogue, with product drawings as the focal point. */
:root{--ink:#171b1e;--muted:#596067;--orange:#f47421;--orange-dark:#b84306;--paper:#f6f7f6;--line:#d4d8d8;--drawing:#e4e6e5;--sans:'Manrope',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;color-scheme:light;font-size:16px}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6.5rem}
body{margin:0;color:var(--ink);background:var(--paper);font:400 1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
h1,h2,h3,p,figure{margin:0}
h1,h2{font-family:var(--display);font-weight:700;line-height:.94;letter-spacing:-.018em}
h3{font-size:1.25rem;font-weight:700;line-height:1.3}
p{max-width:70ch}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--orange-dark);outline-offset:5px}
.wrap{width:min(1328px,calc(100% - 96px));margin-inline:auto}
.mono,.eyebrow,.hero-audience{font:500 .8125rem/1.5 var(--mono);letter-spacing:.055em}
.eyebrow{text-transform:uppercase}
.skip{position:fixed;top:1rem;left:1rem;padding:1rem;background:var(--ink);color:white;z-index:20;transform:translateY(-200%)}
.skip:focus{transform:none}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:.8rem 1.45rem;font-size:.9375rem;line-height:1.4;font-weight:700;border:1px solid transparent;border-radius:2px;transition:background .18s,color .18s,transform .18s}
.button:hover{transform:translateY(-2px)}
.button-orange{background:var(--orange);color:var(--ink)}
.button-orange:hover{background:#ff8d43}
.button-dark{background:var(--ink);color:white}
.button-dark:hover{background:#363c41}
.button-outline{border-color:var(--line);background:transparent}
.text-link{border-bottom:1px solid currentColor;padding-bottom:3px;font-size:.9375rem;font-weight:600}
.text-link:hover{color:var(--orange-dark)}
.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}
.header-inner{min-height:94px;display:flex;justify-content:space-between;align-items:center;gap:2rem}
.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}
.brand img{width:36px;max-height:43px}
.brand span{font:800 1.6rem/.87 var(--display);letter-spacing:-.015em}
.header-inner nav{display:flex;align-items:center;gap:2.15rem;font-size:.9375rem;font-weight:600}
.header-inner nav>a:not(.button):hover{color:var(--orange-dark)}
.nav-quote{margin-left:.6rem}
.menu-button{display:none}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;padding-block:3.25rem 3.5rem;align-items:stretch}
.hero-copy{padding-block:.75rem 0}
.orange-rule{display:inline-block;width:24px;height:3px;background:var(--orange);vertical-align:middle;margin-right:9px}
.hero h1{font-size:clamp(4rem,7.4vw,7rem);margin:1.45rem 0 1.75rem;line-height:.9}
.hero h1 span{color:var(--orange-dark)}
.hero-description{font-size:1.125rem;line-height:1.65;max-width:32ch}
.hero-audience{margin-top:1.3rem;color:var(--muted);font-size:.75rem}
.actions{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;margin-top:1.65rem}
.hero-note{margin-top:.7rem;color:var(--muted);font-size:.875rem}
.hero-product{display:flex;flex-direction:column;min-width:0;background:var(--drawing);position:relative;border:1px solid var(--line)}
.product-topline{display:flex;justify-content:space-between;padding:1.2rem 1.5rem;border-bottom:1px solid #c7cccc;gap:1rem}
.product-topline .eyebrow{font-size:.75rem}
.hero-product>img{width:100%;flex:1;object-fit:cover;min-height:280px;max-height:414px;mix-blend-mode:multiply}
.hero-product figcaption{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem 1.5rem 1.4rem}
.hero-product figcaption h2{font:600 1.15rem/1.4 var(--sans);letter-spacing:-.03em;margin-top:.25rem}
.render-label{font:400 .75rem/1.4 var(--mono);white-space:nowrap;color:var(--muted)}
.hero-selector{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c7cccc}
.hero-selector button{background:transparent;border:0;border-right:1px solid #c7cccc;min-height:66px;text-align:left;padding:.8rem 1rem;font:400 .75rem/1.4 var(--mono);color:var(--muted)}
.hero-selector button:last-child{border-right:0}
.hero-selector span{display:block;font:600 .875rem/1.5 var(--sans);color:var(--ink);margin-top:.25rem}
.hero-selector button:hover{background:#d7dbd9}
.hero-selector .active{background:var(--ink);color:#ffac70}
.hero-selector .active span{color:#fff}
.proof-rail{border-block:1px solid var(--line);background:#fff}
.proof-inner{display:grid;grid-template-columns:repeat(3,1fr)}
.proof-inner p{padding:1.15rem 0;font-size:.875rem;font-weight:500}
.proof-inner p:nth-child(2){text-align:center}
.proof-inner p:nth-child(3){text-align:right}
.proof-inner span{font:500 .75rem/1 var(--mono);margin-right:.75rem;color:var(--orange-dark)}
.section{padding-block:5.5rem}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:2.5rem}
.section-head h2{font-size:clamp(3rem,5.4vw,5rem);margin-top:.7rem}
.section-head>p{max-width:34ch;color:var(--muted);font-size:1rem;margin-bottom:.3rem}
.preview-parts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.preview-parts>a{min-width:0}
.preview-parts img{width:100%;background:var(--drawing);aspect-ratio:4/3;object-fit:cover;mix-blend-mode:multiply}
.preview-parts .mono{display:block;font-size:.75rem;margin-top:1.15rem;color:var(--muted)}
.preview-parts h3{margin-top:.4rem}
.site-footer{background:var(--ink);color:#fff;padding-block:3rem}
.site-footer p{margin-top:1.5rem;color:#c8cccf}
.site-footer .mono{font-size:.75rem}
.site-footer .brand img{width:36px}

@media(min-width:1550px){.hero h1{font-size:7.6rem}
.hero-product>img{max-height:450px}
}

@media(max-width:1000px){.wrap{width:calc(100% - 48px)}
.header-inner nav{gap:1.2rem}
.hero{gap:2rem}
.hero h1{font-size:clamp(3.8rem,8vw,5.75rem)}
.hero-product>img{min-height:240px}
.hero-selector button{padding:.7rem}
.proof-inner p{font-size:.8rem}
.proof-inner span{margin-right:.35rem}
}

@media(max-width:760px){html{scroll-padding-top:5rem}
.wrap{width:calc(100% - 36px)}
.header-inner{min-height:76px;gap:1rem}
.brand span{font-size:1.45rem}
.brand img{width:30px}
.menu-button{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.5rem .8rem;border:1px solid var(--line);background:transparent;font-size:.875rem}
.menu-button span{font-size:1.5rem;line-height:1}
.header-inner nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:1rem 18px;border-bottom:1px solid var(--line)}
.header-inner nav.open{display:flex}
.header-inner nav a{padding:1rem}
.nav-quote{margin:0}
.hero{grid-template-columns:1fr;gap:2rem;padding-block:2.25rem}
.hero h1{font-size:clamp(3.7rem,13.9vw,6.25rem);margin-top:1.2rem}
.hero-description{max-width:38ch}
.hero-product>img{min-height:0;max-height:none;aspect-ratio:4/3}
.hero-audience{font-size:.6875rem;letter-spacing:.02em}
.proof-inner{grid-template-columns:1fr}
.proof-inner p,.proof-inner p:nth-child(2),.proof-inner p:nth-child(3){text-align:left;padding:.85rem 0;font-size:.875rem;border-bottom:1px solid var(--line)}
.proof-inner p:last-child{border:0}
.proof-inner span{margin-right:.75rem}
.section{padding-block:3.5rem}
.section-head{display:block;margin-bottom:2rem}
.section-head h2{font-size:3.5rem}
.section-head>p{margin-top:1.25rem;max-width:40ch}
.preview-parts{grid-template-columns:1fr;gap:2rem}
.preview-parts img{max-height:340px}
.product-topline{padding:1rem}
.hero-product figcaption{padding:1rem}
.hero-selector span{font-size:.8125rem}
.actions{gap:1.25rem}
.site-footer{padding-block:2.5rem}
}

.hero-drawing{overflow:hidden;flex:1;display:grid;place-items:center;min-height:300px;max-height:350px;background:var(--drawing)}
.hero-drawing img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transform:scale(1.22)}
.hero-description{max-width:38ch}
.hero h1{font-size:clamp(3.8rem,7vw,6.65rem)}
.section-intro{max-width:38ch;color:var(--muted)}
.section-intro .text-link{display:inline-block;margin-top:1.2rem;color:var(--ink)}
.part-drawing{position:relative;overflow:hidden;background:var(--drawing)}
.part-drawing .render-label{position:absolute;bottom:.7rem;right:.9rem}
.preview-parts>a:hover h3{color:var(--orange-dark)}
.preview-parts p{font-size:.9375rem;color:var(--muted);margin-top:.75rem}
.family-index{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:2.75rem}
.family-index a{display:flex;align-items:center;gap:.8rem;padding:1.2rem 0;border-bottom:1px solid var(--line);font-weight:600;font-size:.9375rem}
.family-index a:nth-child(odd){margin-right:2rem}
.family-index a:hover{color:var(--orange-dark)}
.family-index .mono{color:var(--orange-dark)}
.family-index .count{margin-left:auto;font:400 .75rem/1.4 var(--mono);color:var(--muted)}
.small-note{font-size:.8125rem;line-height:1.65;color:var(--muted)}
.small-note a{border-bottom:1px solid currentColor}
.section>.small-note{margin-top:1.25rem}
.custom-section{background:var(--ink);color:#f6f7f6;padding-block:5.5rem}
.custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}
.custom-section .eyebrow{color:#ffab72}
.custom-copy h2{font-size:clamp(3.5rem,5.8vw,5.25rem);margin:1rem 0 1.75rem}
.custom-copy>p:not(.eyebrow){color:#c9cdcf;max-width:43ch;margin-top:1rem}
.custom-copy .button{margin-top:2rem}
.file-note{padding-top:1.5rem;margin-top:2.5rem;border-top:1px solid #42484c;color:#c9cdcf}
.file-note p{font-size:.875rem;margin-top:.5rem}
.file-note .mono{font-size:.75rem;color:#ffab72}
.process{padding:0;margin:0;list-style:none}
.process li{display:grid;grid-template-columns:3.5rem 1fr;gap:1rem;padding-block:2rem;border-bottom:1px solid #42484c}
.process li:first-child{padding-top:.5rem}
.process li:last-child{border:0}
.step-number{font:600 2.5rem/1 var(--display);color:#ffab72}
.process h3{font-size:1.6rem}
.process p{color:#c9cdcf;margin-top:.75rem;font-size:.9375rem}
.materials-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem}
.material-table{border-top:1px solid var(--line)}
.material-table>div{display:grid;grid-template-columns:10rem 1fr;gap:1.5rem;align-items:baseline;border-bottom:1px solid var(--line);padding:1.3rem 0}
.material-table h3{font-size:1rem}
.material-table p{font-size:.9375rem;color:var(--muted)}
.material-brief{padding:2rem;background:#e9edea;border:1px solid var(--line)}
.material-brief h3{font-size:1.5rem;margin-top:.75rem}
.environment-controls{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0}
.environment-controls button,.catalogue-filters button{border:1px solid #aab3ae;padding:.7rem .9rem;min-height:46px;background:transparent;font-size:.875rem;font-weight:600;border-radius:2px}
.environment-controls button:hover,.catalogue-filters button:hover{background:#dde2de}
.environment-controls .active,.catalogue-filters .active{background:var(--ink);border-color:var(--ink);color:white}
.material-brief #material-guidance{min-height:116px;font-size:.9375rem}
.material-brief .text-link{display:inline-block;margin-top:1rem}
.material-brief .small-note{margin-top:1.5rem}
.about-section{background:#fff;border-block:1px solid var(--line);padding-block:5.5rem}
.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem}
.about-grid h2{font-size:clamp(3.5rem,5.5vw,4.75rem);margin-top:1rem}
.about-copy .lead{font-size:1.375rem;line-height:1.6;letter-spacing:-.03em}
.about-copy>p+p{margin-top:1.5rem;color:var(--muted)}
.shop-facts{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}
.shop-facts .mono{display:block;font-size:.75rem;color:var(--muted);margin-bottom:.4rem}
.shop-facts strong{font-weight:600}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}
.faq-grid h2{font-size:clamp(3rem,4.8vw,4.25rem);margin:1rem 0 1.5rem}
.faq-grid>div>p:not(.eyebrow){font-size:.9375rem;color:var(--muted)}
.faq-list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;list-style:none;cursor:pointer;font-weight:600;padding:1.4rem 0;line-height:1.5}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';font:400 1.5rem/1 var(--sans);color:var(--muted)}
details[open]>summary::after{content:'−'}
details p{padding-bottom:1.5rem;font-size:.9375rem;color:var(--muted)}
details a{border-bottom:1px solid currentColor}
.request-section{background:#e9edea;border-top:1px solid var(--line);padding-block:5.5rem}
.request-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:5rem}
.request-copy h2{font-size:clamp(3.5rem,5.8vw,5.25rem);margin:1rem 0 1.75rem}
.request-copy>p:not(.eyebrow){max-width:35ch}
.request-timing{font-size:.9375rem;color:var(--muted);margin-top:1.25rem}
.contact-list{margin-top:2rem}
.contact-list a{display:block;padding-block:1.2rem;border-top:1px solid #c6ceca}
.contact-list .mono{display:block;font-size:.75rem;color:var(--muted);margin-bottom:.35rem}
.contact-list a>span:not(.mono):not(.phone-hours){font-size:1rem;font-weight:600}
.contact-list a:hover>span:not(.mono):not(.phone-hours){color:var(--orange-dark)}
.phone-hours{display:block;font-size:.8125rem;font-weight:400;line-height:1.55;color:var(--muted)}
.contact-list .phone-hours{margin-top:.45rem}
.request-form{background:#fff;border:1px solid #c8cecb;padding:2rem}
.form-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.form-heading h3{font-size:1.4rem}
.form-heading .mono{font-size:.6875rem;color:var(--muted)}
.request-form label{display:block;font-size:.875rem;font-weight:600;margin-bottom:1rem}
.request-form label span{font-weight:400;color:var(--muted);font-size:.8125rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
input,textarea,select{display:block;width:100%;border:1px solid #adb5b0;border-radius:2px;min-height:46px;margin-top:.4rem;padding:.7rem .75rem;font-size:1rem;font-weight:400;background:white;color:var(--ink)}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{color:#68716b;opacity:1;font-size:.875rem}
input[type=file]{font-size:.8125rem;min-height:44px;border:0;padding:.3rem 0;overflow:hidden}
input[type=file]::file-selector-button{font:600 .8125rem var(--sans);padding:.65rem .8rem;margin-right:.75rem;border:1px solid #adb5b0;background:var(--paper);color:var(--ink);border-radius:2px}
.file-field{margin-bottom:0!important}
.request-form>.button{width:100%;margin-top:1.25rem}
.request-form>.small-note:last-of-type{margin-top:.75rem}
.form-error{font-size:.875rem;color:#a62016;margin-top:1rem}
dialog{border:1px solid var(--line);padding:0;width:min(630px,calc(100% - 32px));max-height:90vh;color:var(--ink);background:#fff;border-radius:2px}
dialog::backdrop{background:rgba(15,21,18,.6)}
.dialog-inner{padding:2rem}
.dialog-close{display:block;margin:0 0 1rem auto;min-height:44px;background:none;border:1px solid var(--line);padding:.5rem .8rem;font-size:.875rem}
.dialog-inner h2{font-size:3.4rem;margin-block:.75rem 1rem}
.dialog-inner>p{font-size:.9375rem}
#request-summary{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);padding:1rem;font:400 .875rem/1.7 var(--mono);margin-block:1.5rem}
#copy-status{margin-top:1rem;min-height:1.5em}
.footer-grid{display:grid;grid-template-columns:1.65fr 1fr 1fr 1.2fr;gap:2rem}
.site-footer nav,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;font-size:.875rem}
.site-footer nav>.mono,.footer-contact>.mono{color:#ffab72;margin-bottom:.5rem;font-size:.75rem}
.site-footer a:hover{color:#ffab72}
.footer-bottom{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid #42484c;padding-top:1.5rem;margin-top:3rem;font-size:.75rem;color:#c8cccf}
.footer-contact>span:last-child{color:#c8cccf}
.site-footer .phone-hours{margin-top:.35rem;color:#c8cccf}
.catalogue-hero{padding-block:3.5rem 2.5rem}
.catalogue-hero h1{font-size:clamp(4rem,7vw,6rem);margin-top:1rem}
.catalogue-hero>p:not(.eyebrow){margin-top:1.5rem;color:var(--muted);max-width:60ch}
.catalogue-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-block:1.5rem;border-block:1px solid var(--line);margin-bottom:2rem}
.catalogue-filters{display:flex;gap:.5rem;flex-wrap:wrap}
.catalogue-count{font-size:.8125rem;color:var(--muted)}
.catalogue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 1.4rem}
.catalogue-card{min-width:0;border-bottom:1px solid var(--line);padding-bottom:1.5rem;display:flex;flex-direction:column}
.catalogue-card[hidden]{display:none}
.catalogue-card .part-drawing>img{aspect-ratio:4/3;object-fit:cover;mix-blend-mode:multiply}
.catalogue-card>.mono{font-size:.75rem;color:var(--muted);margin-top:1rem}
.catalogue-card h2{font:700 1.2rem/1.4 var(--sans);margin:.5rem 0 .65rem;letter-spacing:-.02em}
.catalogue-card>p{font-size:.9375rem;color:var(--muted)}
.catalogue-card details{margin-top:1rem}
.catalogue-card summary{padding:.6rem 0;font-size:.8125rem}
.catalogue-card details p{font-size:.8125rem;padding-bottom:.75rem}
.camera-bracket{scroll-margin-top:7rem}
.catalogue-card .brand-note{font-size:.75rem;line-height:1.6;margin-top:.75rem}
.camera-example figure{margin:0 0 .75rem}
.camera-example img{display:block;width:100%;height:auto;background:var(--drawing)}
.camera-example figcaption{font-size:.8125rem;line-height:1.6;color:var(--muted);padding-top:.75rem}
.camera-example figcaption strong{display:block;color:var(--ink);margin-bottom:.35rem}
.camera-example figcaption a{border-bottom:1px solid currentColor}
.card-price{display:flex;align-items:baseline;gap:.4rem;font:600 1.25rem/1.4 var(--sans);padding-top:1.1rem;margin-top:auto}
.card-price span{font-weight:400;font-size:.8125rem;color:var(--muted)}
.catalogue-card .text-link{align-self:flex-start;margin-top:.8rem;font-size:.875rem}
.catalogue-bottom{background:var(--ink);color:white;padding:2rem;margin-block:3rem}
.catalogue-bottom h2{font-size:3rem}
.catalogue-bottom p{margin-top:1rem;color:#c8cccf}
.catalogue-bottom .button{margin-top:1.5rem}
.legal-page{max-width:860px;padding-block:3.5rem 5rem}
.legal-page h1{font-size:clamp(3.5rem,7vw,5.5rem);margin-top:.75rem}
.legal-page h2{font:700 1.5rem/1.4 var(--sans);margin-top:2.5rem;letter-spacing:-.03em}
.legal-page p{margin-top:1rem}
.legal-page ul{padding-left:1.4rem}
.legal-page li{padding-block:.3rem}
.legal-page a{border-bottom:1px solid currentColor}
.legal-page .updated{font-size:.875rem;color:var(--muted)}
.policy-preview{border-left:3px solid var(--orange);padding:1rem;background:#e9edea;font-size:.875rem;margin-top:2rem}

@media(max-width:1100px){.custom-grid,.about-grid,.request-grid,.faq-grid{gap:3rem}
.materials-grid{gap:2.5rem}
.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:2rem}
.footer-contact{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:1.25rem}
.footer-contact>.mono{width:100%}
.request-form{padding:1.5rem}
.hero-drawing{min-height:300px;max-height:360px}
.hero h1{font-size:clamp(3.8rem,7.8vw,6rem)}
}

@media(max-width:760px){.hero h1{font-size:clamp(3.65rem,13.5vw,6.25rem)}
.hero-drawing{min-height:0;max-height:none;aspect-ratio:4/3}
.section-intro{margin-top:1.25rem}
.family-index{grid-template-columns:1fr}
.family-index a:nth-child(odd){margin-right:0}
.family-index a{font-size:.875rem}
.family-index .count{font-size:.6875rem}
.custom-section,.about-section,.request-section{padding-block:3.5rem}
.custom-grid,.about-grid,.request-grid,.faq-grid,.materials-grid{grid-template-columns:1fr;gap:2.5rem}
.custom-copy h2,.about-grid h2,.request-copy h2{font-size:3.6rem}
.custom-copy>p:not(.eyebrow){max-width:40ch}
.process li:first-child{padding-top:1.5rem;border-top:1px solid #42484c}
.process li{padding-block:1.5rem}
.process h3{font-size:1.3rem}
.file-note{margin-top:2rem}
.material-table>div{grid-template-columns:8.5rem 1fr;gap:1rem}
.material-brief{padding:1.5rem}
.material-brief #material-guidance{min-height:0}
.about-copy .lead{font-size:1.2rem}
.shop-facts{gap:1.5rem 1rem}
.faq-grid h2{font-size:3.5rem}
.request-form{padding:1.25rem}
.form-heading{display:block}
.form-heading .mono{display:block;margin-top:.35rem}
.form-row{grid-template-columns:1fr;gap:0}
.contact-list a>span:not(.mono):not(.phone-hours){font-size:.9375rem;overflow-wrap:anywhere}
.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem}
.footer-grid>div:first-child{grid-column:1/-1}
.footer-contact{flex-direction:column;gap:.6rem}
.footer-bottom{display:block;margin-top:2rem}
.footer-bottom>span{display:block;margin-top:.5rem}
.catalogue-grid{grid-template-columns:1fr}
.catalogue-hero{padding-top:2.5rem}
.catalogue-hero h1{font-size:3.75rem}
.catalogue-filters button{font-size:.8125rem;padding:.65rem .8rem}
.catalogue-bottom{padding:1.5rem}
.catalogue-bottom h2{font-size:2.8rem}
.dialog-inner{padding:1.25rem}
.dialog-inner h2{font-size:2.8rem}
.dialog-inner .actions{gap:.75rem}
.catalogue-card h2{font-size:1.2rem}
.legal-page{padding-block:2.5rem 3.5rem}
.hero-selector span{font-size:.8125rem}
}

@media(min-width:761px) and (max-width:1000px){.catalogue-grid{grid-template-columns:1fr 1fr}
.request-grid{grid-template-columns:1fr}
.request-copy h2 br{display:none}
.request-copy>p{max-width:60ch}
.contact-list{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
}

:root[data-size=large]{font-size:19px}
:root[data-size=larger]{font-size:22px}
:root[data-contrast=high]{--ink:#000;--muted:#222;--orange:#ff963f;--orange-dark:#913003;--paper:#fff;--line:#777;--drawing:#eceeec}
.display-options{max-width:300px;margin-top:1.2rem;border-color:#626a6e}
.display-options summary{font-size:.8125rem;padding:.75rem 0;color:#c8cccf}
.display-options summary::after{color:#c8cccf}
.display-controls{display:flex;gap:1rem;padding-bottom:1rem;flex-wrap:wrap}
.display-controls label{font-size:.8125rem;color:#c8cccf;min-width:100px}
.display-controls select{font-size:.875rem;min-height:44px}
.hero-audience{font-size:.8125rem}
.family-index .count{font-size:.8125rem}
.form-heading .mono{font-size:.75rem}
.catalogue-filters button{font-size:.8755rem}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{transition:none!important;animation:none!important}
}

/* Second study: a catalogue spread, workshop sequence, and useful part index. */
:root{--paper:#f6f5f1;--line:#d6d6cf;--drawing:#e4e6e5}
.running-head{display:flex;justify-content:space-between;gap:1.5rem;padding-top:1.25rem;font:500 .6875rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.065em;color:var(--muted)}
.hero{padding-top:2.15rem;grid-template-columns:1.05fr .95fr;gap:3.25rem}
.hero h1{font-size:clamp(3.8rem,6.8vw,6.5rem);letter-spacing:-.012em;margin-bottom:1.9rem}
.hero-product{align-self:stretch;border-color:#c3c8c5}
.hero-drawing{min-height:290px;max-height:345px}
.hero-drawing img{transform:scale(1.08);object-fit:cover}
.product-topline{padding-block:1rem}
.hero-product figcaption{padding-block:1rem 1.2rem}
.product-topline .eyebrow,.hero-sku{letter-spacing:.035em}
.proof-rail{background:transparent}
.proof-inner p{padding-block:1.25rem}
.section{padding-block:6.5rem}
.section-head{margin-bottom:3rem}
.parts-spread{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:1.5rem 2.25rem}
.part-study{min-width:0;border-bottom:1px solid var(--line);padding-bottom:1.5rem}
.part-study-main{grid-row:1/3;background:#fff;border:1px solid var(--line);padding:0}
.study-topline{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1.4rem;border-bottom:1px solid var(--line)}
.study-topline .mono{font-size:.75rem;color:var(--muted)}
.part-study-main .part-drawing img{width:100%;aspect-ratio:1.6;object-fit:cover;mix-blend-mode:multiply}
.part-study-main .study-copy{padding:1.5rem 1.6rem 1.7rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.25rem}
.part-study-main h3{font:600 2.55rem/1.05 var(--display);letter-spacing:-.01em;margin-top:.6rem}
.study-copy .eyebrow,.study-copy>.mono{font-size:.75rem;color:var(--muted);letter-spacing:.035em}
.study-copy p{font-size:.9375rem;color:var(--muted);margin-top:.85rem;max-width:48ch}
.study-link{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem;font-weight:600;margin-top:1rem}
.study-link>span{font-size:1.5rem;line-height:1;color:var(--orange-dark);transition:transform .18s}
.part-study:hover .study-link>span{transform:translate(2px,-2px)}
.part-study:hover h3{color:var(--orange-dark)}
.part-study-side{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.35rem;align-items:stretch}
.part-study-side .part-drawing{display:flex;align-items:center;min-height:180px}
.part-study-side .part-drawing img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;mix-blend-mode:multiply}
.part-study-side .study-copy{display:flex;flex-direction:column;justify-content:center;padding-block:.4rem}
.part-study-side h3{font-size:1.2rem;line-height:1.3;margin-top:.65rem;letter-spacing:-.035em}
.part-study-side .study-copy p{font-size:.875rem}
.part-study-side .study-link{margin-top:1.3rem}
.part-study-side .render-label{font-size:.625rem;right:.65rem;bottom:.6rem}
.family-guide{display:grid;grid-template-columns:.65fr 1.35fr;gap:4rem;padding-top:3.25rem;margin-top:3.25rem;border-top:1px solid var(--line)}
.family-guide h3{font:600 2.75rem/.98 var(--display);letter-spacing:-.01em;margin-top:.8rem}
.family-guide>div>p:last-child{font-size:.9375rem;color:var(--muted);margin-top:1.2rem}
.family-index{display:block;margin:0;border-top:0}
.family-index a,.family-index a:nth-child(odd){display:grid;grid-template-columns:3.5rem 1fr auto 1.5rem;gap:1.15rem;margin:0;padding:1.05rem 0;align-items:center}
.family-index a:first-child{border-top:1px solid var(--line)}
.family-number{font:600 2.4rem/1 var(--display);color:var(--orange-dark)}
.family-index .count{font-size:.75rem;margin:0;white-space:nowrap}
.family-arrow{color:var(--orange-dark);font-size:1.4rem;line-height:1}
.custom-section{padding-block:5.5rem}
.custom-opening{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:start}
.custom-title h2{font-size:clamp(3.5rem,5.8vw,5.25rem);margin-top:1rem}
.custom-details p{color:#c9cdcf;max-width:46ch}
.custom-details p+p{margin-top:1rem}
.custom-details .button{margin-top:1.75rem}
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:2.75rem;margin-top:3.5rem}
.process li,.process li:first-child,.process li:last-child{display:block;border:0;border-top:1px solid #51575a;padding-top:1.4rem;padding-bottom:0}
.step-number{display:block;font:600 4.5rem/1 var(--display);color:#ffab72;margin-bottom:1rem}
.process h3{font-size:1.3rem;letter-spacing:-.025em}
.process p{font-size:.9375rem;line-height:1.7}
.file-note{display:flex;align-items:baseline;gap:2.5rem;border-top:1px solid #42484c;padding-top:1.4rem;margin-top:3rem}
.file-note p{margin:0;font-size:.875rem}
.file-note .mono{font-size:.6875rem}
.material-table>div{grid-template-columns:11rem 1fr;padding-block:1.5rem}
.material-table h3{font:600 1.9rem/1.05 var(--display);letter-spacing:-.01em}
.material-brief{background:#fff;border-top:3px solid var(--ink);padding:2rem}
.about-section{padding-block:5.5rem}
.about-copy .lead{font-size:1.55rem;line-height:1.5}
.request-form{border:0;border-top:3px solid var(--ink);padding:2rem 2.2rem}
.request-form fieldset{min-width:0;margin:0 0 1.6rem;padding:1.3rem 0 0;border:0;border-top:1px solid var(--line)}
.request-form fieldset:last-of-type{margin-bottom:.25rem}
.request-form legend{padding-right:1rem;font:600 .8125rem/1.5 var(--sans)}
.request-form legend span{font:500 .75rem/1.5 var(--mono);color:var(--orange-dark);margin-right:.6rem}
.request-form fieldset .small-note{font-size:.75rem}
.request-form label:last-child{margin-bottom:0}
.footer-signature{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;border-bottom:1px solid #42484c;padding-bottom:2.2rem;margin-bottom:2.75rem}
.footer-signature>span{font:700 clamp(2.75rem,6.9vw,6.8rem)/.85 var(--display);letter-spacing:-.025em}
.footer-signature p{margin:0;font:400 .6875rem/1.7 var(--mono);letter-spacing:.04em;color:#c8cccf}
.catalogue-toolbar{align-items:center;gap:1rem;padding-block:1.15rem;margin-bottom:2.5rem}
.catalogue-filters{gap:0;flex:1}
.catalogue-filters button{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:0;border-bottom:2px solid transparent;border-radius:0;min-height:48px;padding:.8rem 1rem;font-size:.875rem}
.catalogue-filters .active{background:transparent;border-color:var(--orange-dark);color:var(--ink)}
.catalogue-filters .filter-count{font:400 .6875rem/1.5 var(--mono);color:var(--muted)}
.catalogue-count{font-size:.6875rem}
.catalogue-grid{gap:3rem 2rem}
.catalogue-card{padding-bottom:1.65rem}
.catalogue-card>.mono{letter-spacing:.07em;margin-top:1.25rem}
.catalogue-card .part-drawing{border:1px solid #cbd0cc}
.catalogue-card h2{font-size:1.25rem;letter-spacing:-.025em}
@media(min-width:1001px){.request-copy{position:sticky;top:8rem;align-self:start}}
@media(min-width:761px) and (max-width:1100px){
  .parts-spread{grid-template-columns:1.1fr 1fr;gap:1.5rem}
  .part-study-side{grid-template-columns:1fr;gap:.75rem}
  .part-study-side .part-drawing{min-height:0;max-height:180px}
  .part-study-side .part-drawing img{aspect-ratio:1.8}
  .part-study-side h3 br{display:none}
  .part-study-side .study-copy p{display:none}
  .part-study-main .study-copy{padding:1.35rem}
  .part-study-main h3{font-size:2.2rem}
  .family-guide{grid-template-columns:.7fr 1.3fr;gap:2rem}
  .custom-opening{gap:3rem}
  .process{gap:1.75rem}
  .catalogue-count{flex-basis:100%;margin-top:.4rem}
}
@media(max-width:760px){
  .running-head{padding-top:1rem;font-size:.625rem;letter-spacing:.03em}
  .running-head>span:last-child{display:none}
  .hero{grid-template-columns:1fr;padding-top:1.3rem;gap:2rem}
  .hero h1{font-size:clamp(3.5rem,13.1vw,6.25rem);margin-block:1.3rem 1.6rem}
  .hero-drawing{min-height:0;max-height:none;aspect-ratio:4/3}
  .hero-drawing img{transform:none}
  .hero-product{width:100%}
  .section{padding-block:3.75rem}
  .section-head{margin-bottom:2rem}
  .section-head h2{font-size:clamp(2.5rem,15vw,3.5rem)}
  .parts-spread{grid-template-columns:1fr;grid-template-rows:auto;gap:2rem}
  .part-study-main{grid-row:auto}
  .part-study-main .part-drawing img{aspect-ratio:4/3}
  .part-study-main .study-copy{padding:1.25rem}
  .part-study-main h3{font-size:2.35rem}
  .study-topline{padding:.85rem 1.25rem}
  .part-study-side{grid-template-columns:.85fr 1.15fr;gap:1.2rem}
  .part-study-side .part-drawing{min-height:160px}
  .part-study-side .study-copy p{display:none}
  .part-study-side h3{font-size:1.0625rem;line-height:1.45;letter-spacing:-.025em}
  .part-study-side h3 br{display:none}
  .part-study-side .study-link{font-size:.8125rem;margin-top:1.1rem}
  .part-study-side .study-copy>.mono{font-size:.625rem;letter-spacing:0}
  .family-guide{grid-template-columns:1fr;gap:2rem;padding-top:2.4rem;margin-top:2.4rem}
  .family-guide h3{font-size:2.75rem}
  .family-index a,.family-index a:nth-child(odd){grid-template-columns:2.5rem 1fr 1.2rem;gap:.8rem;padding-block:1rem;font-size:.875rem}
  .family-index a>.count{grid-column:2;grid-row:auto;margin-top:-.35rem;font-size:.75rem}
  .family-number{font-size:2.1rem;grid-column:1;grid-row:1/3}
  .family-index a{position:relative}
  .family-arrow{grid-column:3;grid-row:1/3;font-size:1.2rem}
  .custom-section,.about-section,.request-section{padding-block:3.75rem}
  .custom-opening{grid-template-columns:1fr;gap:1.8rem}
  .custom-title h2{font-size:3.6rem}
  .custom-details p{font-size:.9375rem}
  .process{grid-template-columns:1fr;gap:2rem;margin-top:2.75rem}
  .process li,.process li:first-child,.process li:last-child{display:grid;grid-template-columns:3.5rem 1fr;gap:.75rem 1.15rem;padding-top:1.4rem}
  .step-number{grid-row:1/3;font-size:3.2rem;margin:0}
  .process h3{font-size:1.25rem;align-self:center}
  .process p{grid-column:2;margin:0;font-size:.875rem}
  .file-note{display:block;margin-top:2.5rem;padding-top:1.25rem}
  .file-note p{margin-top:.5rem}
  .material-table>div{grid-template-columns:7.75rem 1fr;gap:1.25rem;padding-block:1.3rem}
  .material-table h3{font-size:1.65rem}
  .material-brief{padding:1.5rem}
  .about-copy .lead{font-size:1.25rem}
  .request-form{padding:1.4rem 1.25rem}
  .request-form fieldset{margin-bottom:1.5rem;padding-top:1.1rem}
  .request-form legend{font-size:.8125rem}
  .footer-signature{display:block;margin-bottom:2rem;padding-bottom:1.75rem}
  .footer-signature>span{font-size:clamp(2.75rem,12.8vw,5rem);line-height:.9;display:block}
  .footer-signature p{margin-top:1.2rem;font-size:.625rem}
  .catalogue-filters{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:.3rem}
  .catalogue-filters button{justify-content:space-between;font-size:.8125rem;padding:.7rem .6rem;background:#eeeee8;border-bottom-color:#e0e0d8}
  .catalogue-filters .active{background:var(--ink);color:#fff;border-color:var(--ink)}
  .catalogue-filters .active .filter-count{color:#ffab72}
  .catalogue-count{width:100%;font-size:.75rem}
  .catalogue-hero h1{font-size:clamp(2rem,13.5vw,3.75rem)}
  .catalogue-grid{gap:2.5rem}
}
@media(max-width:360px){
  .hero-audience{font-size:.6875rem;letter-spacing:0}
  .part-study-side{gap:.9rem}
  .part-study-side h3{font-size:1rem}
}
@media(max-width:480px){
  :root[data-size=large] .catalogue-filters,
  :root[data-size=larger] .catalogue-filters{grid-template-columns:1fr}
  :root[data-size=large] .material-table>div,
  :root[data-size=larger] .material-table>div{grid-template-columns:1fr;gap:.5rem}
}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.button:disabled,.dialog-close:disabled{opacity:.65;cursor:wait}
.utility-page{max-width:860px;padding-block:5rem 6rem}
.utility-page h1{font-size:clamp(2.8rem,7vw,5.6rem);line-height:.94;margin:1.4rem 0 2rem}
.utility-page p:not(.eyebrow){max-width:660px;margin-bottom:1.5rem}
.utility-page .lead{font-size:1.25rem}
.utility-page .actions{margin-top:2rem}
