/* Photo-led update. Base layout and saved versions remain independent. */
:root { --paper:#171b1d; --ink:#f1f2ed; --muted:#b3bdc0; --line:#354044; --red:#f08b7c; }
.shell { width:min(1320px,calc(100% - 80px)); }
.header { background:#171b1df5; }
.header-inner { min-height:86px; }
.brand-logo { width:174px; }
.navigation { gap:22px; font-size:13px; }
.hero { padding-top:24px; }
.hero-grid { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,56fr) minmax(0,44fr); gap:40px; align-items:center; min-height:0; padding:40px; overflow:hidden; border:1px solid var(--line); border-radius:8px; }
.hero-copy { position:relative; z-index:2; width:100%; min-width:0; padding:0; }
.hero-eyebrow { margin-bottom:32px; }
.hero h1 { font-size:clamp(40px,4.2vw,62px); line-height:1.08; letter-spacing:-.045em; }
.hero-subtitle { font-size:20px; margin-top:22px; }
.hero-description { max-width:400px; color:#d1d8d8; font-size:15px; line-height:1.7; }
.hero-note { max-width:355px; color:#b8c3c6; }
.hero-scene { position:relative; z-index:0; min-height:0; height:480px; align-self:center; border:1px solid var(--line); border-radius:6px; }
.hero-scene > img { object-position:left center; }
.hero-scene::after { background:linear-gradient(0deg,#111719d9,transparent 40%); }
.scene-tag { top:24px; right:24px; left:auto; background:#172023d9; border-color:#ffffff30; font-size:9px; }
.scene-caption { left:auto; right:28px; bottom:52px; max-width:240px; }
.scene-caption > span { font-size:12px; color:#d4dddd; }
.scene-caption strong { font-size:23px; }
.hero-scene figcaption { left:auto; right:28px; bottom:22px; font-size:10px; color:#d1d9d9; }
.hero-scene.hero-diagram { height:auto; min-height:0; aspect-ratio:640/580; overflow:visible; border:0; background:transparent; }
.hero-scene.hero-diagram > img { position:static; display:block; width:100%; height:auto; object-fit:contain; border:1px solid var(--line); border-radius:12px; }
.hero-scene.hero-diagram::after { display:none; }
.hero-scene.hero-diagram figcaption { position:static; margin-top:9px; text-align:right; color:#91a5ac; }
.hero-bottom { margin-top:24px; }
.capabilities { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; font-size:12px; letter-spacing:.025em; text-align:center; }
.capabilities > span:not(.cap-plus) { position:relative; }
.capabilities > span:not(.cap-plus):not(:last-child)::after { content:'→'; position:absolute; right:-16px; color:#a3adaa; font-weight:400; }
.capabilities .cap-plus { display:none; }
.equipment-section { background:#202729; padding-block:36px; }
.equipment-layout { gap:48px; }
.equipment-heading h2 { font-size:28px; }
.device-image { object-fit:cover; aspect-ratio:4/3; border-radius:4px; max-height:130px; }
.device-caption strong { font-size:13px; }
.equipment-figure figcaption { margin-top:16px; }
.section { padding-block:80px; }
.section-heading { gap:48px; }
.service-card { background:#202729; padding:27px; border-radius:6px; }
.service-card h3 { font-size:22px; }
.service-card p { line-height:1.7; }
.service-icon { font-size:24px; }
.service-card:hover { border-color:#68767b; }
.tasks { background:#202729; }
.field-work { border-bottom:1px solid var(--line); }
.field-layout { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.field-photo { position:relative; overflow:hidden; border-radius:6px; background:#252d30; }
.field-photo img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.field-photo figcaption { padding:12px 16px; color:var(--muted); font-size:11px; border:1px solid var(--line); border-top:0; }
.field-copy h2 { max-width:420px; }
.field-copy > p:not(.eyebrow) { color:var(--muted); margin-top:22px; max-width:440px; }
.field-points { padding:0; margin:25px 0 0; list-style:none; }
.field-points li { display:flex; gap:15px; padding:13px 0; border-top:1px solid var(--line); font-size:14px; }
.field-points span:first-child { font:12px/1.7 Consolas,monospace; color:var(--red); }
.field-copy .text-link { margin-top:18px; }
.portfolio-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 20px; }
.portfolio-image { border-radius:5px; }
.portfolio-image img { aspect-ratio:4/3; object-fit:cover; }
.portfolio-card[data-category="parts"] .portfolio-image img,
.portfolio-card[data-category="sensors"] .portfolio-image img { object-fit:contain; background:#202729; }
.portfolio-caption { font-size:13px; }
.gallery-note { font-size:12px; color:var(--muted); margin-top:22px; max-width:760px; }
.portfolio-card { position:relative; }
.portfolio-caption { font-size:19px; }
.portfolio-description { display:block; margin-top:6px; color:var(--muted); font-size:13px; line-height:1.6; }
.portfolio-count { position:absolute; top:14px; left:14px; padding:5px 10px; background:#152023e8; border:1px solid #7f959563; border-radius:3px; color:#f1f2ed; font:11px/1.5 Consolas,monospace; }
.photo-heading { display:flex; align-items:center; gap:18px; min-width:0; }
#photo-category { font-size:16px; font-weight:600; }
#photo-counter { font:12px/1.5 Consolas,monospace; color:var(--muted); white-space:nowrap; }
.photo-dialog figure img { max-height:55dvh; }
.photo-thumbnails { display:flex; gap:8px; overflow-x:auto; padding:12px 3px 8px; margin-top:8px; }
.photo-thumbnail { flex:0 0 80px; height:62px; padding:3px; border:2px solid transparent; border-radius:4px; background:#161d20; }
.photo-thumbnail img { width:100%; height:100%; object-fit:contain; }
.photo-thumbnail[aria-current="true"] { border-color:var(--red); }
.photo-thumbnail:hover { border-color:#9aaeb3; }
.contact { background:#202729; }
.form-help { line-height:1.6; }
.messenger-link[aria-disabled="true"] { opacity:.7; }
@media(min-width:761px) and (max-width:1100px) {
  .hero-grid { gap:28px; padding:32px; }
  .hero-scene { height:440px; }
  .hero h1 { font-size:42px; }
  .hero-description { max-width:330px; }
  .scene-caption { max-width:200px; }
  .field-layout { gap:36px; }
}
@media(max-width:1000px) {
  .header-inner { min-height:80px; }
  .capabilities { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:16px; }
  .capabilities > span:not(.cap-plus):not(:last-child)::after { content:none; }
  .equipment-layout { gap:24px; }
  .section { padding-block:64px; }
}
@media(max-width:760px) {
  .shell { width:calc(100% - 40px); }
  .header-inner { min-height:74px; }
  .brand-logo { width:145px; }
  .hero { padding-top:22px; }
  .hero-grid { grid-template-columns:1fr; gap:24px; overflow:visible; border:0; border-radius:0; padding:0; min-height:0; }
  .hero-copy { width:100%; }
  .hero h1 { font-size:clamp(35px,7.7vw,54px); }
  .hero-eyebrow { margin-bottom:24px; }
  .hero-description { max-width:520px; }
  .hero-actions { flex-direction:row; align-items:center; }
  .hero-scene { position:relative; z-index:0; inset:auto; height:280px; margin-top:0; border:1px solid var(--line); border-radius:6px; }
  .hero-scene > img { object-position:left center; }
  .hero-scene::after { background:linear-gradient(0deg,#111719c9,transparent 40%); }
  .scene-tag { top:16px; right:16px; }
  .scene-caption { right:20px; bottom:50px; }
  .hero-scene figcaption { right:20px; bottom:20px; }
  .hero-bottom { margin-top:24px; }
  .capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }
  .capabilities > span:not(.cap-plus)::before,.capabilities > span:not(.cap-plus)::after { content:none; }
  .equipment-section { padding-block:28px; }
  .device-grid { gap:22px; }
  .section { padding-block:54px; }
  .section-heading { gap:24px; }
  .field-layout { grid-template-columns:1fr; gap:28px; }
  .field-copy { order:-1; }
  .field-copy > p:not(.eyebrow) { max-width:none; }
  .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; }
  .portfolio-caption { font-size:12px; }
  .portfolio-caption { font-size:18px; }
  .photo-dialog figure img { max-height:46dvh; }
  .photo-heading { gap:12px; }
  #photo-category { font-size:14px; }
  .photo-thumbnail { flex-basis:64px; height:52px; }
  .real-sensors { padding-block:28px; }
}
@media(max-width:450px) {
  .hero h1 { font-size:35px; }
  .hero-scene { height:240px; }
  .hero-actions { flex-direction:column; align-items:flex-start; }
  .hero-actions .button { min-height:52px; }
  .portfolio-grid { grid-template-columns:1fr; }
}
@media print {
  .hero-grid { min-height:0; border:0; padding:0; }
  .hero-copy { width:100%; }
  .hero-description,.hero-note { color:#333; }
  .field-layout { display:block; }
  .field-photo { display:none; }
}
