/*
Theme Name: KÜHNEZUG
Description: Original KÜHNEZUG identity with responsive layouts and native WordPress content blocks.
Version: 1.0.1
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: kuzu
*/
@font-face{font-family:Dax;src:url('assets/dax-condensed.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
:root{--kuzu-red:#e31d23;--kuzu-ink:#28292a;--kuzu-text:#535353;--kuzu-line:#d2d2d2;--kuzu-content-width:760px;--kuzu-wide-width:1180px;--kuzu-width:var(--kuzu-wide-width)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#fff;color:var(--kuzu-text);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}img,video,iframe{max-width:100%}img{height:auto}figure{margin:0}a{color:#114e79;text-decoration:none}a:hover{color:#a91419}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #114e79;outline-offset:4px}h1,h2,h3,h4,h5,h6{font-family:Dax,'Arial Narrow',Arial,sans-serif;font-weight:700;line-height:1.15;color:var(--kuzu-ink)}h2{color:var(--kuzu-text)}h4,h6{color:#649ed9}h1,h2{text-transform:uppercase}h1{font-size:clamp(30px,3.5vw,37px);margin:0 0 18px}h2{font-size:27px;margin:1.25em 0 .6em}h3{font-size:23px}p{margin:0 0 1em}.site-width{width:min(var(--kuzu-width),calc(100% - 40px));margin-inline:auto}.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;left:20px;top:16px;background:#fff;padding:12px 18px;z-index:1000}.site-header{border-bottom:1px solid #b6b6b6;background:linear-gradient(#fff 80%,#f5f5f5)}.header-main{min-height:115px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;max-width:70%;line-height:1}.brand img{display:block;width:346px;height:auto}.custom-logo-link img{max-width:346px;height:auto}.language-switcher{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;align-items:center;font-size:12px}.language-switcher a{display:block;min-height:36px;min-width:36px;padding:6px;color:var(--kuzu-text);text-decoration:none;text-align:center}.language-switcher [aria-current]{color:var(--kuzu-red);font-weight:bold}.nav-toggle{display:none;border:1px solid #bbb;background:#fff;color:var(--kuzu-ink);padding:8px 14px;min-height:44px}.primary-menu{list-style:none;margin:0;padding:0}.primary-menu{display:flex;gap:0;flex-wrap:wrap}.primary-menu>li{position:relative;display:flex;align-items:center}.primary-menu a{display:block;color:var(--kuzu-text);font-family:Dax,'Arial Narrow',Arial,sans-serif;font-size:18px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;text-decoration:none;padding:10px 16px;line-height:1.5}.primary-menu>li:first-child>a{padding-left:0}.primary-menu .current-menu-item>a,.primary-menu .current-menu-ancestor>a,.primary-menu a:hover{color:var(--kuzu-red)}.primary-menu .current-menu-item>a,.primary-menu .current-menu-ancestor>a{box-shadow:inset 0 -2px var(--kuzu-red)}.site-main{padding-top:28px;padding-bottom:48px;min-height:50vh}.header-strip{display:block;width:100%;height:85px;object-fit:cover;margin:0 0 28px}.breadcrumbs{font-size:12px;color:#686868;margin-bottom:22px;display:flex;gap:8px;flex-wrap:wrap}.breadcrumbs a{color:inherit;text-decoration:underline;text-underline-offset:.18em}.content-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px}.context-nav{border-right:1px solid #a0a0a0;padding-right:22px}.context-nav h2{font-size:20px;margin:0 0 12px}.context-nav ul{list-style:none;padding:0;margin:0}.context-nav ul ul{padding-left:14px}.context-nav li{border-bottom:1px solid #eee}.context-nav a{display:block;padding:9px 0;font-family:Dax,'Arial Narrow',Arial,sans-serif;font-size:17px;line-height:1.3;text-decoration:none;text-transform:uppercase;color:var(--kuzu-text)}.context-nav .is-current>a{color:var(--kuzu-red);font-weight:bold}.context-nav a:hover{color:var(--kuzu-red)}.entry{min-width:0}.entry-body{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}.entry-body.has-gallery{grid-template-columns:minmax(0,1fr) 210px}.entry-content{min-width:0;overflow-wrap:anywhere}.entry-content>*:first-child{margin-top:0}.entry-content:after{content:'';display:block;clear:both}.entry-content .wp-block-image img{height:auto}.entry-content .wp-block-columns{gap:24px}.entry-content .wp-block-column{min-width:0}.entry-content ul,.entry-content ol{padding-left:1.4em}.entry-content table{width:100%;border-collapse:collapse;font-size:14px}.entry-content th,.entry-content td{padding:10px;border:1px solid var(--kuzu-line);text-align:left;vertical-align:top}.entry-content th{background:#eee;font-weight:bold}.entry-content .wp-block-table,.table-scroll{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.entry-content .wp-block-table table{min-width:420px}.entry-content .wp-block-media-text{gap:24px}.entry-content .wp-block-media-text__content{padding:16px 0}.entry-content .wp-block-button__link,.read-more{border-radius:0;background:var(--kuzu-red);color:#fff;text-decoration:none;display:inline-block;font-size:13px;padding:9px 15px;line-height:1.4}.entry-content .wp-block-button__link:hover,.read-more:hover{background:#b41419;color:#fff}.read-more:after{content:' ›';font-weight:bold}.entry-content .kuzu-card{border-bottom:1px solid var(--kuzu-line);padding-bottom:20px}.entry-content .kuzu-card h2{margin:14px 0 10px;font-size:26px}.entry-content .kuzu-card .wp-block-image{margin-bottom:0}.entry-content .kuzu-card img{width:100%;aspect-ratio:230/150;object-fit:contain}.entry-content .kuzu-specification{background:#f0f0f0;border:1px solid #d7d7d7;padding:24px}.entry-gallery{min-width:0}.entry-gallery h2{font-size:21px;margin-top:0}.entry-gallery .gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.entry-gallery figure:first-child{grid-column:1/-1}.entry-gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:1px solid #ddd}.entry-gallery figcaption{font-size:12px;line-height:1.4;margin-top:7px}.entry-gallery .gallery-grid figure:first-child img{aspect-ratio:4/3;object-fit:contain}.entry-gallery a{display:block}.home .site-main{padding-top:28px}.hero{margin:0 0 30px;background:#323232;color:#fff;position:relative}.hero-slide{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(250px,1fr);min-height:278px}.hero-slide[hidden]{display:none}.hero-image{min-width:0;overflow:hidden;display:flex}.hero-image img{width:100%;height:100%;min-height:278px;object-fit:cover;display:block}.hero-copy{padding:32px 25px 28px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;background:linear-gradient(120deg,#494949,#2b2b2b)}.hero-copy h2{margin:0 0 14px;font-size:32px;color:#fff;overflow-wrap:anywhere}.hero-copy p{font-size:14px;line-height:1.5;margin-bottom:20px}.hero-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:9px 12px;background:#f1f1f1;color:#535353}.hero-controls button{width:36px;height:34px;border:1px solid #bbb;background:#fff;color:#333;font-size:18px}.hero-controls button:hover{border-color:var(--kuzu-red);color:var(--kuzu-red)}.hero-status{font-size:12px;margin-inline:6px;min-width:44px;text-align:center}.home-entry{margin-bottom:28px}.home-entry h1{margin-bottom:16px}.home-entry>.entry-content>.wp-block-columns{margin-top:32px}.home-entry .wp-block-column{display:flex;flex-direction:column}.home-entry .wp-block-column>.wp-block-buttons{margin-top:auto}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.post-card{min-width:0;border-bottom:1px solid var(--kuzu-line);padding-bottom:24px}.post-card img{width:100%;height:185px;object-fit:cover;display:block}.post-card h2{font-size:25px;margin:15px 0 12px}.post-card h2 a{color:inherit;text-decoration:none}.post-card p{font-size:14px}.pagination{margin-top:32px}.nav-links{display:flex;gap:10px;flex-wrap:wrap}.page-numbers{padding:7px 12px;border:1px solid #ddd}.page-numbers.current{background:var(--kuzu-red);color:#fff}.site-footer{background:linear-gradient(#f2f2f2,#fff);border-top:1px solid #ccc;padding:20px 0 25px;font-size:12px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.footer-brand{font-family:Dax,'Arial Narrow',Arial,sans-serif;font-size:17px;letter-spacing:.4px}.footer-menu{list-style:none;display:flex;flex-wrap:wrap;margin:0;padding:0;gap:0}.footer-menu a{display:block;padding:6px 10px;color:var(--kuzu-text)}.footer-partners{margin-top:22px}.footer-partners p{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.footer-partners img{float:none!important;max-width:100%;object-fit:contain}.back-top{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid #bbb;color:#535353;text-decoration:none}.search-form{display:flex;gap:8px;flex-wrap:wrap}.search-field{padding:10px;border:1px solid #aaa;max-width:100%}.search-submit{background:var(--kuzu-red);color:#fff;padding:10px 18px;border:0}.alignleft{float:left;margin:0 24px 16px 0}.alignright{float:right;margin:0 0 16px 24px}.aligncenter{margin-inline:auto;display:block}[hidden]{display:none!important}
@media(max-width:1000px){.primary-menu a{padding-inline:12px;font-size:17px}.content-layout{grid-template-columns:175px minmax(0,1fr);gap:22px}.entry-body.has-gallery{grid-template-columns:minmax(0,1fr) 180px}.hero-copy h2{font-size:29px}}@media(max-width:780px){.site-width{width:calc(100% - 32px)}.header-main{min-height:96px;gap:14px}.brand img,.custom-logo-link img{max-width:290px;width:100%}.header-tools{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.language-switcher a{min-height:30px;padding:2px 5px}.nav-toggle{display:block}.primary-nav{padding-bottom:10px}.js .primary-nav:not(.is-open){display:none}.primary-menu{display:block;border-top:1px solid #ddd}.primary-menu>li{display:block;border-bottom:1px solid #ddd}.primary-menu a,.primary-menu>li:first-child>a{padding:11px 12px;font-size:18px}.primary-menu .current-menu-item>a,.primary-menu .current-menu-ancestor>a{box-shadow:none}.content-layout{grid-template-columns:1fr;gap:25px}.context-nav{border-right:0;border-bottom:1px solid #ccc;padding:0 0 14px}.context-nav>ul{display:flex;flex-wrap:wrap;gap:2px 20px}.context-nav>ul>li{border:0}.context-nav>ul>li>ul{display:none}.context-nav>ul>li.is-current>ul,.context-nav>ul>li.is-ancestor>ul{display:block}.context-nav a{font-size:16px;padding:7px 0}.context-nav h2{margin-bottom:8px}.entry-body.has-gallery{grid-template-columns:minmax(0,1fr) 190px}.hero-slide{grid-template-columns:minmax(0,1.65fr) minmax(220px,1fr)}.hero-copy{padding:24px 20px}.hero-copy h2{font-size:27px}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-strip{height:65px}.home-entry>.entry-content>.wp-block-columns{flex-wrap:wrap!important}.home-entry>.entry-content>.wp-block-columns>.wp-block-column{flex-basis:calc(50% - 12px)!important}}@media(max-width:540px){body{font-size:15px}.site-main{padding-top:20px}.header-main{min-height:105px}.brand{max-width:67%}.header-tools{gap:5px}.language-switcher{gap:0}.language-switcher a{min-width:30px;font-size:11px}.nav-toggle{padding:5px 10px;font-size:13px;min-height:38px}.hero-slide{grid-template-columns:1fr}.hero-image img{min-height:0;height:auto;aspect-ratio:670/269;object-fit:cover}.hero-copy{padding:22px;min-height:180px}.hero-copy h2{font-size:29px;margin-bottom:9px}.hero-copy p{margin-bottom:14px}.hero-controls{padding:8px}.entry-body.has-gallery{grid-template-columns:1fr}.entry-gallery .gallery-grid{grid-template-columns:repeat(3,1fr)}.entry-gallery .gallery-grid figure:first-child{grid-column:auto}.entry-gallery .gallery-grid figure:first-child img{aspect-ratio:1}.post-grid{grid-template-columns:1fr}.post-card img{height:auto;max-height:290px}.footer-top{align-items:flex-start}.footer-menu a{padding-left:0;padding-right:14px}.home-entry>.entry-content>.wp-block-columns>.wp-block-column{flex-basis:100%!important}.entry-content .wp-block-columns{gap:30px}.entry-content .kuzu-card img{max-height:210px}.header-strip{height:50px;margin-bottom:21px}.entry-content .wp-block-media-text{grid-template-columns:1fr!important}.entry-content .wp-block-media-text__media,.entry-content .wp-block-media-text__content{grid-column:1!important;grid-row:auto!important}.alignleft,.alignright{float:none;margin:0 0 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}
/* Original proportions, signature marker, translucent hero and rounded cards. */
:root{--kuzu-width:var(--kuzu-wide-width)}.site-header{background:linear-gradient(#fff 32%,#e3e3e3)}.site-header>.site-width{position:relative}.brand img{width:404px}.header-main{min-height:114px}.primary-nav{padding-right:90px}.primary-menu a{font-size:16px;padding:9px 14px}.primary-menu>li:first-child>a{padding-left:16px}.primary-menu .current-menu-item>a{background:linear-gradient(#eee,#fff);border-radius:4px 4px 0 0;box-shadow:none}.header-tools .language-switcher{position:absolute;right:0;bottom:4px}.site-main,.home .site-main{padding-top:50px}.hero{border-radius:12px;overflow:hidden;background:#eee}.hero-slide{position:relative;display:block;min-height:269px}.hero-image img{min-height:269px;aspect-ratio:970/269;object-fit:cover}.hero-copy{position:absolute;inset:0 0 0 auto;width:31%;background:rgba(250,249,240,.62);color:#353535;backdrop-filter:blur(2px);padding:28px 30px}.hero-copy h2{font-size:25px;color:var(--kuzu-text)}.hero-copy p{font-size:13px}.hero-controls{background:#ececec;padding:5px 12px}.hero-controls button{width:30px;height:28px;font-size:18px}.hero-copy .read-more{border-radius:7px;padding:6px 15px}.entry>h1,.home-entry>h1{display:flex;align-items:baseline;gap:8px}.entry>h1:before,.home-entry>h1:before{content:'';display:block;flex:0 0 32px;height:23px;background:#e31d23;border-radius:6px;transform:translateY(1px)}.home-entry>.entry-content>.wp-block-columns>.wp-block-column{background:#ededed;border:1px solid #d7d7d7;border-radius:12px;overflow:hidden;padding:0 12px 16px}.home-entry>.entry-content>.wp-block-columns>.wp-block-column>.wp-block-image{margin:0 -12px 8px;max-width:calc(100% + 24px)}.home-entry>.entry-content>.wp-block-columns>.wp-block-column>.wp-block-image img{width:100%;height:auto;aspect-ratio:230/110;object-fit:cover}.home-entry .wp-block-column h2{font-size:25px;margin:14px 0 10px}.home-entry .wp-block-column p{font-size:14px}.entry-content .kuzu-card{background:#ededed;border:1px solid #d7d7d7;border-radius:12px;overflow:hidden}.entry-content .wp-block-button__link{border-radius:6px}.entry-content .kuzu-card img{object-fit:cover}.entry-content .wp-block-gallery img{border-radius:4px}.site-footer{min-height:120px}
@media(max-width:1000px){.primary-menu a{padding-inline:11px}.hero-copy{padding:22px;width:30%}.hero-copy h2{font-size:24px}}
@media(max-width:780px){.header-main{min-height:104px}.header-tools .language-switcher{position:static}.primary-nav{padding-right:0}.primary-menu a,.primary-menu>li:first-child>a{padding:11px 12px;font-size:18px}.site-main,.home .site-main{padding-top:30px}}
@media(max-width:900px){.hero-slide{min-height:0}.hero-image img{height:clamp(190px,30vw,260px);min-height:0;aspect-ratio:auto;object-fit:cover;object-position:left center}.hero-copy{position:static;width:100%;min-width:0;min-height:0;padding:20px 22px;background:linear-gradient(110deg,#f3f1e8,#e6e6df)}.hero-copy h2{max-width:100%;font-size:28px;overflow-wrap:anywhere;hyphens:auto}.hero-copy p{font-size:14px}}
@media(max-width:540px){.hero-image img{height:190px}.hero-copy{min-height:0}.entry>h1:before,.home-entry>h1:before{flex-basis:25px;height:20px}.site-main,.home .site-main{padding-top:24px}.home-entry>.entry-content>.wp-block-columns>.wp-block-column>.wp-block-image img{aspect-ratio:230/110;max-height:none}}
@media(min-width:781px){.primary-menu>li{display:block}}

html:not(.js) .nav-toggle{display:none}
/* Keep the original logo inside its flex column on narrow screens. */
.brand{min-width:0;flex:0 1 404px}.header-tools{flex-shrink:0}
@media(max-width:780px){.brand{max-width:calc(100% - 110px)}.brand img{width:100%;max-width:100%;height:auto}}
/* Keep long contextual menus compact on phones, while preserving every link. */
.context-toggle{display:none}
@media(max-width:780px){.js .context-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;width:100%;padding:8px 12px;background:#f3f3f3;border:1px solid #ccc;color:#535353;text-align:left;font-size:14px}.context-toggle span{transition:transform .15s}.context-toggle[aria-expanded=true] span{transform:rotate(180deg)}.js .context-links:not(.is-open){display:none}.context-links{padding-top:10px}.context-links>ul{display:flex;flex-direction:column;gap:0}.context-links ul ul{padding-left:16px}.context-links a[aria-current=page]{color:#e31d23;font-weight:bold}}
/* Let compound titles wrap fully instead of forcing their flex row wider. */
h1{overflow-wrap:anywhere;hyphens:auto}
/* Editable overview cards retain the original image / copy relationship. */
.entry-content .kuzu-overview-card{display:grid;grid-template-columns:minmax(0,39%) minmax(0,1fr);gap:0;background:#ededed;border:1px solid #d7d7d7;border-radius:12px;overflow:hidden;margin:20px 0}
.entry-content .kuzu-overview-media{margin:0;min-width:0}
.entry-content .kuzu-overview-media .wp-block-image{margin:0;height:100%}
.entry-content .kuzu-overview-media a{display:block;height:100%}
.entry-content .kuzu-overview-media img{display:block;width:100%;height:100%;object-fit:cover}
.entry-content .kuzu-overview-copy{display:flex;flex-direction:column;min-width:0;padding:14px 18px}
.entry-content .kuzu-overview-copy h2{font-size:23px;margin:0 0 10px}
.entry-content .kuzu-overview-copy p{font-size:14px;line-height:1.55;margin:0 0 14px}
.entry-content .kuzu-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:6px}
.entry-content .kuzu-card-actions .wp-block-button__link{background:linear-gradient(#969696,#707070);color:#fff;padding:8px 10px;font-size:12px;text-transform:uppercase}
.entry-content .kuzu-card-actions .wp-block-button__link:hover{background:#555}
.entry-content .kuzu-overview-card-icons{grid-template-columns:115px minmax(0,1fr);background:transparent;border:0;border-radius:0;gap:18px}
.entry-content .kuzu-overview-card-icons .kuzu-overview-media img{height:auto;object-fit:contain}
.entry-content .kuzu-overview-card-icons .kuzu-overview-copy{padding:0}
.home-entry>.entry-content>.kuzu-home-cards>.wp-block-column>.wp-block-image{width:calc(100% + 24px);align-self:stretch}
.home-entry .kuzu-home-cards .wp-block-image a{display:block;width:100%}
.home-entry .kuzu-home-cards .wp-block-image img{display:block;width:100%}
/* Footer content is an editable sequence of image blocks, not paragraphs. */
.footer-partners{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:6px;margin-top:14px}
.footer-partners>.wp-block-image{margin:0;flex:0 0 auto}
.footer-partners .wp-block-image a{display:flex;align-items:center;min-height:44px}
.footer-partners .wp-block-image img{display:block;width:auto;max-height:51px;max-width:140px}
.header-strip{height:auto;aspect-ratio:970/117;object-fit:cover;border-radius:10px}
@media(min-width:781px){.context-nav a{font-size:15px;padding:5px 0}.context-nav li{border-bottom:0}.context-nav h2 a{font-size:17px}.context-nav{padding-right:16px}.content-layout{grid-template-columns:185px minmax(0,1fr);gap:20px}}
@media(max-width:780px){.context-links a{min-height:44px}.header-strip{min-height:50px}}
@media(max-width:540px){.entry-content .kuzu-overview-card{grid-template-columns:minmax(0,1fr)}.entry-content .kuzu-overview-media img{height:auto;aspect-ratio:300/240;object-fit:cover}.entry-content .kuzu-overview-card-icons{grid-template-columns:80px minmax(0,1fr);gap:12px}.entry-content .kuzu-overview-card-icons .kuzu-overview-media img{aspect-ratio:1}.entry-content .kuzu-overview-copy{padding:16px}.entry-content .kuzu-overview-card-icons .kuzu-overview-copy h2{font-size:21px}.footer-partners{justify-content:flex-start}.footer-partners .wp-block-image img{max-width:110px;max-height:44px}}
/* The legacy partner asset includes 810px of transparent left padding. */
.footer-partners .wp-block-image a img[src$="-wtsh2.png"]{width:112px;height:51px;max-width:none;max-height:none;object-fit:cover;object-position:right}
@media(max-width:540px){.footer-partners .wp-block-image a img[src$="-wtsh2.png"]{width:96px;height:44px}}
@media(max-width:540px){.footer-top{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:10px}.footer-brand{grid-column:1/-1}.footer-top nav{min-width:0}.footer-partners{gap:3px}.footer-partners .wp-block-image a{min-width:44px}.footer-partners .wp-block-image img{max-height:44px}}
/* Original language flags with accessible names and generous mobile hit areas. */
.language-switcher{gap:0}
.language-switcher a{display:flex;align-items:center;justify-content:center;min-width:24px;padding:6px 2px}
.language-switcher img{display:block;width:20px;height:14px;max-width:none}
@media(max-width:780px){.language-switcher a{min-width:36px;min-height:36px}}
/* Fade the active desktop tab into the page, including section ancestors. */
@media(min-width:781px){
.primary-menu>li.current-menu-item>a,.primary-menu>li.current-menu-ancestor>a{position:relative;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 85%);border-radius:5px 5px 0 0;box-shadow:none}
.primary-menu>li.current-menu-item>a::before,.primary-menu>li.current-menu-ancestor>a::before{content:'';position:absolute;inset:0;border-inline:1px solid #0002;border-radius:inherit;mask-image:linear-gradient(transparent,#000 75%);pointer-events:none}
.primary-menu>li.current-menu-item>a::after,.primary-menu>li.current-menu-ancestor>a::after{content:'';position:absolute;bottom:-1px;left:1px;right:1px;height:1px;background:#fff;pointer-events:none}
}
/* Original slideshow CTA: regular Dax, warm red shading and double chevron. */
.hero-copy .read-more{font-family:Dax,'Arial Narrow',Arial,sans-serif;font-size:16px;font-weight:400;line-height:20px;padding:4px 13px;border-radius:8px;background:linear-gradient(#dc3521,#a52008);color:#fff;text-shadow:0 1px 1px #78160080}
.hero-copy .read-more::after{content:' >>';font-weight:400}
.hero-copy .read-more:hover{background:linear-gradient(#c42b18,#8d1a06);color:#fff}
/* Compact original footer: logos above the page links, with a discreet top link. */
/* Original 149px background includes the #a0a0a0 top rule and fades to white at 100px. */
.site-footer{padding:0 0 24px;min-height:110px;border-top:0;background:#fff url("assets/page-footer-bg.png") left top repeat-x}
.footer-inner{display:grid;grid-template-columns:minmax(0,max-content) 28px;justify-content:end;align-items:start;column-gap:6px;row-gap:0}
.footer-top{display:contents}
.footer-partners{grid-column:1;grid-row:1;margin:0;justify-content:flex-end;gap:5px}
.footer-top nav{grid-column:1;grid-row:2;justify-self:end;max-width:100%}
.footer-menu{justify-content:flex-end;gap:0;font-size:11px;line-height:1.4}
.footer-menu li+li{border-left:0;background:url("assets/footer-menu-divider.png") left center no-repeat}
.footer-menu a{padding:1px 8px;text-decoration:none}
.footer-menu a:hover{text-decoration:none}
.footer-top .back-top{grid-column:2;grid-row:1;position:relative;border:0;width:28px;height:28px;font-size:0;color:#818790;transition:transform .18s ease,color .18s ease}
.footer-top .back-top::before{content:"";position:absolute;left:50%;top:8px;width:1px;height:12px;background:currentColor;transform:translateX(-50%)}
.footer-top .back-top::after{content:"";position:absolute;left:50%;top:8px;width:6px;height:6px;border-top:1px solid currentColor;border-left:1px solid currentColor;transform:translateX(-50%) rotate(45deg)}
.footer-top .back-top:hover,.footer-top .back-top:focus-visible{color:#535353;transform:translateY(-3px)}
@media(max-width:540px){.site-footer{padding-top:10px}.footer-inner{grid-template-columns:minmax(0,1fr) 28px;row-gap:5px}.footer-partners{grid-column:1/-1;gap:3px}.footer-top nav{justify-self:end}.footer-menu{font-size:11px}.footer-menu a{padding:6px}.footer-top .back-top{grid-row:2;min-height:36px}.footer-partners .wp-block-image a{min-height:44px}}
.footer-menu{display:flex;align-items:center;justify-content:flex-end;width:auto}.footer-menu li{flex:0 0 auto}.footer-menu a,.footer-menu button{white-space:nowrap}.footer-menu button{display:block;border:0;background:transparent;color:var(--kuzu-text);font:inherit;padding:1px 8px}.footer-menu a:hover,.footer-menu a:focus-visible,.footer-menu button:hover,.footer-menu button:focus-visible{color:var(--kuzu-red)}
@media(min-width:541px){.footer-menu{font-size:10px;line-height:1.6}.footer-menu a,.footer-menu button{padding:1px 6px;text-align:center}}
@media(max-width:540px){.footer-menu button{padding:6px}}
/* Match the original desktop introduction while retaining readable mobile copy. */
@media(min-width:781px){
.home-entry>h1{font-size:35px;line-height:41px;margin-bottom:15px;gap:6px}
.home-entry>h1::before{flex-basis:34px;height:24px}
.home-entry>.entry-content>p{font-size:13px;line-height:1.5;margin-bottom:0}
.home .hero{margin-bottom:20px}
}
/* The homepage has no breadcrumb row, so it uses normal component spacing below the header. */
.home .site-main{padding-top:24px}
@media(max-width:540px){.home .site-main{padding-top:16px}}
/* Crossfade hero slides while keeping the current slide in normal document flow. */
.hero-slides{position:relative}
:is(.hero-slide,.reference-slide){opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s linear .8s}
:is(.hero-slide,.reference-slide).is-active{opacity:1;visibility:visible;transition-delay:0s}
:is(.hero-slide,.reference-slide):not(.is-active){position:absolute;inset:0;width:100%;pointer-events:none}
@media(prefers-reduced-motion:reduce){:is(.hero-slide,.reference-slide){transition:none}}
/* Controls sit inside the translucent copy panel and stay clear of the photograph. */
.hero-controls{position:absolute;right:12px;bottom:10px;z-index:2;gap:4px;padding:3px 5px;border-radius:6px;background:rgba(255,255,255,.72);box-shadow:0 1px 5px #0002}
.hero-controls button{width:34px;height:34px;background:transparent;border:0;border-radius:4px}
.hero-controls button:hover{background:#fff}
.hero-controls{opacity:0;transform:translateY(5px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.hero:hover .hero-controls,.hero:focus-within .hero-controls{opacity:1;transform:none;pointer-events:auto}
.hero-controls [data-playback]{position:relative;font-size:0}
.hero-controls [data-playback]::before,.hero-controls [data-playback]::after{content:"";position:absolute;top:9px;width:3px;height:16px;border-radius:1px;background:currentColor}
.hero-controls [data-playback]::before{left:12px}.hero-controls [data-playback]::after{right:12px}
.hero-controls [data-playback][aria-pressed=true]::before{left:12px;top:8px;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:14px solid currentColor;border-radius:0;background:transparent}
.hero-controls [data-playback][aria-pressed=true]::after{display:none}

.hero-status{margin-inline:2px}
@media(any-hover:none){.hero-controls{opacity:1;transform:none;pointer-events:auto}}
@media(max-width:540px){.hero-controls{right:10px;bottom:10px}.hero-controls button{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.hero-controls [data-playback]{display:none}}
/* Context navigation uses normal case and wraps long names inside its column. */
.context-nav,.context-links,.context-nav li{min-width:0}
.context-nav h2,.context-nav a{text-transform:none}
.context-nav a[aria-current="page"]{color:var(--kuzu-red);font-weight:700;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.context-nav a{overflow-wrap:anywhere;hyphens:auto;max-width:100%}
/* Source-defined boxes apply to every page, not only the front page. */
.entry-content>.kuzu-home-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:stretch;margin-top:30px}
/* Five-card service rows fit the available content width, including beside a sidebar. */
.entry-content>.kuzu-home-cards:has(>.wp-block-column:nth-child(5)){grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:16px}
.entry-content>.kuzu-home-cards>.kuzu-card{display:flex;flex-direction:column;min-width:0;padding:0 12px 16px;background:#ededed;border:1px solid #d7d7d7;border-radius:12px;overflow:hidden}
.entry-content>.kuzu-home-cards>.kuzu-card>.wp-block-image{width:calc(100% + 24px);max-width:none;margin:0 -12px 8px}
.entry-content>.kuzu-home-cards .wp-block-image a{display:block;width:100%}
.entry-content>.kuzu-home-cards .wp-block-image img{display:block;width:100%;height:auto;aspect-ratio:230/110;object-fit:cover}
.entry-content>.kuzu-home-cards h2{font-size:25px;margin:14px 0 10px}
.entry-content>.kuzu-home-cards p{font-size:14px;margin:0 0 14px}
.entry-content>.kuzu-home-cards .kuzu-card-actions{margin-top:auto}
.entry-content .kuzu-content-box{background:#ededed;border:1px solid #d7d7d7;border-radius:0;padding:18px 22px;margin:20px 0;min-width:0;overflow-wrap:anywhere}
.entry-content .kuzu-content-box>:first-child{margin-top:0}
.entry-content .kuzu-content-box>:last-child{margin-bottom:0}
.entry-content .kuzu-content-box ul{padding-left:1.4em}
.entry-content .kuzu-content-box ul>li{padding-left:4px;margin:6px 0}

.entry-content .kuzu-overview-card-icons{background:#ededed;border:1px solid #d7d7d7;border-radius:12px;gap:0}
.entry-content .kuzu-overview-card-icons .kuzu-overview-copy{padding:12px 16px}
@media(max-width:780px){.entry-content>.kuzu-home-cards,.entry-content>.kuzu-home-cards:has(>.wp-block-column:nth-child(5)){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.entry-content>.kuzu-home-cards,.entry-content>.kuzu-home-cards:has(>.wp-block-column:nth-child(5)){grid-template-columns:minmax(0,1fr)}.entry-content .kuzu-content-box{padding:14px 16px}.entry-content .kuzu-overview-card-icons .kuzu-overview-copy{padding:12px}}
/* Original desktop header geometry: 400px logo at y=40, 33px navigation row. */
@media(min-width:781px){
.header-main{min-height:116px;align-items:flex-start;padding-top:40px}
.brand{flex-basis:400px}
.brand img,.custom-logo-link img{width:400px;max-width:100%;height:auto}
.primary-menu>li>a{line-height:21px;padding-top:6px;padding-bottom:6px}
}
/* Imported slideshow artwork already contains the original frame and translucent panel. */
@media(min-width:901px){.hero-copy{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:900px){.hero-copy{box-shadow:inset 0 1px 0 #fff9,inset 0 -3px 10px #0002}}
/* Original desktop typography throughout content pages and overview cards. */
@media(min-width:781px){
.site-main{font-size:13px;line-height:1.5}
.site-main .entry>h1,.site-main .home-entry>h1,.site-main>h1{font-size:35px;line-height:41px;margin-bottom:15px;gap:6px}
.site-main .entry>h1::before,.site-main .home-entry>h1::before{flex-basis:34px;height:24px}
.site-main .entry-content p,.site-main .entry-content ul,.site-main .entry-content ol,.site-main .entry-content table,.site-main .post-card p{font-size:13px;line-height:1.5}
.site-main .entry-content p{margin-bottom:13px}
.site-main .entry-content h2,.site-main .post-card h2{font-size:22px;line-height:24px}
.site-main .home-entry>.entry-content>p,.site-main .kuzu-content-box>:last-child{margin-bottom:0}
}
/* Use the former secondary-menu strip for breadcrumbs above the banner. */
.site-main.singular-main{padding-top:0}
.singular-main>.breadcrumbs{min-height:50px;margin:0;padding:12px 0;align-items:center;column-gap:8px;row-gap:4px}
.singular-main>.header-strip{margin-bottom:24px}
@media(max-width:780px){.singular-main>.breadcrumbs{min-height:44px;padding:10px 0}.singular-main>.header-strip{margin-bottom:20px}}

/* Reference projects: compact gallery and technical specifications matching the legacy layout. */
.entry-content .reference-carousel {
    display: block; position: relative; overflow: hidden; width: min(100%, 555px); margin: 0 0 12px;
    border: 0; border-radius: 10px; background: #ededed;
    box-shadow: inset 0 1px 5px #00000012;
}
.reference-carousel .reference-slide {
    width: 100% !important; margin: 0 !important; height: auto; display: block;
}
.reference-carousel .reference-slide[hidden] { display: none !important; }
/* Override WordPress gallery positioning so faded-out slides do not occupy rows. */
.reference-carousel .reference-slide:not(.is-active) {
    position: absolute !important; inset: 0; width: 100%; pointer-events: none;
}
.reference-slide > a { display: block; width: 100%; }
.reference-carousel .reference-slide img {
    display: block; width: 100%; height: auto !important;
    object-fit: contain !important; border-radius: 10px;
}
.reference-carousel .reference-slide figcaption {
    position: static; padding: 10px 16px; margin: 0; background: #ededed;
    color: #333; max-height: none;
}
.reference-controls {
    display: flex; position: absolute; right: 8px; bottom: 8px; align-items: center; justify-content: flex-end; gap: 6px;
    padding: 4px 6px; border: 0; border-radius: 6px; background: rgba(245,245,245,.9); box-shadow: 0 1px 5px #0002;
    opacity: 0; transform: translateY(5px); pointer-events: none; transition: opacity .18s ease, transform .18s ease;
}
.reference-carousel:hover .reference-controls,.reference-carousel:focus-within .reference-controls { opacity: 1; transform: none; pointer-events: auto; }
.reference-controls [data-playback] { position: relative; font-size: 0; }
.reference-controls [data-playback]::before,.reference-controls [data-playback]::after { content: ""; position: absolute; top: 8px; width: 3px; height: 14px; border-radius: 1px; background: currentColor; }
.reference-controls [data-playback]::before { left: 12px; }
.reference-controls [data-playback]::after { right: 12px; }
.reference-controls [data-playback][aria-pressed=true]::before { left: 12px; top: 7px; width: 0; height: 0; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 13px solid currentColor; border-radius: 0; background: transparent; }
.reference-controls [data-playback][aria-pressed=true]::after { display: none; }
@media (any-hover: none) { .reference-controls { opacity: 1; transform: none; pointer-events: auto; } }
.reference-controls button {
    border: 1px solid #bbb; border-radius: 3px; background: linear-gradient(#fff, #eee);
    color: #333; min-width: 36px; min-height: 32px; cursor: pointer;
}
.reference-controls button:hover { background: #fff; color: #ce3323; }
.reference-controls button:focus-visible { outline: 2px solid #ce3323; outline-offset: 2px; }
.single-kuzu_reference .entry-content .wp-block-table {
    width: min(100%, 555px); margin: 4px 0 24px; border: 0; border-radius: 0; overflow-x: auto;
}
.single-kuzu_reference .entry-content .wp-block-table table {
    width: 100%; min-width: 0; margin: 0; border: 0; border-collapse: collapse;
}
.single-kuzu_reference .entry-content .wp-block-table td,
.single-kuzu_reference .entry-content .wp-block-table th {
    border: 0; padding: 3px 0;
    vertical-align: top; line-height: 1.35; overflow-wrap: anywhere; background: transparent;
}
.single-kuzu_reference .entry-content .wp-block-table tr { background: transparent; }
.single-kuzu_reference .entry-content .wp-block-table tr > :first-child { width: 42%; padding-right: 18px; border-right: 1px solid #aaa; font-weight: 400; }
.single-kuzu_reference .entry-content .wp-block-table tr > :last-child { padding-left: 32px; }
.single-kuzu_reference .entry-content .wp-block-table ul { margin: 0; padding-left: 18px; }
@media (max-width: 540px) {
    .reference-controls button { min-width: 44px; min-height: 44px; }
}

@media (max-width: 420px) {
    .single-kuzu_reference .entry-content .reference-specifications tr { display: grid; grid-template-columns: minmax(0, 1fr); border-bottom: 1px solid #ddd; }
    .single-kuzu_reference .entry-content .reference-specifications tr:last-child { border-bottom: 0; }
    .single-kuzu_reference .entry-content .reference-specifications tr > * { display: block; width: auto; border: 0; padding: 4px 12px 10px; }
    .single-kuzu_reference .entry-content .reference-specifications tr > :first-child { width: auto; padding: 10px 12px 0; border-right: 0; }
    .single-kuzu_reference .entry-content .reference-specifications tr > :last-child { padding: 4px 12px 10px; }
}
/* A wider frame gives imagery and modular content room while preserving the compact editorial measure. */
@media (min-width: 781px) {
    .site-width { width: min(var(--kuzu-wide-width), calc(100% - 2 * clamp(24px, 3.2vw, 40px))); }
    .content-layout { grid-template-columns: 190px minmax(0, 1fr); gap: clamp(24px, 3vw, 36px); }
    .entry-body.has-gallery { grid-template-columns: minmax(0, 1fr) clamp(220px, 24%, 280px); gap: clamp(24px, 3vw, 36px); }
    .singular-main .entry-content > :is(p, ul, ol) { max-width: var(--kuzu-content-width); }
}
/* Main navigation active surfaces. */
.primary-menu .current-menu-item > a,
.primary-menu .current-menu-ancestor > a {
    background: #f2f2f2;
    border-radius: 0;
    box-shadow: inset 3px 0 var(--kuzu-red);
}
.primary-menu > li.current-menu-item > a,
.primary-menu > li.current-menu-ancestor > a {
    background: #fff;
    border-radius: 0;
    box-shadow: none;
}
.primary-menu > li.current-menu-item > a::before,
.primary-menu > li.current-menu-ancestor > a::before { content: none; }



/* Consent is a compact, non-blocking choice with equal visual weight for accept and reject. */
.consent-open{border:0;background:transparent;color:#535353;padding:6px 8px;font-size:11px;text-decoration:underline;text-underline-offset:.2em}
.consent-management{margin:0 0 28px;padding:18px;border:1px solid var(--kuzu-line);border-radius:6px}.consent-management h2{margin:0 0 10px;font-size:24px}.consent-management .consent-open{min-height:44px;font-size:14px;border:1px solid #777;border-radius:5px;padding:9px 15px;background:#f4f4f4;color:#252525}
.consent-banner{position:fixed;z-index:1000;left:50%;bottom:16px;width:min(760px,calc(100% - 32px));transform:translateX(-50%);padding:18px 20px;border:1px solid #bbb;border-radius:10px;background:#fff;color:var(--kuzu-text);box-shadow:0 8px 30px #0003}
.consent-banner[hidden]{display:none}.consent-banner h2{margin:0 0 7px;font-size:22px;text-transform:none}.consent-banner p{margin:0;font-size:13px;line-height:1.45}.consent-banner a{font-weight:700}.consent-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}.consent-actions button,.consent-details>button{min-height:42px;padding:8px 14px;border:1px solid #777;border-radius:5px;background:#f4f4f4;color:#252525;font-weight:700}.consent-actions button:hover,.consent-details>button:hover{border-color:var(--kuzu-red);color:var(--kuzu-red);background:#fff}.consent-actions .consent-details-toggle{border-color:transparent;background:transparent;text-decoration:underline;font-weight:400}.consent-details{margin-top:14px;padding-top:13px;border-top:1px solid #ddd}.consent-details[hidden]{display:none}.consent-details label{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px}.consent-details input{width:18px;height:18px;margin-top:2px;accent-color:var(--kuzu-red)}.consent-details span{display:grid}.consent-details small{margin-top:2px;line-height:1.4;color:#555}.consent-details>button{margin-top:2px}
@media(min-width:700px){.consent-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;align-items:center}.consent-actions{margin-top:0;justify-content:flex-end;max-width:330px}.consent-details{grid-column:1/-1}}
@media(max-width:540px){.consent-banner{bottom:8px;width:calc(100% - 16px);max-height:calc(100vh - 16px);overflow:auto;padding:16px}.consent-actions{display:grid;grid-template-columns:1fr 1fr}.consent-actions button{padding-inline:8px}.consent-actions .consent-details-toggle{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.consent-banner{scroll-behavior:auto}}
/* Legal redline: intentionally unmistakable until professional approval. */
.entry-content .legal-redline-document{display:block;font-size:16px;line-height:1.6}
.entry-content .legal-redline-document> * + *{margin-top:18px}
.entry-content .legal-redline-document p{font-size:16px;line-height:1.6;margin:0 0 12px}
.entry-content .legal-redline-document h2{font-size:22px;line-height:1.3;text-transform:none;margin:24px 0 10px}
.entry-content .legal-redline-document .legal-redline-heading{margin:0 0 22px;padding-bottom:12px;border-bottom:1px solid #d8c874;font-size:24px}
.entry-content .legal-redline-new{padding:24px;max-width:850px}
.entry-content .legal-redline-old{ text-decoration:line-through;text-decoration-color:#a91419 }
.entry-content .legal-placeholder{display:block;margin-top:8px;padding:8px 10px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.entry-content .legal-review-notice p{margin:6px 0 0;font-size:14px}
@media(max-width:540px){.entry-content .legal-redline-new{padding:16px}.entry-content .legal-redline-document h2{font-size:20px}}
.legal-redline-document{display:grid;gap:22px}.legal-review-notice{padding:16px 18px;border:2px solid #a91419;background:#fff1f1;color:#591014}.legal-review-notice strong{display:block;font-size:17px}.legal-review-notice p{margin:6px 0 0}.legal-redline-previous{border:1px solid #bbb;background:#f5f5f5}.legal-redline-previous summary{cursor:pointer;padding:12px 15px;font-weight:700}.legal-redline-old{display:block;padding:4px 18px 18px;color:#666;text-decoration-color:#a91419;text-decoration-thickness:2px}.legal-redline-new{display:block;padding:18px;border-left:5px solid #c79700;background:#fff6bf;color:inherit;text-decoration:none}.legal-redline-new h2:first-child{margin-top:0}.legal-placeholder{display:inline;padding:1px 4px;border:1px dashed #a00068;background:#ffd8ef;color:#650042;font-weight:700}.legal-redline-document .legal-placeholder a{color:inherit}

/* Career source layout: article copy beside the Nordakademie modules. */
.entry-content .kuzu-career-layout { display:grid; grid-template-columns:minmax(0,1fr) 200px; gap:24px; align-items:start; }
.entry-content .kuzu-career-copy { max-width:700px; }
.entry-content .kuzu-career-sidebar { width:200px; }
.kuzu-career-sidebar > .wp-block-image { margin:0 0 56px; }
.kuzu-career-sidebar > .wp-block-image img { display:block; width:200px; }
.entry-content .kuzu-career-gallery.reference-carousel { width:200px; height:200px; margin:0 0 14px; }
.kuzu-career-gallery.reference-carousel .reference-slide { height:200px; }
.kuzu-career-gallery.reference-carousel .reference-slide > a { height:100%; }
.kuzu-career-gallery.reference-carousel .reference-slide img { height:100% !important; object-fit:cover !important; }
/* Small galleries use legacy side arrows with generous touch targets. */
:is(.kuzu-career-gallery, .kuzu-product-gallery).reference-carousel .reference-controls {
 position:absolute; inset:0; display:block; padding:0; border-radius:0;
 background:none; box-shadow:none; opacity:0; transform:none; pointer-events:none;
}
:is(.kuzu-career-gallery, .kuzu-product-gallery) .reference-controls button {
 position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px;
 min-width:44px; min-height:44px; padding:0; border:0; border-radius:0;
 background:transparent; color:#555; font-size:0; pointer-events:none;
}
:is(.kuzu-career-gallery, .kuzu-product-gallery).reference-carousel:hover .reference-controls,
:is(.kuzu-career-gallery, .kuzu-product-gallery).reference-carousel:focus-within .reference-controls { opacity:1; }
:is(.kuzu-career-gallery, .kuzu-product-gallery):hover .reference-controls button,
:is(.kuzu-career-gallery, .kuzu-product-gallery):focus-within .reference-controls button { pointer-events:auto; }
@media (any-hover:none) {
 :is(.kuzu-career-gallery, .kuzu-product-gallery).reference-carousel .reference-controls { opacity:1; }
 :is(.kuzu-career-gallery, .kuzu-product-gallery) .reference-controls button { pointer-events:auto; }
}
:is(.kuzu-career-gallery, .kuzu-product-gallery) .reference-controls [data-prev] { left:0; }
:is(.kuzu-career-gallery, .kuzu-product-gallery) .reference-controls [data-next] { right:0; }
:is(.kuzu-career-gallery, .kuzu-product-gallery) .reference-controls button::before {
 content:""; position:absolute; inset:7px 0; background:rgba(255,255,255,.62);
}
:is(.kuzu-career-gallery, .kuzu-product-gallery) .reference-controls [data-prev]::before { right:18px; }
:is(.kuzu-career-gallery, .kuzu-product-gallery) .reference-controls [data-next]::before { left:18px; }
:is(.kuzu-career-gallery, .kuzu-product-gallery) .reference-controls button::after {
 content:""; position:absolute; top:15px; width:0; height:0;
 border-top:7px solid transparent; border-bottom:7px solid transparent;
}
:is(.kuzu-career-gallery, .kuzu-product-gallery) .reference-controls [data-prev]::after { left:6px; border-right:11px solid currentColor; }
:is(.kuzu-career-gallery, .kuzu-product-gallery) .reference-controls [data-next]::after { right:6px; border-left:11px solid currentColor; }
:is(.kuzu-career-gallery, .kuzu-product-gallery) .reference-controls button:hover { background:transparent; }
:is(.kuzu-career-gallery, .kuzu-product-gallery) .reference-controls button:hover::before { background:rgba(255,255,255,.85); }
:is(.kuzu-career-gallery, .kuzu-product-gallery) .reference-controls button:focus-visible { outline-offset:-2px; }
.site-main .entry-content .kuzu-career-links-title { font-size:16px; border-bottom:1px solid #aaa; padding-bottom:10px; margin:0 0 10px; }
.kuzu-career-sidebar > ul { list-style:none; padding:0; border-bottom:1px solid #aaa; }
.kuzu-career-sidebar > ul > li { position:relative; padding:0 0 12px 22px; }
.kuzu-career-sidebar > ul > li::before { content:''; position:absolute; left:0; top:0; width:19px; height:19px; background:url('assets/external-link.png') center / contain no-repeat; }

.site-main .entry-content .kuzu-career-title { font-size:clamp(26px,3vw,35px); line-height:1.2; margin:0 0 16px; }
.kuzu-career-copy h3 { font-size:22px; text-transform:uppercase; margin:1.25em 0 .6em; }
.kuzu-career-internships { max-width:700px; }

/* Match the original plain, indented vacancy list rather than a grid table. */
.entry-content .kuzu-career-training { max-width:770px; }
.kuzu-career-training .wp-block-table { width:calc(100% - 30px); margin:14px 0 0 30px; border:0; }
.kuzu-career-training .wp-block-table table { min-width:0; border:0; }
.kuzu-career-training .wp-block-table :is(td,th) { padding:1px 3px; border:0; background:transparent; }
.kuzu-career-training .wp-block-table tr:first-child { background:transparent; }
.kuzu-career-training .wp-block-table tr:first-child strong { font-weight:400; }
.kuzu-career-training .wp-block-table td:last-child { width:22%; }
@media(max-width:780px) {
 .kuzu-career-training .wp-block-table { width:100%; margin-left:0; }
 .kuzu-career-training .wp-block-table :is(td,th) { padding:5px 3px; }
 .kuzu-career-training .wp-block-table td:last-child { width:30%; }
}
@media(max-width:1000px) {
 .entry-content .kuzu-career-layout { grid-template-columns:minmax(0,1fr); }
 .kuzu-career-copy { display:contents; }
 .kuzu-career-intro { order:0; }
 .kuzu-career-sidebar { order:1; }
 .kuzu-career-sections { order:2; }
 .kuzu-career-sidebar > .wp-block-image { margin-bottom:24px; }
}
@media(max-width:780px) {

 .kuzu-career-gallery .reference-controls button { min-width:44px; min-height:44px; }
 .kuzu-career-gallery .hero-status { font-size:12px; }
}
/* Original red heading markers and a calmer rhythm for internship information. */
.entry-content .kuzu-career-internships { max-width:770px; }
.entry-content .kuzu-career-internships > * { margin-block:0 14px; }
.entry-content .kuzu-career-title { display:flex; align-items:baseline; gap:6px; }
.entry-content .kuzu-career-title::before { content:''; display:block; flex:0 0 34px; height:24px; background:var(--kuzu-red); border-radius:6px; transform:translateY(1px); }
.entry-content .kuzu-career-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; row-gap:5px; margin-bottom:24px; }
.kuzu-career-fields li::marker { color:var(--kuzu-red); }
.entry-content .kuzu-career-application { margin:24px 0; padding:18px 22px; }
.kuzu-career-application h3 { margin:0 0 12px; font-size:22px; }
.kuzu-career-application ul { margin:0; }
@media(max-width:540px) {
 .entry-content .kuzu-career-fields { grid-template-columns:minmax(0,1fr); }
 .entry-content .kuzu-career-title::before { flex-basis:25px; height:20px; }
 .entry-content .kuzu-career-application { padding:16px; }
}

/* Consistent editorial spacing without empty line-break paragraphs. */
.entry-content .kuzu-career-intro > p { margin-block:0 16px; }
.entry-content .kuzu-career-intro > ul { margin-block:0 24px; padding-inline-start:20px; }
.entry-content .kuzu-career-intro > p:has(+ ul) { margin-bottom:8px; }
.entry-content .kuzu-career-intro > :last-child { margin-bottom:0; }

/* Reference details: a compact project column with shared image/text boundaries. */
.single-kuzu_reference .site-width {
    max-width:970px;
}
.single-kuzu_reference .content-layout {
    max-width:772px;
    margin-inline:0;
}
.single-kuzu_reference .entry {
    min-width:0;
    width:100%;
    max-width:555px;
}
.single-kuzu_reference .entry-content {
    overflow-wrap:break-word;
}
@media (min-width:781px) {
    .single-kuzu_reference .content-layout {
        grid-template-columns:185px minmax(0,555px);
        gap:32px;
    }
}
@media (max-width:780px) {
    .single-kuzu_reference .content-layout {
        max-width:555px;
    }
}

/* Reference navigation: dense desktop index, generous touch targets on mobile. */
.reference-nav .context-links a {
    font-family:Dax,'Arial Narrow',Arial,sans-serif;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    line-height:20px;
    min-height:28px;
    padding:4px 0;
    border-left:0;
    hyphens:none;
}
.reference-nav .context-links a[aria-current="page"] {
    color:var(--kuzu-red);
    border-left-color:currentColor;
    background:#f5f5f5;
    text-decoration:none;
}
.reference-nav .context-links a:hover { background:#f2f2f2; }
.reference-nav .context-links a:focus-visible {
    outline:2px solid #114e79;
    outline-offset:1px;
}
@media (max-width:780px) {
    .reference-nav .context-links a { min-height:44px; padding-block:12px; font-size:14px; }
}

/* Match the legacy 555 x 370 project stage and rounded image corners. */
.single-kuzu_reference .entry-content .reference-carousel {
    aspect-ratio:3 / 2;
    height:auto;
    border-radius:20px;
    background:#fff;
}
.single-kuzu_reference .reference-carousel .reference-slide {
    height:100%;
}
.single-kuzu_reference .reference-slide > a { height:100%; }
.single-kuzu_reference .reference-carousel .reference-slide img {
    height:100% !important;
    object-fit:cover !important;
    border-radius:20px;
}
/* Imported technology icons include a legacy frame; hide it inside the card. */
.entry-content .kuzu-overview-card-icons .kuzu-overview-media img {
    clip-path:inset(2px round 12px 0 0 12px);
}

/* Keep technology icons vertically centered beside variable-length text. */
.entry-content .kuzu-overview-card-icons .kuzu-overview-media {
    align-self:center;
}
.entry-content .kuzu-overview-card-icons .kuzu-overview-media .wp-block-image,
.entry-content .kuzu-overview-card-icons .kuzu-overview-media a {
    height:auto;
}

/* Oval profile: one reading width for diagram, copy and benefits. */
.kuzu-oval-profile .entry-content { max-width:760px; }
.kuzu-oval-profile .entry-content > .wp-block-image { width:100%; margin-block:16px 20px; }
.kuzu-oval-profile .entry-content > .wp-block-image img { display:block; width:100%; height:auto; }
:is(.entry-content, .editor-styles-wrapper) ul.kuzu-list-redcheck { padding-left:0; list-style:none; }
:is(.entry-content, .editor-styles-wrapper) ul.kuzu-list-redcheck > li {
    padding-left:25px;
    background:url('assets/redcheck.png') left top no-repeat;
    line-height:25px; font-weight:700;
}
:is(.entry-content, .editor-styles-wrapper) ul.kuzu-list-redcheck > li::marker { content:''; }

/* Open the sidebar divider at the selected item, as in the original site. */
@media (min-width:781px) {
    .context-nav a[aria-current="page"] {
        position:relative;
        isolation:isolate;
        background:transparent;
        text-decoration:none;
    }
    .context-nav a[aria-current="page"]::after {
        content:'';
        position:absolute;
        z-index:-1;
        inset:0 -17px 0 0;
        background:#fff;
        border-block:1px solid var(--kuzu-line);
        pointer-events:none;
    }
}

/* Raised desktop tabs join the white area below the header without a bottom seam. */
@media (min-width:781px) {
    .primary-menu > li:is(.current-menu-item,.current-menu-ancestor) {
        position:relative;
        z-index:1;
        background:linear-gradient(#f5f5f5,#fff 70%);
    }
    .primary-menu > li:is(.current-menu-item,.current-menu-ancestor)::after {
        content:'';
        position:absolute;
        inset:0 0 -1px;
        border-inline:1px solid #aaa;
        border-top:1px solid #eee;
        border-bottom:1px solid #fff;
        pointer-events:none;
    }
    .primary-menu > li:is(.current-menu-item,.current-menu-ancestor) > a {
        background:transparent;
    }
}

/* Align flag centers with the desktop navigation row. */
@media (min-width:781px) {
    .header-tools .language-switcher { bottom:0; height:33px; align-items:center; }
    .header-tools .language-switcher a { height:33px; min-height:33px; }
}

/* Keep the left navigation; let copy reach the right edge of its content column. */
.singular-main .content-layout,
.singular-main .content-layout-wide { max-width:none; }
.singular-main .entry,
.singular-main .entry-content,
.entry-content .kuzu-career-copy,
.entry-content .kuzu-career-training,
.entry-content .kuzu-career-internships { width:100%; max-width:none; }
@media (min-width:781px) {
    .single-kuzu_reference .content-layout { grid-template-columns:185px minmax(0,1fr); }
}
.singular-main .header-strip { width:100%; }
.history-banner { margin-bottom:24px; }
.history-banner img { display:block; width:100%; height:auto; border-radius:10px; }
.singular-main .entry-content > :is(p, ul, ol),
.entry-content .legal-redline-new { max-width:none; }

/* Product variants retain their own editable gallery beside the associated copy. */
.entry-content .kuzu-product-layout { display:grid; grid-template-columns:minmax(0,1fr) 200px; gap:16px; align-items:start; margin:0; }
.entry-content .kuzu-product-layout > .wp-block-column { min-width:0; }
.entry-content .kuzu-product-section { margin-bottom:30px; }

.kuzu-product-copy > :first-child { margin-top:0; }
.entry-content .kuzu-product-gallery.reference-carousel { width:200px; height:200px; margin:0 0 16px; }
.kuzu-product-gallery.reference-carousel .reference-slide,
.kuzu-product-gallery .reference-slide > a { height:100%; }
.kuzu-product-gallery.reference-carousel .reference-slide img { height:100% !important; object-fit:contain !important; }
@media(max-width:780px) {
    .entry-content .kuzu-product-layout { grid-template-columns:minmax(0,1fr); }
    .entry-content .kuzu-career-sidebar { width:100%; }
    .entry-content :is(.kuzu-product-gallery,.kuzu-career-gallery).reference-carousel {
        width:min(100%,280px);
        height:200px;
        margin-inline:auto;
    }
    .entry-content :is(.kuzu-product-gallery,.kuzu-career-gallery).reference-carousel .reference-slide img {
        width:100%;
        object-fit:contain !important;
    }
    .entry-content :is(.kuzu-product-gallery,.kuzu-career-gallery).reference-carousel { background:transparent;box-shadow:none; }
}

/* Original module frames sit behind the image, leaving only the copy outlined. */
.home-entry>.entry-content>.kuzu-home-cards>.wp-block-column,
.entry-content>.kuzu-home-cards>.kuzu-card,
.entry-content .kuzu-overview-card {
    border:0;
    box-shadow:inset 0 0 0 1px #d7d7d7;
}

/* Keep every footer action on one line, including the consent button. */
.footer-top nav{min-width:0;overflow-x:auto;max-width:100%;padding:4px}
.footer-menu{flex-wrap:nowrap;width:max-content;min-width:100%}
.footer-menu a,.footer-menu button{text-transform:lowercase}
@media(max-width:540px){
    .footer-inner{row-gap:0}
    .footer-top nav{grid-column:1/-1;justify-self:stretch}
    .footer-menu{font-size:10px}
    .footer-menu li+li{background-position:left 1px}
    .footer-menu a,.footer-menu button{padding:1px 4px 6px;min-height:44px;display:flex;align-items:flex-start}
    .footer-partners{grid-column:1}
    .footer-top .back-top{grid-row:1}
}

/* Use only at reviewed topic transitions; first blocks have no leading rule.
 * Shared by the frontend and the block editor via add_editor_style(). */
:is(.entry-content, .editor-styles-wrapper) .is-style-kuzu-section-start:not(:first-child),
:is(.entry-content, .editor-styles-wrapper) .kuzu-product-section + .kuzu-product-section,
:is(.entry-content, .editor-styles-wrapper) .kuzu-career-section:not(:first-child),
:is(.entry-content, .editor-styles-wrapper) .kuzu-career-internships > .kuzu-career-title:not(:first-child) {
    border-top:1px solid #ddd;
    margin-top:clamp(24px, 3vw, 30px);
    padding-top:clamp(20px, 2.5vw, 24px);
}

/* Editable product titles retain the original black heading and red marker. */
:is(.site-main .entry-content, .editor-styles-wrapper) :is(.kuzu-product-heading, .kuzu-article-heading) {
 position:relative; padding-left:40px; color:#252525;
 font-size:35px; line-height:41px; margin:0 0 15px; overflow-wrap:anywhere;
}
:is(.site-main .entry-content, .editor-styles-wrapper) :is(.kuzu-product-heading, .kuzu-article-heading)::before {
 content:''; position:absolute; left:0; top:10px; width:34px; height:24px;
 background:#e31d23; border-radius:6px;
}
:is(.site-main .entry-content, .editor-styles-wrapper) :is(.kuzu-product-heading, .kuzu-article-heading) :is(span, i, em) { text-transform:none; }
@media(max-width:540px) {
 :is(.site-main .entry-content, .editor-styles-wrapper) :is(.kuzu-product-heading, .kuzu-article-heading) { padding-left:31px; }
 :is(.site-main .entry-content, .editor-styles-wrapper) :is(.kuzu-product-heading, .kuzu-article-heading)::before { width:25px; height:20px; }
}

/* Scale inline illustrations to the reading column beside a carousel. */
:is(.entry-content, .editor-styles-wrapper) .kuzu-product-copy > .wp-block-image,
.entry-body.has-gallery .entry-content > .wp-block-image {
 width:100%; max-width:100%;
}
:is(.entry-content, .editor-styles-wrapper) .kuzu-product-copy > .wp-block-image > a,
.entry-body.has-gallery .entry-content > .wp-block-image > a { display:block; width:100%; }
:is(.entry-content, .editor-styles-wrapper) .kuzu-product-copy > .wp-block-image img,
.entry-body.has-gallery .entry-content > .wp-block-image img {
 display:block; width:100%; max-width:100%; height:auto;
}

/* Introductory text may precede the benefit box beside the gallery. */
@media(min-width:781px) {
 .entry-content .kuzu-product-media { margin-top:var(--kuzu-gallery-offset, 0px); }
}

/* Finish detail copy at its natural height, independently of the media column. */
.kuzu-detail-finish .entry-content { align-self:start; }
.kuzu-detail-finish .entry-content:not(:has(.kuzu-product-section, .kuzu-career-layout, > figure))::after,
.kuzu-detail-finish .entry-content:not(:has(.kuzu-product-section)):has(> figure) > :nth-last-child(1 of :not(figure))::after,
.kuzu-detail-finish .kuzu-product-section:last-child .kuzu-product-copy::after,
.kuzu-detail-finish .kuzu-career-copy::after {
    content:'';
    display:block;
    clear:both;
    border-top:1px solid #ddd;
    margin-top:30px;
    width:100%;
}

/* Separate section headings from the following benefits/gallery row. */
:is(.entry-content, .editor-styles-wrapper) .kuzu-product-section > .wp-block-heading:has(+ .kuzu-product-layout) {
    margin-bottom:16px;
}

/* The old service blogs separated complete articles, not their subtitles. */
.kuzu-service-sections .entry-content > .wp-block-heading:has(> a):not(:first-child) {
    border-top:1px solid #ddd;
    margin-top:clamp(24px, 3vw, 30px);
    padding-top:clamp(20px, 2.5vw, 24px);
}
/* Compact tandem-video preview; the full player opens on demand. */
.entry-content .tandem-video { margin:0; width:100%; max-width:320px; }
.tandem-video-preview { position:relative; display:block; width:100%; padding:0; overflow:hidden; border:1px solid #d7d7d7; border-radius:10px; background:#252525; color:white; text-align:left; }
.tandem-video-preview img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.tandem-video-play { position:absolute; top:35%; left:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:52px; height:52px; padding-left:3px; border-radius:50%; background:#e31d23; color:white; font-size:23px; box-shadow:0 2px 12px #0005; }
.tandem-video-caption { display:grid; gap:6px; padding:14px; }
.tandem-video-caption strong { font-size:16px; line-height:1.3; }
.tandem-video-caption > span { font-size:13px; color:#ddd; }
.tandem-video-preview:hover .tandem-video-play { background:#b41419; }
.tandem-video-dialog { width:min(800px,calc(100% - 32px)); max-width:none; padding:16px; border:0; border-radius:12px; background:#202020; color:#fff; max-height:calc(100dvh - 32px); }
.tandem-video-dialog::backdrop { background:rgba(0,0,0,.8); }
.tandem-video-dialog video { display:block; width:100%; max-height:calc(100dvh - 112px); height:auto; object-fit:contain; background:#000; }
.tandem-video-close { display:block; margin:0 0 12px auto; padding:8px 14px; min-height:44px; border:1px solid #777; border-radius:5px; background:#333; color:#fff; }


/* Mobile career content uses display:contents to reorder its columns. */
@media(max-width:780px) {
    .kuzu-detail-finish .kuzu-career-copy::after { display:none; border:0; }
    .kuzu-detail-finish .kuzu-career-copy > :last-child::after {
        content:'';
        display:block;
        clear:both;
        border-top:1px solid #ddd;
        margin-top:30px;
        width:100%;
    }
}

/* Original article titles on merged pages retain their size, marker and separators. */
:is(.site-main .entry-content, .editor-styles-wrapper) .kuzu-article-heading > a { color:inherit; text-decoration:none; }
:is(.site-main .entry-content, .editor-styles-wrapper) .kuzu-article-section-start,
.kuzu-service-sections .entry-content > .kuzu-article-section-start:has(> a):not(:first-child) {
 border-top:1px solid #ddd; margin-top:30px; padding-top:30px;
}
:is(.site-main .entry-content, .editor-styles-wrapper) .kuzu-article-section-start::before { top:40px; }
/* Collapse the header before the menu and language flags run out of room. */
@media (min-width:781px) and (max-width:900px) {
    .header-main { min-height:104px; align-items:center; padding-top:0; gap:14px; }
    .brand { max-width:calc(100% - 110px); }
    .header-tools { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
    .header-tools .language-switcher { position:static; height:auto; }
    .header-tools .language-switcher a { min-width:36px; min-height:36px; height:auto; padding:2px 5px; }
    .nav-toggle { display:block; }
    .primary-nav { padding:0 0 10px; }
    .js .primary-nav:not(.is-open) { display:none; }
    .primary-menu { display:block; border-top:1px solid #ddd; }
    .primary-menu > li { display:block; border-bottom:1px solid #ddd; }
    .primary-menu > li > a { padding:11px 12px; font-size:18px; line-height:1.5; }
    .primary-menu > li:is(.current-menu-item,.current-menu-ancestor)::after { content:none; }
}

/* On compact slides, overlay controls on the image instead of reserving empty copy space. */
@media(max-width:900px){.hero-controls{top:clamp(138px,calc(30vw - 52px),208px);bottom:auto}}

/* The photo, translucent copy panel and edge shading are independent layers. */
.hero-image img{object-fit:cover;object-position:center}
.hero::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 12px #0003;pointer-events:none;z-index:1}
@media(min-width:901px){
    .hero-slide{min-height:0;background-image:var(--hero-photo);background-size:cover;background-position:center}
    .hero-image{width:calc(100% * 670 / 970)}
    .hero-image img{height:auto;min-height:0;aspect-ratio:670/269}
    .hero-copy{width:calc(100% * 300 / 970);background:rgba(245,245,238,.78);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
}

/* Gradually tighten the desktop copy before it moves below the photo. */
@media(min-width:901px) and (max-width:1200px){
    .hero-copy{padding:clamp(18px,calc(4vw - 18px),30px)}
    .hero-copy h2{font-size:clamp(22px,calc(1vw + 13px),25px);margin-bottom:clamp(10px,calc(1.333vw - 2px),14px)}
    .hero-copy p{margin-bottom:clamp(14px,calc(2vw - 4px),20px)}
}

/* Align the compact header at the top, with language choices below the menu button. */
@media(max-width:900px){
    .header-main{align-items:flex-start;padding-block:16px}
    .header-tools{gap:4px}
    .header-tools .language-switcher{gap:0}
    .header-tools .language-switcher a{display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}
}
