/* One visual contract for the generated site. Keep this stylesheet last. */
:root{--ie-navy:#102e46;--ie-text:#203b50;--ie-muted:#4b6573;--ie-teal:#06636a;--ie-line:#cbdbe2;--ie-bg:#f7fafb;--ie-shell:1200px}
html{scroll-behavior:smooth}
body{font-family:Inter,"Segoe UI",Arial,sans-serif!important;font-size:16px;line-height:1.55;color:var(--ie-text)}
body h1,body h2,body h3,body h4,body button,body input,body select,body textarea{font-family:Inter,"Segoe UI",Arial,sans-serif!important}
body h1{font-size:clamp(36px,3.2vw,48px);line-height:1.12;letter-spacing:-.025em;font-weight:700}
body h2{line-height:1.18;letter-spacing:-.015em;font-weight:700}
body p{line-height:1.55}
body .site-header{background:#fff!important;border-bottom:1px solid var(--ie-line)!important}
body .site-header .btn,body .btn-primary,body .vs-button.primary{background:var(--ie-teal)!important;border-color:var(--ie-teal)!important;color:#fff!important;border-radius:4px!important;min-height:44px}
body .site-header .brand,body .footer a{color:var(--ie-navy)}
body .site-header .main-nav a{font-size:14px;font-weight:600}
body a:focus-visible,body button:focus-visible,body input:focus-visible,body select:focus-visible,body textarea:focus-visible,body summary:focus-visible{outline:3px solid #007f89!important;outline-offset:3px!important}
body .v3p-shell,body .mfg34-shell,body .company-shell,body .ap26-shell{max-width:var(--ie-shell)}
body .v3p-section{padding:64px 0}
body .v3p-title{font-size:clamp(28px,2.6vw,36px);line-height:1.18}
body .v3p-family-hero{min-height:440px}
body .v3p-family-hero-copy{padding:clamp(32px,5vw,72px)}
body .v3p-family-hero-media img{object-fit:contain!important;transform:none!important;padding:20px!important}
body .v3p-platform-card .media img{object-fit:contain!important;transform:none!important}
body .v3p-table-wrap{box-shadow:none}
body .v3p-table{font-size:14px;font-variant-numeric:tabular-nums}
body .v3p-table th{font-size:12px}
body .v3p-table td{color:#324e60}
body .v3p-breadcrumb a{min-height:24px;display:inline-flex;align-items:center}

.ie-shell{width:min(var(--ie-shell),calc(100% - 48px));margin-inline:auto}
.ie-eyebrow{margin:0 0 12px;color:var(--ie-teal);font-size:12px;font-weight:700;letter-spacing:.105em;text-transform:uppercase}
.ie-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
.ie-section-head h2{margin:0;color:var(--ie-navy);font-size:clamp(28px,2.8vw,36px)}
.ie-text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--ie-teal);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.ie-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.ie-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;background:var(--ie-teal);border:1px solid var(--ie-teal);border-radius:4px;color:#fff;text-decoration:none;font-weight:700}
.ie-button-secondary{background:transparent;color:var(--ie-teal)}
.ie-hero{background:var(--ie-bg);border-bottom:1px solid var(--ie-line)}
.ie-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:570px;gap:42px;align-items:center}
.ie-hero-copy{padding:60px 0}
.ie-hero h1{max-width:640px;margin:0;color:var(--ie-navy)!important;font-size:clamp(38px,3.2vw,48px)}
.ie-hero-copy>p:not(.ie-eyebrow):not(.ie-hero-detail){max-width:590px;margin:20px 0 0;color:var(--ie-text);font-size:17px}
.ie-hero-detail{max-width:590px;margin:32px 0 0;padding-top:16px;border-top:1px solid var(--ie-line);color:var(--ie-muted);font-size:13px}
.ie-hero-media{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.ie-hero-media img{display:block;width:100%;max-height:500px;object-fit:contain;background:#fff}
.ie-hero-media figcaption{padding:10px 0;color:var(--ie-muted);font-size:12px}
@media(min-width:901px){body.phase1-home .ie-hero{display:none!important}}
@media(max-width:900px){body.phase1-home .v6-hero,body.phase1-home .ty-energy-flow-wrap{display:none!important}}
.ie-home-products{padding:72px 0;background:#fff}
.ie-family-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--ie-line)}
.ie-family-links a{display:grid;grid-template-columns:36px 1fr;column-gap:12px;align-content:center;min-height:112px;padding:18px 20px;color:var(--ie-navy);text-decoration:none}
.ie-family-links a+a{border-left:1px solid var(--ie-line)}
.ie-family-links span{grid-row:1/3;color:var(--ie-teal);font-size:12px;font-weight:700}
.ie-family-links strong{font-size:18px}
.ie-family-links small{color:var(--ie-muted);font-size:13px}
.ie-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}
.ie-feature-grid a{display:flex;flex-direction:column;min-width:0;border:1px solid var(--ie-line);color:var(--ie-navy);text-decoration:none}
.ie-feature-grid a:hover,.ie-family-links a:hover{background:#f4f8f9}
.ie-feature-grid img{display:block;width:100%;height:200px;object-fit:contain;background:#fff}
.ie-feature-grid span{margin:14px 16px 4px;color:var(--ie-teal);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ie-feature-grid strong{margin:0 16px;font-size:16px;line-height:1.35}
.ie-feature-grid small{margin:8px 16px 16px;color:var(--ie-muted);font-size:13px}

/* Project facts precede the optional map; the map remains interactive. */
body .ty16-shell{display:flex;flex-direction:column}
body .ty16-head{order:1}
body .ty16-filters{order:2}
body .ty16-featured-head{order:3;margin:18px 0 14px}
body .ty16-featured-grid{order:4;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:28px}
body .ty16-map-stage{order:5;min-height:0;height:430px;aspect-ratio:auto;border-radius:4px;background:#d9e8ee}
body .ty16-feature-card{transform:none!important;border-color:var(--ie-line);border-radius:4px;background:#fff;color:var(--ie-navy);box-shadow:none!important}
body .ty16-feature-card:hover{background:#f5f9fa;border-color:#8aaeb8}
body .ty16-feature-copy strong{color:var(--ie-navy)!important}
body .ty16-feature-copy small{color:var(--ie-teal)!important}
body .ty16-feature-meta{color:var(--ie-muted)!important}
body .ty16-featured-head h3{color:var(--ie-navy)!important}
body .ty16-featured-head span{color:var(--ie-muted)}
body .ty16-pin{width:32px!important;height:32px!important;min-width:32px;border:0;background:transparent!important;box-shadow:none!important}
body .ty16-pin::before{content:"";position:absolute;inset:10px;border:2px solid #fff;border-radius:50%;background:var(--ie-teal);box-shadow:0 0 0 2px #7faab4}
body.phase1-home .ty16-pin,body.phase1-home .ty16-pin.active,body.phase1-home .ty16-pin:hover{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:translate(-50%,-50%)!important}
body.phase1-home .ty16-pin::before,body.phase1-home .ty16-pin.active::before{inset:10px!important;border:2px solid #fff!important;border-radius:50%;background:var(--ie-teal);box-shadow:0 0 0 2px #7faab4}
body .ty16-map-hint span{color:#24485b;font-size:12px}
body .ty16-map-hint strong{color:var(--ie-navy);font-size:11px}
body .ty16-filter{min-height:40px}

/* Flatten the directory: one product is one selectable row. */
body.phase1-products .v12-directory-group{padding:32px 0!important;margin-top:24px!important;border-top:1px solid var(--ie-line)}
body.phase1-products .v12-directory-group .v3p-platform-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin-top:0!important}
body.phase1-products .v12-directory-group .v3p-platform-card{display:grid!important;grid-template-columns:154px minmax(0,1fr)!important;grid-template-rows:auto!important;min-height:146px!important;border:0!important;border-bottom:1px solid var(--ie-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important}
body.phase1-products .v12-directory-group .v3p-platform-card .media{height:146px!important;min-height:0!important;max-height:none!important;background:transparent!important}
body.phase1-products .v12-directory-group .v3p-platform-card .media img{width:100%!important;height:146px!important;min-height:0!important;object-fit:contain!important;transform:none!important;padding:10px!important}
body.phase1-products .v12-directory-group .v3p-platform-card .copy{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(110px,.45fr) minmax(160px,.8fr)!important;grid-template-rows:auto!important;align-items:center;gap:16px;padding:16px!important}
body.phase1-products .v12-directory-group .v3p-platform-card h3{grid-column:1!important;grid-row:1!important;margin:0!important;min-height:0!important;font-size:17px!important}
body.phase1-products .v12-directory-group .v3p-platform-card .range{grid-column:2!important;grid-row:1!important;margin:0!important;font-size:14px!important;color:var(--ie-teal)!important}
body.phase1-products .v12-directory-group .v3p-platform-card small{grid-column:3!important;grid-row:1!important;font-size:13px!important;color:var(--ie-muted)!important}
body.phase1-products .catalog-v8-family-links{margin-top:20px;padding:0;border:0;border-radius:0;background:transparent}
body.phase1-products .catalog-v8-family-card-grid{display:block}
body.phase1-products .catalog-v8-family-card{border:0;border-bottom:1px solid var(--ie-line);border-radius:0;background:transparent;box-shadow:none}
body.phase1-products .catalog-v8-family-card img{object-fit:contain}

/* Product family and technical pages retain their data density. */
body .v3p-family-hero+section .v3p-platform-grid{margin-top:26px}
body .v3p-family-hero+section .v3p-platform-card{border-radius:0;box-shadow:none}
body .v3p-family-hero+section .v3p-platform-card img{object-fit:contain!important;transform:none!important}
body .catalog-v8-family-links{border-radius:4px}
body .v3p-cta{padding:40px max(24px,calc((100% - 1200px)/2));background:var(--ie-navy)}

/* Manufacturing proof uses readable steps and real process photography. */
body.mfg34 .mfg34-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:26px}
body.mfg34 .mfg34-process::before{display:none}
body.mfg34 .mfg34-step{border:1px solid var(--ie-line);border-radius:0;background:#fff}
body.mfg34 .mfg34-step-media img{object-fit:cover}
body.mfg34 #digital img{max-height:410px;object-fit:contain}
body .experience-factory-grid img{height:220px}
.ie-test-evidence{padding:64px 0;background:var(--ie-bg)}
.ie-test-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ie-test-grid figure{margin:0;border:1px solid var(--ie-line);background:#fff}
.ie-test-grid img{display:block;width:100%;height:340px;object-fit:cover}
.ie-test-grid figcaption{padding:12px 16px;color:var(--ie-muted);font-size:13px}

/* Documents and projects remain dense and searchable. */
body .evidence-section .section-head{display:flex;align-items:end;justify-content:space-between;gap:24px}
.ie-section-intro{max-width:680px;margin:10px 0 0;color:var(--ie-muted);font-size:15px}
body .evidence-carousel{min-height:480px;perspective:none}
body .evidence-card{border-radius:4px;box-shadow:none}
.ie-quality-evidence{padding:64px 0;background:var(--ie-bg)}
.ie-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ie-proof{border:1px solid var(--ie-line);background:#fff}
.ie-proof a{display:flex;flex-direction:column;height:100%;color:var(--ie-navy);text-decoration:none}
.ie-proof img{width:100%;height:230px;object-fit:contain;object-position:center top;background:#f4f8fa;border-bottom:1px solid var(--ie-line)}
.ie-proof span{margin:16px 16px 6px;color:var(--ie-muted);font-size:13px}
.ie-proof strong{margin:0 16px;font-size:17px;line-height:1.35}
.ie-proof .ie-proof-action{margin:auto 16px 16px;padding-top:18px;color:var(--ie-teal);font-weight:700}
body .ap26-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body .ap26-card{min-height:0;padding:18px 20px;box-shadow:none!important;transform:none!important}
body .ap26-card h3{margin-top:12px}
body .ap26-card-meta{margin-top:14px;padding-top:0;gap:8px 16px}
body .ap26-card-meta span{font-size:11px;color:var(--ie-muted)}
body .ap26-card-meta strong{font-size:13px;color:var(--ie-text)}
body .ap26-card-link{min-height:32px;align-items:center;margin-top:12px;font-size:11px}
body .ap26-hero-caption{max-width:100%}
.ie-photo-note{margin:12px 0 22px;color:var(--ie-muted);font-size:13px;line-height:1.5}
body .ty16-detail-media img{object-fit:contain}
body .document-filter input,body .document-filter select{min-height:44px}

/* Controls and touch targets. */
body .carousel-arrow,body .typs-arrow,body .v6-hero-dots button,body [data-marquee-toggle]{min-width:32px!important;min-height:32px!important}
body .quote-form input,body .quote-form select,body .quote-form textarea{min-height:44px}
body .quote-form button,body .quote-form .btn{min-height:44px}

@media(max-width:1024px){
  .ie-hero-grid{min-height:0;gap:24px}
  .ie-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ie-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body .ty16-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.phase1-products .v12-directory-group .v3p-platform-card .copy{grid-template-columns:minmax(0,1fr) 140px!important}
  body.phase1-products .v12-directory-group .v3p-platform-card small{grid-column:1/-1!important;grid-row:2!important}
}
@media(max-width:768px){
  .ie-hero-grid{grid-template-columns:1fr;gap:0}
  .ie-hero-copy{padding:44px 0 22px}
  .ie-hero-media img{max-height:400px}
  .ie-family-links{grid-template-columns:1fr}
  .ie-family-links a{min-height:84px;border-left:0!important;border-top:1px solid var(--ie-line)}
  .ie-family-links a:first-child{border-top:0}
  body .ty16-map-stage{height:330px;min-height:0}
  body.mfg34 .mfg34-process{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
  .ie-test-grid{grid-template-columns:1fr}
  body .ap26-library-grid{grid-template-columns:1fr}
  body .ap26-project-grid{grid-template-columns:1fr}
  body .quote-band{display:flex;flex-direction:column;gap:24px}
  body .quote-band .quote-form{order:1;width:100%}
  body .quote-band .ie-inquiry-help{order:2}
}
@media(max-width:900px){
  body .site-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;padding:12px 18px!important;min-height:0!important}
  body .site-header .brand{grid-column:1;grid-row:1}
  body .site-header .menu-toggle{display:inline-flex!important;grid-column:2;grid-row:1;align-items:center;justify-content:center;min-height:44px}
  body .site-header .main-nav{grid-column:1/-1;grid-row:3}
  body .site-header .header-actions{display:flex!important;grid-column:1/-1;grid-row:2;width:100%;min-width:0;justify-self:stretch}
  body .site-header .header-actions .language{display:none!important}
  body .site-header .header-actions .btn{display:inline-flex!important;align-items:center;justify-content:center;width:100%;min-height:44px}
}
@media(max-width:600px){
  .ie-shell{width:calc(100% - 32px)}
  .ie-section-head{align-items:start;flex-direction:column;gap:6px}
  .ie-home-products,.ie-test-evidence{padding:48px 0}
  .ie-hero h1{font-size:34px}
  .ie-hero-copy>p:not(.ie-eyebrow):not(.ie-hero-detail){font-size:16px}
  .ie-hero-media img{max-height:300px}
  .ie-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ie-feature-grid img{height:132px}
  .ie-feature-grid strong{font-size:14px}
  body .ty16-featured-grid{grid-template-columns:1fr}
  body .ty16-map-stage{height:280px;min-height:0}
  body .ty16-map-hint{display:none}
  body.phase1-products .v12-directory-group{display:block!important}
  body.phase1-products .v12-directory-group .v3p-platform-card{grid-template-columns:112px minmax(0,1fr)!important;min-height:130px!important}
  body.phase1-products .v12-directory-group .v3p-platform-card .media,body.phase1-products .v12-directory-group .v3p-platform-card .media img{height:130px!important}
  body.phase1-products .v12-directory-group .v3p-platform-card .copy{display:flex!important;flex-direction:column;align-items:flex-start;gap:4px;padding:12px!important}
  body.phase1-products .v12-directory-group .v3p-platform-card h3{font-size:14px!important}
  body.phase1-products .v12-directory-group .v3p-platform-card .range,body.phase1-products .v12-directory-group .v3p-platform-card small{font-size:12px!important}
  body .v3p-family-hero-media{min-height:0}
  body .v3p-family-hero-media img{height:auto!important;max-height:320px}
  body.mfg34 .mfg34-process{grid-template-columns:1fr}
  body .evidence-section .section-head{align-items:start;flex-direction:column}
  .ie-test-grid img{height:240px}
  body .ap26-card-meta{grid-template-columns:1fr 1fr}
  .ie-proof-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body *,body *::before,body *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
