/* Orchid — dark, flat, corporate style, modelled on the Prism reference layout.
   No rounded cards, no gradients, no shadows, no pill buttons. */
*{box-sizing:border-box}
html{
  --gutter:clamp(1rem,3vw,1.5rem);
  --panel-padding:clamp(1.125rem,3vw,2rem);
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-height,5rem) + .75rem);
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{margin:0;background:#0a0a0a;color:#d7dde3;font-family:Arial,Helvetica,sans-serif;line-height:1.6;font-size:1rem}
a{color:#9fb8d8}
img{max-width:100%;display:block}
.wrap{max-width:1100px;margin:0 auto;padding-inline:var(--gutter)}
h1,h2,h3,h4{font-family:"Arial Narrow",Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:1px;line-height:1.2;color:#fff}
h2{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.125rem);margin:0 0 18px}
h3{font-size:clamp(1.125rem,1rem + .45vw,1.375rem);margin:0 0 10px}
p{margin:0 0 14px}
/* Header — slim solid black bar, like the reference */
header.site{background:#000;border-bottom:1px solid #222;position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding-block:.875rem}
.brand{
  color:#fff;
  text-decoration:none;
  font-family:"Arial Narrow",Arial,sans-serif;
  font-weight:700;
  font-size:clamp(1rem,.8rem + .7vw,1.3125rem);
  line-height:1.2;
  letter-spacing:.04em;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.brand small{display:block;margin-top:.3rem;font-size:.75rem;color:#9aa7b3;letter-spacing:.08em;font-weight:400}
nav.main{display:flex;gap:.5rem 1rem;flex-wrap:wrap}
nav.main a{color:#fff;text-decoration:none;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase}
nav.main a:hover{color:#7fa3d6}
.menu-btn{
  display:none;
  background:#1c3f7a;
  color:#fff;
  border:0;
  min-height:44px;
  padding:.55rem .75rem;
  font:inherit;
  font-size:.875rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  cursor:pointer;
}
/* Hero — full-width photo, navy panel headline, square corners */
.hero{display:grid;grid-template-columns:minmax(0,1fr);background:#000}
.hero img.hero-photo{
  grid-area:1/1;
  width:100%;
  height:100%;
  min-height:clamp(21rem,45vw,32.5rem);
  object-fit:cover;
}
.hero-panel{
  grid-area:1/1;
  place-self:center;
  width:calc(100% - 2 * var(--gutter));
  max-width:51.25rem;
  margin-block:var(--gutter);
  padding:clamp(1.125rem,4vw,2.5rem);
  background:#1c3f7a;
  color:#fff;
  text-align:center;
}
.hero-panel h1{font-size:clamp(1.75rem,1.1rem + 2.8vw,2.75rem);margin:0;overflow-wrap:anywhere}
.hero-panel p{color:#cdd9ec;margin:14px 0 0}
/* Sections — black, generous padding, centred content where the reference centres it */
section{padding:clamp(2.75rem,6vw,4.5rem) 0;background:#0a0a0a;border-top:1px solid #1a1a1a}
section.center{text-align:center}
section.center p.lead{margin-left:auto;margin-right:auto}
.lead{color:#b9c2cb;max-width:820px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:start}
.sub{margin-top:34px}
.sub h3{border-left:4px solid #1c3f7a;padding-left:12px}
.wide-photo{margin-top:36px}
.wide-photo img{width:100%;height:340px;object-fit:cover}
/* Products / services — flat dark rectangles, square corners */
.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #2a2a2a;margin-top:30px}
.product{background:#111;border:1px solid #2a2a2a;padding:var(--panel-padding)}
.product img{width:100%;height:180px;object-fit:cover;margin-bottom:18px}
.product p{color:#b9c2cb}
/* Machines — plain flat table */
.table{width:100%;border-collapse:collapse;margin-top:26px;background:#111}
.table th,.table td{
  padding:clamp(.625rem,1.4vw,1rem);
  line-height:1.45;
  vertical-align:top;
  overflow-wrap:anywhere;
}
.table th{background:#1c3f7a;color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.06em;font-size:.875rem}
.table td{border:1px solid #2a2a2a;color:#d7dde3}
.table td:first-child{color:#fff;font-weight:700}
/* Clients — flat white tiles, like the reference partner grid */
.clients{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:30px}
.clients span{background:#fff;color:#111;padding:14px 10px;text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:.4px;overflow-wrap:anywhere}
/* Contact — dark panel left, form right */
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #2a2a2a}
.contact-panel{background:#141414;padding:var(--panel-padding)}
.contact-panel a{color:#fff;overflow-wrap:anywhere}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  max-width:100%;
  padding:.75rem 1.25rem;
  background:#1c3f7a;
  color:#fff!important;
  text-decoration:none;
  text-align:center;
  font:inherit;
  font-weight:700;
  font-size:.875rem;
  line-height:1.4;
  text-transform:uppercase;
  letter-spacing:.06em;
  border:0;
  cursor:pointer;
}
.btn:hover{background:#27549c}
form.quote{background:#0a0a0a;padding:var(--panel-padding)}
form.quote label{display:block;color:#fff;margin-bottom:14px}
form.quote input,form.quote select,form.quote textarea{
  width:100%;
  min-width:0;
  min-height:44px;
  margin-top:6px;
  padding:.65rem .75rem;
  border:1px solid #444;
  background:#111;
  color:#fff;
  font:inherit;
}
form.quote textarea{resize:vertical}
/* Footer — thin white strip, no powered-by credit */
footer{background:#fff;color:#555;padding:16px 0}
.foot{display:flex;justify-content:space-between;gap:.5rem 1.25rem;flex-wrap:wrap;font-size:.875rem}
.foot p{margin:0}
.hidden{display:none!important}
@media(max-width:900px){
  .grid2,.contact-grid{grid-template-columns:minmax(0,1fr)}
  .products,.clients{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding-block:.625rem}
  nav.main{display:none}
  nav.main.open{
    display:flex;
    grid-column:1/-1;
    flex-direction:column;
    flex-wrap:nowrap;
    gap:0;
    max-height:min(45vh,18rem);
    overflow-y:auto;
  }
  nav.main a{display:flex;align-items:center;min-height:44px;padding:.25rem}
  .menu-btn{display:block}
}
@media(max-width:560px){
  .products,.clients{grid-template-columns:minmax(0,1fr)}
  .table{table-layout:fixed}
  .table th:first-child{width:55%}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
