*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:#353535;background:#fafafa;font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}a:focus-visible{outline:3px solid #806000;outline-offset:5px}.wrap{max-width:1120px;margin:auto;padding:0 24px}header{background:white;border-bottom:1px solid #dedede}.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px}.bar>a:last-child{font-size:.85rem}.brand{font-size:1.8rem;letter-spacing:-1px;font-weight:850;text-decoration:none}.brand span{display:block;font-size:.55rem;letter-spacing:2px;font-weight:650}.intro{padding:64px 0 48px;max-width:820px}.eyebrow{font-size:.75rem;letter-spacing:2px;font-weight:700;color:#626262}h1{font-size:clamp(2.5rem,6vw,4.5rem);letter-spacing:-2px;line-height:1.1;margin:20px 0 24px}.intro>p:not(.eyebrow){font-size:1.25rem}.intro .lead{font-size:1rem!important;max-width:650px;color:#626262}nav{display:flex;gap:12px;margin-top:32px}nav a{border:1px solid #c9c9c9;padding:10px 18px;text-decoration:none;border-radius:3px;font-weight:600}nav span{margin-left:22px;color:#626262}.category{margin-bottom:48px}.section-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #353535;padding-bottom:14px;gap:16px}.section-head h2{font-size:1.7rem;margin:0}.section-head>span{font-size:.85rem;color:#626262}.documents{list-style:none;padding:0;margin:0}.documents li{display:flex;align-items:center;gap:22px;padding:24px 4px;border-bottom:1px solid #dedede}.code{display:grid;place-items:center;align-self:flex-start;flex-shrink:0;width:44px;height:32px;line-height:1;background:#fff3cf;color:#353535;font-weight:750;font-size:.9rem;border-radius:4px}.details{flex:1}.details h3{font-size:1rem;font-weight:650;margin:0 0 4px}.details p{font-size:.8rem;color:#626262;margin:0}.document-link{display:inline-flex;align-items:center;gap:12px;min-height:48px;flex-shrink:0;font-size:.85rem;font-weight:650;padding:8px 10px 8px 16px;border:1px solid #c9c9c9;border-radius:3px;text-decoration:none;background:white}.document-action-icon{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#feb400;color:#252525}.document-action-icon svg{display:block}nav a:hover{background:#fff3cf}footer{background:#353535;color:#fff;padding:28px 0}footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:.8rem}footer span{color:#dedede}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:2}.skip:focus{top:12px}.error{max-width:800px;margin:10vh auto;padding:24px}.error h1{font-size:2rem}@media(max-width:600px){.wrap{padding:0 20px}.bar{min-height:88px;gap:12px}.brand{font-size:1.5rem}.bar>a:last-child{font-size:.75rem}.intro{padding:40px 0 36px}.documents li{flex-wrap:wrap;gap:14px;padding:20px 0}.details{flex-basis:calc(100% - 66px)}.document-link{margin-left:66px;min-height:44px}.section-head h2{font-size:1.5rem}footer .wrap{flex-direction:column;gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Palette rilevata sul sito TECNSTIL il 23/10/2026: #feb400 e #353535. */
header{border-top:5px solid #feb400}.brand{display:block;line-height:0}.brand img{display:block;width:180px;height:auto}.bar{min-height:112px}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:28px;height:4px;background:#feb400}nav a{background:#fff}nav a:hover{border-color:#806000}.section-head{position:relative}.section-head:after{content:"";position:absolute;bottom:-2px;left:0;width:48px;height:3px;background:#feb400}.document-link{background:#fff;border-color:#c9c9c9;color:#353535}.document-link:focus-visible{background:#fff6dc;border-color:#b88712;color:#252525}.code{border:1px solid #eadcba}footer{border-top:4px solid #feb400}@media(max-width:600px){.brand img{width:145px}.bar{min-height:94px}}

/* Icone di categoria condivise tra navigazione e intestazioni. */
.category-icon{display:block;flex-shrink:0;width:24px;height:24px}
nav a{display:inline-flex;align-items:center;gap:10px;min-height:48px}
nav .category-arrow{margin-left:12px}
.section-head h2{display:flex;align-items:center;gap:12px}
.section-head .category-icon{width:30px;height:30px}
@media(max-width:600px){nav{flex-wrap:wrap}nav a{padding:10px 14px}nav .category-arrow{margin-left:4px}.section-head .category-icon{width:26px;height:26px}}

/* Finiture: azioni discrete, righe leggibili e chiusura ariosa. */
.category:last-child{margin-bottom:72px}
.documents li:focus-within{background:#f3f3f3}
@media(hover:hover){
    .documents li:hover{background:#f3f3f3}
    .document-link:hover{background:#fff6dc;border-color:#b88712;color:#252525}
}
@media(max-width:600px){.category:last-child{margin-bottom:56px}}

/* Descrizione di orientamento e metadati documentali. */
.details .document-description{font-size:.875rem;line-height:1.55;color:#535353;margin:5px 0 7px;max-width:68ch}
.details .document-meta{font-size:.75rem;line-height:1.6;color:#626262}

/* Griglia documenti: codice, testo e azione. */
.documents li{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:18px;align-items:center}
.documents .code{grid-column:1;grid-row:1;align-self:stretch;width:60px;height:auto;min-height:60px;padding:0;font-size:1.2rem;border-radius:4px}
.documents .details{grid-column:2;grid-row:1;min-width:0}
.details h3{line-height:1.45}
.documents .document-link{grid-column:3;grid-row:1;margin:0}
@media(max-width:600px){
    .documents li{grid-template-columns:52px minmax(0,1fr);gap:14px}
    .documents .code{width:52px;min-height:52px;font-size:1.1rem}
    .documents .details h3{margin:0 0 6px}
    .documents .details .document-description{margin:0 0 8px;max-width:none}
    .documents .document-link{grid-column:2;grid-row:2;justify-self:start}
}

/* Sagome di categoria con proporzioni fisse e sigla centrata. */
.documents .code{position:relative;isolation:isolate;align-self:center;width:60px;height:84px;min-height:0;background:none;border:0;border-radius:0;font-size:1.2rem}
.code-shape{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible}
@media(max-width:600px){
    .documents .code{width:52px;height:73px;min-height:0;font-size:1.1rem}
}

#certificati .code-label{transform:translateY(-10px)}
@media(max-width:600px){#certificati .code-label{transform:translateY(-9px)}}

/* Ricerca progressiva: l’elenco resta completo senza JavaScript. */
[hidden]{display:none!important}
.archive-search{margin-top:32px;max-width:680px}
.archive-search label{display:block;font-weight:650;margin-bottom:8px}
.search-controls{display:flex;gap:10px}
.search-controls input{min-width:0;flex:1;border:1px solid #aaa;border-radius:3px;background:#fff;color:#353535;padding:12px 14px;font:inherit;min-height:48px}
.search-controls input::placeholder{color:#6a6a6a;opacity:1}
.search-controls button{border:1px solid #c9c9c9;border-radius:3px;background:#fff;color:#353535;padding:10px 14px;font:inherit;font-size:.85rem;font-weight:650;cursor:pointer;min-height:48px}
.search-controls button:disabled{opacity:.5;cursor:default}
.search-controls input:focus{border-color:#feb400}
.search-controls input:focus-visible{outline:3px solid #feb400;outline-offset:3px}
.search-controls button:focus-visible{outline:3px solid #806000;outline-offset:3px}
.archive-search #search-help,.archive-search #search-status{font-size:.8rem;color:#626262;margin:8px 0 0}
.search-empty{padding:24px;border:1px solid #eadcba;background:#fff6dc;margin:0 0 56px;border-radius:4px}
@media(hover:hover){.search-controls button:not(:disabled):hover{background:#fff3cf}}

/* Footer aziendale: recapiti essenziali e riferimenti societari. */
.site-footer{padding:36px 0 20px}
.site-footer .wrap{display:block}
.footer-main{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}
.footer-brand{font-size:1.5rem;letter-spacing:-.5px}
.site-footer h2{font-size:.8rem;letter-spacing:.06em;margin:5px 0 12px;color:#fff}
.site-footer p{margin:8px 0 0}
.footer-caption,.site-footer address{color:#dedede}
.site-footer address{font-style:normal;line-height:1.8}
.footer-contacts{list-style:none;margin:0;padding:0}
.footer-contacts a{display:inline-flex;align-items:center;gap:6px;min-height:36px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #626262;margin-top:28px;padding-top:16px;color:#dedede;font-size:.75rem}
.footer-bottom p{margin:0}
.footer-links{display:flex;gap:24px;flex-wrap:wrap}
.footer-links a{display:inline-flex;align-items:center;gap:6px;min-height:36px}
.site-footer a:focus-visible{outline-color:#feb400}
@media(max-width:700px){.footer-main{grid-template-columns:1fr 1fr;gap:24px}.footer-company{grid-column:1 / -1}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:400px){.footer-main{grid-template-columns:1fr;gap:24px}.footer-contacts a{min-height:44px}}
