/* Strategy extension: existing TUDI tokens, native blocks and one deliberate sample stream. */
.strategy-section{padding-block:64px}
.strategy-hero{padding-block:58px 42px}
.strategy-hero h1{max-width:1000px;font-size:clamp(38px,5vw,68px)}
.strategy-section h2{font-size:clamp(28px,3vw,43px);letter-spacing:-.03em;text-wrap:balance}
.strategy-section p{max-width:72ch}
.solution-families{display:grid;grid-template-columns:1.1fr 1fr;gap:64px}
.solution-family h2,.solution-family h3{font-size:28px;margin:0 0 12px}
.solution-family>p{color:var(--muted);margin-bottom:22px}
.solution-family ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.solution-family li{margin:0;border-bottom:1px solid var(--line)}
.solution-family a{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 0;font-size:18px;font-weight:600;text-decoration:none}
.solution-family a span{margin-left:auto;font-size:14px;font-weight:400;text-align:right;color:var(--muted)}
.solution-family a::after{content:"";flex:none;width:7px;height:7px;border-top:2px solid var(--wine);border-right:2px solid var(--wine);transform:rotate(45deg)}
.solution-family a:hover{color:var(--wine)}
.industry-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:24px 0 0;padding:0}
.industry-cards li{min-width:0}
.industry-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none}
.industry-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.industry-card-copy{display:flex;flex:1;flex-direction:column;gap:8px;padding:18px}
.industry-card-copy strong{font-size:20px;line-height:1.25}
.industry-card-copy>span:nth-child(2){font-size:14px;line-height:1.55;color:var(--muted)}
.industry-card-action{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:10px;color:var(--wine);font-size:13px;font-weight:600}
.industry-card-action::after{content:"";width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.industry-card:hover,.industry-card:focus-visible{border-color:var(--wine)}
.industry-card:hover .industry-card-action,.industry-card:focus-visible .industry-card-action{text-decoration:underline}
.strategy-proof{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center}
.strategy-proof>*{min-width:0;margin-block:0!important}
.strategy-proof h2{margin-top:0}
.strategy-proof .deras-stream{width:100%;max-width:100%;margin:0}
.strategy-proof .deras-stream .system-top b{color:var(--paper)}
.strategy-closing{border-top:1px solid var(--line);padding-block:48px}
.strategy-close h2{margin-top:0}
.strategy-close>.actions{margin-block:24px}
.strategy-close>p:last-child{font-size:15px}
.strategy-rows{margin:24px 0}
.strategy-rows>div{display:grid;grid-template-columns:minmax(140px,.38fr) minmax(0,1fr);gap:30px;border-top:1px solid var(--line);padding:22px 0}
.strategy-rows dt{font-size:19px;font-weight:600}
.strategy-rows dd{margin:0;max-width:70ch;color:#465157;line-height:1.75}
.strategy-rows a{color:var(--wine)}
.strategy-detail{display:grid;grid-template-columns:.65fr 1fr;gap:64px;align-items:start}
.solution-visual{width:100%;height:auto;border-radius:6px}
.strategy-detail .strategy-rows>div{grid-template-columns:1fr;gap:6px}
.strategy-detail h2{margin-top:0}
.resource-list{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}
.resource-list article{padding:26px 0;border-top:1px solid var(--line)}
.resource-list h2{font-size:26px;margin:0 0 14px}
.resource-list h2 a{text-decoration:none}
.resource-list article p{color:var(--muted)}
.post-shell{max-width:850px;margin:0 auto;padding:56px 24px 80px}
.post-shell h1{font-size:clamp(34px,4.4vw,56px);line-height:1.13;letter-spacing:-.025em}
.post-shell h2{font-size:29px;line-height:1.3;margin-top:42px}
.post-shell p,.post-shell li{font-size:18px;line-height:1.8}
.post-shell a{color:var(--wine)}
.article-provenance{font-size:14px!important;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}
.strategy-section .contact-layout{align-items:start}
.strategy-section .contact-layout h2{font-size:28px}
.wpcf7 select,.wpcf7 input[type=number]{width:100%;padding:13px;border:1px solid #a9aca7;border-radius:4px;background:#fff;color:var(--ink);font:inherit}
.wpcf7 label{display:block}
.wpcf7 input,.wpcf7 textarea{caret-color:var(--wine)}
.main-menu{gap:20px}
.strategy-footnote{font-size:14px}
/* Catalog routes are a short guide to the current listings, not generated combinations. */
.catalog-technology{padding-block:48px 0}
.catalog-technology+.section{padding-top:48px}
.catalog-technology p{margin-top:14px;color:var(--muted)}
.catalog-technology p a,.industry-system-path a,.case-related a,.product-paths a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}
.catalog-model-heading{font-size:25px;letter-spacing:-.03em;margin-bottom:24px}
.product-detail .product-paths{font-size:13px;line-height:1.7}
.industry-system-path{font-size:14px;color:var(--muted);line-height:1.6;margin-top:14px}
.case-related{font-size:14px;color:var(--muted);line-height:1.6;margin-top:14px}
@media(min-width:1101px) and (max-width:1200px){
 .header-row{gap:20px}
 .main-menu{gap:12px}
 .site-header .main-menu .menu-parent,.site-header .main-menu>a,.site-header .main-menu summary{font-size:13px}
 .main-menu .nav-contact{padding-inline:18px}
}
/* Technology overview: two tangible routes, then catalog and security solution paths. */
.technology-choices,.technology-security-links{list-style:none;margin:0;padding:0}
.technology-choices{border-top:1px solid var(--line);margin-top:24px}
.technology-choices li{border-bottom:1px solid var(--line)}
.technology-choices .technology-choice{display:grid;grid-template-columns:minmax(0,1fr) clamp(110px,17vw,174px);gap:32px;align-items:center;padding:22px 0;color:var(--ink);text-decoration:none}
.technology-choices .technology-choice-copy{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.technology-choices .technology-choice-name{font-size:clamp(24px,2.2vw,32px);line-height:1.2;letter-spacing:-.03em;margin:0}
.technology-choices .technology-choice-description{font-size:16px;line-height:1.6;max-width:56ch}
.technology-choices .technology-choice-detail{display:flex;align-items:center;gap:10px;margin-top:4px;color:var(--wine);font-size:14px;font-weight:600;line-height:1.4}
.technology-choices .technology-choice-arrow{display:inline-block;width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}
.technology-choices .technology-choice:hover .technology-choice-name,.technology-choices .technology-choice:focus-visible .technology-choice-name{color:var(--wine)}
.technology-choices .technology-choice:hover .technology-choice-arrow{transform:translateX(3px) rotate(45deg)}
.technology-choices .technology-choice-example{display:block;text-align:center}
.technology-choices .technology-choice-example img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff}
.technology-choices .technology-choice-example>span{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.35}
.technology-catalog-path{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:32px}
.technology-catalog-path h3{font-size:24px;margin:0 0 6px}
.technology-catalog-path p{margin:0;color:var(--muted);font-size:15px}
.technology-catalog-path .button{flex:none;white-space:nowrap}
.technology-security-section{background:#eae8e1}
.technology-security-section h2{margin-top:0}
.technology-security-section> .wrap>p{color:var(--muted)}
.technology-security-links{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:26px}
.technology-security-links li{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.technology-security-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;color:var(--ink);text-decoration:none}
.technology-security-links a strong{font-size:18px}
.technology-security-links a span{color:var(--muted);font-size:14px;text-align:right}
.technology-security-links a:hover,.technology-security-links a:focus-visible{color:var(--wine)}
.print-guide[hidden]{display:none}
.strategy-section:has(.contact-layout){padding-top:20px}
::selection{background:var(--wine);color:#fff}
a{text-underline-offset:.2em}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--wine);outline-offset:4px}
html{scrollbar-color:#8b817c var(--paper)}
body{font-variant-numeric:lining-nums}
@media(max-width:1100px){.strategy-proof{grid-template-columns:1fr;gap:24px}.solution-families{gap:32px}.strategy-detail{gap:32px}}
@media(max-width:767px){.strategy-section{padding-block:40px}.strategy-hero{padding-block:34px 24px}.solution-families,.strategy-detail,.resource-list{grid-template-columns:1fr;gap:32px}.solution-family a{font-size:17px}.solution-family a span{max-width:48%}.strategy-rows>div{grid-template-columns:1fr;gap:8px;padding:20px 0}.strategy-proof{gap:20px}.solution-visual{max-width:400px}.resource-list{gap:0}.strategy-closing{padding-block:32px}.post-shell{padding-top:30px}.main-menu{gap:0}.strategy-section .contact-layout{gap:24px}.technology-choices .technology-choice{grid-template-columns:minmax(0,1fr) 96px;gap:14px}.technology-choices .technology-choice-description{font-size:15px}.technology-choices .technology-choice-detail{font-size:13px}.technology-catalog-path{align-items:stretch;flex-direction:column;gap:18px}.technology-catalog-path .button{text-align:center;white-space:normal}.technology-security-links{grid-template-columns:1fr;gap:0}}
@media(max-width:767px){.industry-cards{grid-template-columns:1fr;gap:14px}.industry-card{display:grid;grid-template-columns:38% minmax(0,1fr)}.industry-card img{height:100%;min-height:150px;aspect-ratio:auto}.industry-card-copy{padding:14px}.industry-card-copy strong{font-size:18px}}
@media(max-width:350px){.technology-choices .technology-choice{grid-template-columns:minmax(0,1fr) 78px;gap:12px}}
@media(prefers-reduced-motion:reduce){.technology-choices .technology-choice-arrow{transition:none}}
@media print{header,footer,.actions,.print-guide,.deras-stream{display:none!important}.strategy-hero,.strategy-section{padding-block:14px}body{background:white;color:black}.wrap{width:100%;max-width:none}.strategy-rows>div{break-inside:avoid}}
/* User revision: tighter public-site logo proportions and a genuine devices → DERAS → software composition. */
.brand{min-height:44px}
.brand img{height:28px;width:auto}
.header-row>.menu-toggle{margin-left:auto}
.header-row>.main-menu{margin-left:auto}
@media(max-width:1100px){.main-menu.is-open{gap:0;padding-block:12px 20px}.main-menu>a,.main-menu summary{min-height:44px}.main-menu .nav-contact{margin-top:8px}}
@media(max-width:767px){.brand img{height:24px}}
/* One authentic lockup (mark and wordmark at equal height); 44 px language targets; focus rings clear the viewport edge. */
.language-switch{gap:4px}.language-switch a{min-width:44px}
html{scroll-padding-bottom:24px}
.site-footer h3{font-size:13px;letter-spacing:0;text-transform:none}
/* Split menu groups: label link to the overview page + chevron toggle for the dropdown. */
.main-menu .menu-group{position:relative;display:flex;align-items:center}
.main-menu .menu-group details{position:static}
.site-header .main-menu .menu-parent{display:flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;white-space:nowrap}
.site-header .main-menu .menu-group summary{justify-content:center;min-width:28px;padding-inline:6px;gap:0}
.site-header .main-menu .menu-group summary:after{margin-left:0}
@media(max-width:1100px){.main-menu .menu-group{display:block}.site-header .main-menu .menu-parent{padding-right:52px}.site-header .main-menu .menu-group summary{position:absolute;top:0;right:0;width:48px;height:44px;min-height:44px}}
/* Menu motion (after shadcn navigation-menu on 21st.dev): fade + slight zoom from the top on open, quicker exit, directional slide when switching groups. */
@keyframes tudi-menu-in{from{opacity:0;transform:translateY(-6px) scale(.96)}}
@keyframes tudi-menu-out{to{opacity:0;transform:translateY(-4px) scale(.98)}}
@keyframes tudi-menu-from-end{from{opacity:0;transform:translateX(28px)}}
@keyframes tudi-menu-from-start{from{opacity:0;transform:translateX(-28px)}}
@keyframes tudi-menu-item{from{opacity:0;transform:translateY(4px)}}
.site-header .main-menu summary:after{transition:transform .22s cubic-bezier(.16,1,.3,1)}
.site-header .main-menu details[data-closing]>summary:after{transform:translateY(-2px) rotate(45deg)}
.site-header details[open]>.submenu{transform-origin:48px 0;animation:tudi-menu-in .2s cubic-bezier(.16,1,.3,1) both}
.site-header details[open][data-motion=from-end]>.submenu{animation-name:tudi-menu-from-end;animation-duration:.24s}
.site-header details[open][data-motion=from-start]>.submenu{animation-name:tudi-menu-from-start;animation-duration:.24s}
.site-header details[open]>.submenu>*{animation:tudi-menu-item .26s cubic-bezier(.16,1,.3,1) both}
.site-header details[open]>.submenu>:nth-child(2){animation-delay:.02s}.site-header details[open]>.submenu>:nth-child(3){animation-delay:.04s}.site-header details[open]>.submenu>:nth-child(4){animation-delay:.06s}.site-header details[open]>.submenu>:nth-child(5){animation-delay:.08s}.site-header details[open]>.submenu>:nth-child(n+6){animation-delay:.1s}
.site-header .main-menu details[open][data-closing]>.submenu{animation:tudi-menu-out .14s ease-in both}
.site-header .main-menu details[open][data-closing]>.submenu>*{animation:none}
@keyframes tudi-panel-in{from{opacity:0;transform:translateY(-10px)}}
@keyframes tudi-panel-out{to{opacity:0;transform:translateY(-8px)}}
@media(max-width:1100px){
 .site-header .main-menu.is-open{animation:tudi-panel-in .24s cubic-bezier(.16,1,.3,1) both}
 .site-header .main-menu.is-closing{animation:tudi-panel-out .16s ease-in both;pointer-events:none}
 .site-header details[open]>.submenu{transform-origin:top center}
 @supports (interpolate-size:allow-keywords){
  .site-header .main-menu{interpolate-size:allow-keywords}
  .site-header .menu-group details::details-content{height:0;overflow:clip;transition:height .26s cubic-bezier(.16,1,.3,1),content-visibility .26s allow-discrete}
  .site-header .menu-group details[open]:not([data-closing])::details-content{height:auto}
 }
}
@media(prefers-reduced-motion:reduce){.site-header .main-menu,.site-header .main-menu *,.site-header .main-menu *::after{animation:none!important;transition:none!important}.site-header .menu-group details::details-content{transition:none!important}}
/* Breadcrumbs: one centred baseline (the "/" separators are bare text nodes), muted trail, current page in ink. */
.breadcrumbs{align-items:center;gap:0 10px;font-size:13px;line-height:1.4;color:#a3a6a2}
.breadcrumbs a{min-height:32px;color:var(--muted);text-decoration:none;transition:color .2s}
.breadcrumbs a:hover{color:var(--wine);text-decoration:underline;text-underline-offset:3px}
.breadcrumbs>span{color:var(--ink);font-weight:600}
/* Solutions menu, 30 September 2026: two labelled columns (management systems, industries). Solutions is the first
   menu item, so the panel opens from its left edge instead of centring (which would run off-screen). */
@media(min-width:1101px){.site-header .main-menu .submenu-wide{left:-22px;translate:none;width:min(520px,calc(100vw - 48px))}}
.site-header .submenu-wide .submenu-label{padding-top:8px}
