@import url("fonts.css");

/* Refinement: retain graphite / paper / coolant identity. */
:root{--dim:#A9B2B7;--dim-2:#A4AEB4;--alarm:#F07862;--pad:clamp(20px,4vw,64px)}
html{scroll-padding-top:110px}body{overflow-wrap:break-word}
::selection{background:var(--coolant);color:#14181B}
a{ text-underline-offset:.22em}a,summary,button{touch-action:manipulation}
:focus-visible{outline:3px solid var(--coolant);outline-offset:5px}
h1,h2,h3{text-wrap:balance;letter-spacing:0;line-height:1.12}
p,li{ text-wrap:pretty}h1{max-width:23ch!important;font-size:clamp(36px,5.4vw,72px)}
header{backdrop-filter:none;background:var(--graphite);flex-wrap:wrap;gap:12px;padding-top:14px;padding-bottom:14px}
header>.brand{margin-right:auto}header>.tel{font-size:13px;letter-spacing:0;min-height:44px;display:inline-flex;align-items:center}
header nav{order:3;flex:1 0 100%;margin:0;gap:8px 22px;flex-wrap:wrap}
header nav a{display:inline-flex;align-items:center;min-height:44px;font-family:var(--body);font-size:14px;letter-spacing:0;text-transform:none;color:var(--paper)}
.menu-button{display:none;font:inherit;color:var(--paper);background:transparent;border:1px solid var(--steel-line);min-height:44px;padding:8px 14px;cursor:pointer}
.skip{position:fixed;top:-90px;left:20px;z-index:200;background:var(--paper);color:var(--ink);padding:12px 20px}.skip:focus{top:12px}
.reveal{opacity:1;transform:none;transition:none}
.head{grid-template-columns:1fr!important;gap:0!important}.head>.num,.eyebrow,.rail{display:none}
.hero-grid{grid-template-columns:1fr}.hero{padding-top:52px;padding-bottom:58px}
.hero-sub{grid-template-columns:1.5fr 1fr}.hero .lead{font-size:20px;max-width:64ch}
.stamp{transform:none;border:1px solid var(--steel-line);box-shadow:none;font-family:var(--body);text-transform:none;letter-spacing:0;font-size:16px;max-width:none;padding:24px}.stamp b{font-family:var(--display);font-size:24px;letter-spacing:0;margin-bottom:10px}
.hero-specs{margin-top:40px}.spec span{font-family:var(--body);letter-spacing:0;font-size:14px;text-transform:none}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--body);font-size:15px;letter-spacing:0;text-transform:none;transition:background-color .18s,color .18s}
.btn:hover{filter:brightness(1.1)}.cell--bad,.cell--fix,.warnbox{border-left-width:1px}
.d-title{line-height:1.3}.d-toggle{width:44px;height:44px}.d-cat,.cell h4{font-size:12px;letter-spacing:.06em}
.cell p,.card p,.step p,.mat p{font-size:16px}.step b{color:#575D56}.req dt,.note,.paper .eyebrow{color:#515953}
.paper .mono{color:#3E641E}.paper .btn{color:#14181B}.paper .btn-ghost{color:#14181B}
.mat a.get{font-family:var(--body);font-size:15px;letter-spacing:0;min-height:44px;display:flex;align-items:center;text-transform:none}
.arts .c,.arts .g{font-size:12px}.req dl{grid-template-columns:minmax(80px,auto) minmax(0,1fr)}
.crumbs{display:block!important;overflow-wrap:anywhere}.crumbs a{display:inline-flex;align-items:center;min-height:44px}
.reading-nav{border-top:1px solid var(--steel-line);border-bottom:1px solid var(--steel-line);padding:22px 0;margin:32px 0}.reading-nav strong{display:block;margin-bottom:12px}.reading-nav ul{margin:0;padding-left:20px}.reading-nav a{display:inline-block;padding:8px 0}
.quick-answer{font-size:18px;border-bottom:1px solid var(--steel-line);padding-bottom:28px;margin:28px 0;color:var(--paper)}
.faq-list{margin-top:28px}.faq-list details{border-top:1px solid var(--steel-line);padding:18px 0}.faq-list summary{cursor:pointer;font-size:20px;font-weight:500;min-height:44px}.faq-list p{max-width:72ch;margin:12px 0 0}
.table-scroll{overflow:auto;max-width:100%;margin:24px 0}.table-scroll:focus{outline:3px solid var(--coolant)}
@media(max-width:1100px){header nav{gap:0 18px}header nav a{font-size:13px}}
@media(max-width:800px){html{scroll-padding-top:150px}.hero-sub{grid-template-columns:1fr}.hero .lead{font-size:18px}.hero{padding-top:32px}.hero-specs{grid-template-columns:repeat(2,minmax(0,1fr))}.js .menu-button{display:block}.js header nav[hidden]{display:none}header nav{max-height:55vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr}.brand{font-size:18px}.tel{padding:8px!important}.hero h1{font-size:clamp(34px,8vw,54px)}}
@media(max-width:420px){header>.brand{flex:1 0 100%}header>.tel{margin-right:auto}.hero-specs{gap:18px}.mats{grid-template-columns:1fr}.btn{width:100%;white-space:normal;text-align:center}.contact{min-width:0}.req dl{display:block}.req dt{margin-top:12px}.spec b{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

.mono,.industries span,.map-legend,.arts .c,.arts .g,footer .mono{font-size:13px;letter-spacing:.04em;text-transform:none}footer .mono{font-family:var(--body)}.paper .note{color:#515953}.cell h3{font-family:var(--body);font-size:14px;letter-spacing:0;margin-bottom:10px}.cell--bad h3{color:var(--alarm)}.cell--fix h3{color:var(--coolant)}.d-cat{font-family:var(--body)}.req dt{font-size:13px;letter-spacing:0}.head{display:block}.stamp i{display:none}

/* Static vector ornament: no scripts, filters or animation. */
body{
  background-image:url("engineering-background.svg");
  background-repeat:repeat-y;
  background-position:center top;
  background-size:1200px 900px;
}
.hero{
  background-color:var(--graphite);
  background-image:url("engineering-background.svg");
  background-repeat:no-repeat;
  background-position:center -95px;
  background-size:1400px 1050px;
}
@media(max-width:700px){
  body{background-size:900px 675px;background-position:38% top}
  .hero{background-size:1000px 750px;background-position:48% -80px}
}
@media print{
  body,.hero{background-image:none}
}
