.mat-page main{max-width:1600px;margin:auto}
.mat-page h1{font-size:clamp(3rem,6vw,6.5rem);line-height:1.02;letter-spacing:-.055em;margin:0}
.mat-page h2{font-size:clamp(2.3rem,4vw,4.5rem);line-height:1.08;margin:0 0 1.5rem}
.mat-page h3{font-weight:450;margin:0}
.mat-page p{line-height:1.7}
.mat-page [aria-current="page"]{border-bottom:1px solid currentColor}
.mat-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:6vw;align-items:end;padding:6rem 5vw 4rem}
.mat-intro>p{font-size:1.125rem;color:var(--muted);max-width:32rem}
.mat-index{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin:0 5vw;padding:1.5rem 0;border-block:1px solid var(--line);font-size:.875rem}
.mat-index a:hover{text-decoration:underline;text-underline-offset:5px}
.mat-section{padding:5rem 5vw;scroll-margin-top:85px}
.tinted{background:var(--bone)}
.mat-page .section-heading{display:block;max-width:43rem;margin-bottom:3rem;min-width:0}
.mat-page .section-heading>p:not(.eyebrow){color:var(--muted);max-width:36rem;font-size:1rem}
.fibre-columns{display:grid;grid-template-columns:1fr 1fr;gap:5vw}
.group-label{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:1rem}
.fibre-row{padding:1.35rem 0;border-bottom:1px solid var(--line)}
.fibre-row h3{font-size:1.3rem}
.fibre-row p{color:var(--muted);margin:.5rem 0 0;max-width:34rem}
.mat-note{font-size:.875rem;color:var(--muted);max-width:62rem;margin:1.5rem 0 0}
.yarn-gallery{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.yarn-gallery figure{margin:0;min-width:0}
.yarn-gallery img{aspect-ratio:3/2;height:auto;object-fit:cover}
.yarn-gallery figcaption{padding:1.2rem 0}
.yarn-gallery h3{font-size:1.35rem}
.yarn-gallery figcaption p{font-size:.875rem;color:var(--muted);margin:.4rem 0}
.directory-title{font-size:1rem;margin:2rem 0 1rem!important}
.mill-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2rem}
.mill-list li{padding:1rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.local-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:5vw;align-items:start}
.local-section .section-heading{margin-bottom:0}
.local-section .section-heading .eyebrow{max-width:25rem;font-size:.8rem;letter-spacing:.12em}
.local-section h2{font-size:clamp(2.3rem,3.2vw,3.5rem);line-height:1.12}
.local-section .mill-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem;border-top:1px solid var(--line)}
.local-section .mill-list li{padding:1.35rem 0;min-width:0}
.local-section .mill-list h3{font-size:1rem;line-height:1.5}
.local-section .yarn-focus{font-size:.875rem;color:var(--muted);margin:.4rem 0 0}
.mat-contact{padding:6rem 5vw;text-align:center;display:flex;flex-direction:column;align-items:center}
.mat-contact>p{max-width:43rem;color:var(--muted)}
.mat-contact .mat-note{margin:.5rem 0 1.7rem}
.mat-contact .text-link{margin-top:1.7rem}
@media(max-width:900px){.mat-intro,.local-section{grid-template-columns:minmax(0,1fr);gap:2rem}.mat-intro,.mat-section,.mat-contact{padding:4rem 1.25rem}.mat-index{margin-inline:1.25rem}.mill-list{grid-template-columns:1fr 1fr}.section-heading{margin-bottom:2rem}}
@media(max-width:600px){.fibre-columns,.yarn-gallery{grid-template-columns:minmax(0,1fr);gap:2rem}.mill-list,.local-section .mill-list{grid-template-columns:minmax(0,1fr)}.mat-intro h1{font-size:clamp(2.75rem,11vw,3.8rem)}.mat-contact .button{width:auto}}
