/* Shared responsive layout; content determines height, viewport determines columns. */
.image-preview{width:min(1400px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #e5d9c8;border-radius:12px;background:#fffefa;color:#172640;box-shadow:0 24px 80px #0005}
.image-preview::backdrop{background:#111d32c9}
.preview-toolbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:#fffefa;border-bottom:1px solid #e5d9c8;z-index:1}
.preview-toolbar h2{margin:0;font-size:18px;line-height:1.5;min-width:0}
.preview-close{flex-shrink:0;min-height:44px;padding:10px 16px;border:0;border-radius:6px;background:#172640;color:white;font:inherit;cursor:pointer}
.preview-image-wrap{padding:16px;background:#eef2f6}.preview-image-wrap img{width:100%;height:auto;object-fit:contain}
@media(max-width:560px){.image-preview{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.preview-toolbar{padding:12px;gap:10px}.preview-toolbar h2{font-size:15px}.preview-close{padding:9px 12px;font-size:13px}.preview-image-wrap{padding:6px}}
.wrap{width:calc(100% - clamp(32px,6vw,112px));max-width:1600px}
main,section,.wrap,article,.hero-copy,.hero-visual,.detail-main,.detail-sidebar,.company-narrative,.industry-results{min-width:0}
h1,h2,h3,p,a,li{overflow-wrap:break-word}img,video,canvas{max-width:100%}
.section{padding-block:clamp(36px,5vw,76px)}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);min-height:0;padding-block:clamp(36px,5vw,76px)}
.hero h1{font-size:clamp(30px,3.3vw,56px)}.hero-visual{max-width:100%;min-width:0}.hero-photo{height:auto;aspect-ratio:2/1}.hero-photo img{object-fit:contain}
.header .wrap{gap:18px}.brand{flex-shrink:0}.nav{gap:clamp(10px,1.5vw,26px)}.nav a{white-space:nowrap}
.product-grid,.gallery,.planned-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.capability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.capability-grid article{display:flex;flex-direction:column;min-width:0}
.capability-grid h3{margin:0 0 14px}.capability-grid p{margin:0 0 18px}.capability-grid small{margin-top:auto}
.page-intro h1,.section h2,.about-copy h2{ text-wrap:balance }
.product-preview-caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;font-size:13px;padding-top:12px;color:var(--muted)}
.product-preview-caption a{font-weight:600;color:var(--blue)}
.list-status{flex-wrap:wrap}.list-status p{flex:1 1 220px;min-width:0;margin:0}.list-status button{flex-shrink:0;white-space:nowrap}
@media(max-width:1000px){.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.capability-grid{grid-template-columns:1fr}}
.detail-layout{grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:clamp(24px,4vw,56px)}
.about-grid,.company-story,.band .wrap{gap:clamp(24px,4vw,60px)}
.case-grid,.solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-visual{height:auto}.case-visual img{object-fit:contain}
.catalog-toolbar,.catalog-search,.actions,.footer nav,.footer-bottom{flex-wrap:wrap}.catalog-search{min-width:0;max-width:100%}.catalog-search input,.catalog-search select{max-width:100%!important;min-width:0}.catalog-search label{min-width:0}
.chapter-head>div{min-width:0}.core-tags{flex-wrap:wrap}.compact-foot{align-items:center}.steps{flex-wrap:wrap}
@media(min-width:1800px){.wrap{width:88%;max-width:1800px}.reference-catalog .compact-products{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-catalog .chapter-lines .compact-products{grid-template-columns:1fr}}
@media(max-width:1150px){.header{height:76px}.menu{display:block;flex:0 0 44px;min-height:44px}.nav{display:none;position:absolute;top:76px;left:0;right:0;padding:16px 5%;background:#fffefa;border-bottom:1px solid #efd5b6;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 76px);overflow-y:auto}.nav.open{display:flex}.nav a{padding:12px}.nav .active:after{display:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.metric{padding:0 16px}.metric:nth-child(2){border:0}.process{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-overview .scheme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.hero-grid,.about-grid,.company-story,.detail-layout,.band .wrap{grid-template-columns:1fr}.hero-visual{width:100%;max-width:640px;margin:auto}.detail-sidebar,.company-position{position:static}.section-head,.footer-main,.contact-strip .wrap{flex-direction:column;align-items:flex-start}.case-grid,.solution-grid,.workflow-list{grid-template-columns:1fr}.company-story{display:grid}.catalog-toolbar{align-items:stretch}.catalog-search{width:100%;display:flex;flex-wrap:wrap}.reference-catalog .catalog-search input{width:100%;flex:1 1 100%}.catalog-search label{flex:1 1 180px}.catalog-search select{width:100%;max-width:none!important}.chapter-head{flex-wrap:wrap}.chapter-head>a{margin-left:0}.reference-catalog .chapter-lines{grid-template-columns:1fr}.footer nav{gap:16px}.about-picture{height:auto;aspect-ratio:4/3}}
@media(max-width:560px){.brand{gap:8px}.brand strong{font-size:15px;letter-spacing:0}.brand small{font-size:8px;letter-spacing:.5px}.brand-logo-frame{width:64px!important}.header .wrap{gap:8px}.reference-overview .scheme-grid,.reference-catalog .compact-products,.services,.services-redesign,.process,.solution-links{grid-template-columns:1fr}.reference-overview .scheme-card p{min-height:0}.reference-catalog .compact-product{padding:16px}.case-copy{padding:18px}.company-position{padding:20px}.company-facts{gap:8px}.company-facts strong{font-size:27px}.company-narrative article{gap:12px}.metric{flex-wrap:wrap;gap:4px}.metric:first-child{padding-left:16px}.metric strong{font-size:26px}.metric span{flex-basis:100%}.page-intro h1{font-size:27px}.catalog-modes{display:flex;width:100%}.catalog-modes button{flex:1;padding:12px 8px;font-size:13px}.actions{gap:16px}.section h2{font-size:24px}.contact-strip h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Category labels must size to text, never inherit icon dimensions. */
.product-card .product-top>.product-category{display:block;width:auto;height:auto;min-width:0;max-width:100%;flex:0 1 auto;white-space:normal;overflow-wrap:break-word;line-height:1.6}

/* Exhibition catalogue: compact, aligned product rows. */
.exhibition-product-list{display:grid;grid-template-columns:1fr!important;gap:12px;margin:20px 0 44px}
.exhibition-product-list .product-card{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,1.1fr) 110px;grid-template-rows:auto auto;column-gap:32px;row-gap:6px;padding:24px 28px;min-height:0;border-radius:10px;background:#fffefa;box-shadow:none;align-items:center}
.exhibition-product-list .product-card:hover{transform:none;background:#fff8ed;border-color:#e8a95a;box-shadow:none}
.exhibition-product-list .product-top{display:none}
.exhibition-product-list .product-card h3{grid-column:1;grid-row:1;margin:0;font-size:19px;line-height:1.5}
.exhibition-product-list .product-card p{grid-column:1;grid-row:2;margin:0;min-height:0;font-size:14px;line-height:1.7}
.exhibition-product-list .core-tags{grid-column:2;grid-row:1/3;display:flex;flex-wrap:wrap;gap:7px 10px;min-height:0;margin:0;align-content:center}
.exhibition-product-list .core-tags span{background:#f6f0e7;color:#655443;padding:4px 9px;font-size:12px;line-height:1.65;border-radius:4px}
.exhibition-product-list .text-link{grid-column:3;grid-row:1/3;margin:0;padding:9px 0;border:1px solid #eacb9f;border-radius:6px;text-align:center;display:block;font-size:13px;white-space:nowrap;color:#994908}
@media(max-width:900px){.exhibition-product-list .product-card{grid-template-columns:minmax(0,1fr) 110px;gap:10px 20px;padding:22px}.exhibition-product-list .product-card h3,.exhibition-product-list .product-card p{grid-column:1}.exhibition-product-list .core-tags{grid-column:1;grid-row:3}.exhibition-product-list .text-link{grid-column:2;grid-row:1/4}}
@media(max-width:560px){.exhibition-product-list .product-card{grid-template-columns:minmax(0,1fr);padding:20px;gap:10px}.exhibition-product-list .core-tags{grid-column:1;grid-row:3}.exhibition-product-list .text-link{grid-column:1;grid-row:4;justify-self:start;padding:7px 14px;margin-top:4px}.exhibition-product-list .product-card h3{font-size:18px}}

.shared-capabilities .capability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:capability}
.shared-capabilities .capability-grid article{position:relative;padding:24px 26px 22px;border-radius:9px;box-shadow:none;background:#fffefa;counter-increment:capability}
.shared-capabilities .capability-grid article:before{content:'0' counter(capability);position:absolute;right:24px;top:24px;color:#b77a3a;font-size:12px;letter-spacing:1px}
.shared-capabilities .capability-grid h3{padding-right:35px;margin:0 0 12px;font-size:19px;line-height:1.5}
.shared-capabilities .capability-grid p{margin:0 0 17px;font-size:14px;line-height:1.8}
.shared-capabilities .capability-grid small{display:block;padding-top:12px;border-top:1px solid #eee2d1;font-size:12px;color:#687387;line-height:1.7}
.shared-capabilities .matrix-note{max-width:1100px;font-size:13px;margin-top:24px}
@media(max-width:1000px){.shared-capabilities .capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.shared-capabilities .capability-grid{grid-template-columns:1fr;gap:12px}.shared-capabilities .capability-grid article{padding:22px}}

/* Catalogue rows keep every category aligned regardless of product count. */
.reference-catalog .chapter-lines{grid-template-columns:1fr;gap:24px}
.reference-catalog .compact-products{grid-template-columns:1fr!important;gap:12px}
.reference-catalog .compact-product{display:grid;grid-template-columns:minmax(230px,1fr) minmax(240px,1.1fr) 150px;grid-template-rows:auto auto;gap:6px 28px;padding:22px 26px;min-height:0;border-radius:9px;align-items:center;background:#fffefa}
.reference-catalog .compact-product:hover{transform:none;background:#fff8ed;box-shadow:none}
.reference-catalog .compact-product .product-code{display:none}
.reference-catalog .compact-product h3{grid-column:1;grid-row:1;margin:0;font-size:18px;line-height:1.5;padding:0}
.reference-catalog .compact-product p{grid-column:1;grid-row:2;margin:0;min-height:0;font-size:14px;line-height:1.7}
.reference-catalog .compact-product .core-tags{grid-column:2;grid-row:1/3;display:flex;flex-wrap:wrap;gap:6px 8px;min-height:0;margin:0}
.reference-catalog .compact-product .core-tags span{background:#f6f0e7;color:#655443;line-height:1.7}
.reference-catalog .compact-foot{grid-column:3;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-end;gap:9px;margin:0;padding:0;border:0;font-size:12px}
.reference-catalog .compact-foot b{font-size:13px;font-weight:600}
.reference-catalog .chapter-head{padding:24px 26px;gap:22px}.reference-catalog .chapter-head p{max-width:1000px}
@media(max-width:900px){.reference-catalog .compact-product{grid-template-columns:minmax(0,1fr) 130px;padding:20px;gap:9px 20px}.reference-catalog .compact-product .core-tags{grid-column:1;grid-row:3}.reference-catalog .compact-foot{grid-column:2;grid-row:1/4}}
@media(max-width:560px){.reference-catalog .compact-product{grid-template-columns:minmax(0,1fr);gap:10px}.reference-catalog .compact-foot{grid-column:1;grid-row:4;flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid #eee2d1;padding-top:12px;margin-top:3px}.reference-catalog .chapter-head{padding:20px;gap:12px}}

.industry-dock{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:40;width:198px;padding:16px 10px;background:#fffefa;border:1px solid #ecd8bb;border-radius:12px;box-shadow:0 8px 28px #17264012}
.industry-dock strong{display:block;font-size:14px;padding:0 10px 12px;color:#172640}.industry-dock a{display:flex;gap:9px;align-items:center;padding:11px 9px;border-radius:6px;font-size:13px;color:#42536a;line-height:1.5}.industry-dock a span{font-size:11px;color:#a37138}.industry-dock a:hover,.industry-dock a.active{background:#fff0d5;color:#994908}.industry-dock-toggle{display:none}.product-chapter{scroll-margin-top:105px}
@media(min-width:1201px){body:has(.industry-dock) main>.section>.wrap{width:calc(100% - 280px);max-width:1600px;margin-left:40px;margin-right:240px}}
@media(max-width:1200px){.industry-dock{top:auto;bottom:20px;right:16px;transform:none;width:auto;padding:0;max-width:calc(100vw - 32px)}.industry-dock-toggle{display:block;border:0;border-radius:10px;background:#192944;color:#fff;padding:12px 18px;font:inherit;font-size:14px;cursor:pointer}.industry-dock #industry-dock-links{display:none}.industry-dock.open #industry-dock-links{display:block;padding:14px 8px;width:220px;max-height:65vh;overflow-y:auto}.industry-dock.open .industry-dock-toggle{width:100%;border-radius:10px 10px 0 0}}

/* Independent industry shortcuts. */
.industry-dock{padding:0;background:transparent;border:0;box-shadow:none;border-radius:0}
.industry-dock #industry-dock-links{display:grid;gap:8px}
.industry-dock a{min-height:43px;padding:11px 12px;border:1px solid #ead9c2;border-radius:8px;background:#fffefa;box-shadow:0 2px 7px #17264005;transition:background .15s,border-color .15s}
.industry-dock a:hover{border-color:#eaa34a;background:#fff7e9}
.industry-dock a.active{border-color:#ed9b32;background:#ffedcd;color:#994908;box-shadow:inset 3px 0 #f49318}
@media(max-width:1200px){.industry-dock #industry-dock-links{display:none}.industry-dock.open #industry-dock-links{display:grid;gap:7px;padding:10px;background:#fffaf2;border:1px solid #ead9c2;border-radius:0 0 10px 10px}}
