/* ====================================================================
   Koldere Brandschutzsysteme — style.css
   --------------------------------------------------------------------
   TABLE OF CONTENTS
   --------------------------------------------------------------------
   1. Fonts (Remixicon + Helonik @font-face)              line   1
   2. Design Tokens (:root variables, color palette)      line  12
   3. Base (html, body, typography, links)                line ~85
   4. Layout (.container, .section, .grid utilities)      line ~110
   5. Header + Navigation (.site-header, .nav, dropdown)  line ~120
   6. Mega Menu (.mega-menu, .mega-promo, .mega-grid)     line ~250
   7. Buttons (.btn, .btn-animated, .header-cta)          line ~310
   8. Hero (.hero, .hero-tabs, .hero-content)             line ~400
   9. Feature Strip, Service Grid, Value Grid             line ~500
  10. Cards (.feature-card, .service-card, .insight-card) line ~600
  11. Carousel (testimonials, proof-grid)                 line ~700
  12. Search Panel + Contact Panel                        line ~800
  13. Forms (.contact-form, .footer-newsletter)           line ~900
  14. Footer (.site-footer, .footer-grid)                 line ~950
  15. Reveal animation + global utilities                 line ~1000
  16. Responsive breakpoints (@media)                     line ~1050

   --- KLD-specific Koldere additions (post-template) ---
  17. Success story carousel                              line 1215
  18. Inner pages light theme (header + hero)             line 1227
  19. Inner page contact toggle + slide panel             line 1249
  20. Page-hero media                                     line 1275
  21. Inner page nav chevron contrast                     line 1286
  22. Approach section (intro + accordion + pills)        line 1291
  23. Vision section (image left + lime card right)       line 1318
  24. Process section (4 steps + CTA)                     line 1335
  25. Why-us section (full image + overlay card)          line 1365
  26. Global layout safety (1280px cap)                   line 1395
  27. Inner page nav (mirror home page menu)              line 1401
  28. Cinematic dark hero overlay                         line 1462
   ==================================================================== */

@import url("../fonts/remixicon/remixicon.css");

@font-face{font-family:"Helonik";src:url("../fonts/helonik/Helonik-ExtraLight.woff2") format("woff2"),url("../fonts/helonik/Helonik-ExtraLight.woff") format("woff");font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:"Helonik";src:url("../fonts/helonik/Helonik-Light.woff2") format("woff2"),url("../fonts/helonik/Helonik-Light.woff") format("woff");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Helonik";src:url("../fonts/helonik/Helonik-Regular.woff2") format("woff2"),url("../fonts/helonik/Helonik-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Helonik";src:url("../fonts/helonik/Helonik-Medium.woff2") format("woff2"),url("../fonts/helonik/Helonik-Medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Helonik";src:url("../fonts/helonik/Helonik-DemiBold.woff2") format("woff2"),url("../fonts/helonik/Helonik-DemiBold.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Helonik";src:url("../fonts/helonik/Helonik-Bold.woff2") format("woff2"),url("../fonts/helonik/Helonik-Bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Helonik";src:url("../fonts/helonik/Helonik-ExtraBold.woff2") format("woff2"),url("../fonts/helonik/Helonik-ExtraBold.woff") format("woff");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Helonik";src:url("../fonts/helonik/Helonik-Black.woff2") format("woff2"),url("../fonts/helonik/Helonik-Black.woff") format("woff");font-weight:900;font-style:normal;font-display:swap}

:root{
  /* Brand Palette */
  --color-midnight-blue:#132441;
  --color-chartreuse:#DAF561;
  --color-chartreuse-hover:#C6E84F;
  --color-powder-blue:#87BBD7;
  --color-lapis-blue:#0153e3;

  /* Brand Colors */
  --color-brand-primary:var(--color-lapis-blue);
  --color-brand-primary-hover:var(--color-midnight-blue);
  --color-brand-primary-soft:rgba(1,83,227,.14);
  --color-brand-accent:var(--color-chartreuse);
  --color-brand-accent-hover:var(--color-chartreuse-hover);
  --color-brand-accent-soft:rgba(218,245,97,.2);
  --color-brand-secondary:var(--color-midnight-blue);
  --color-brand-secondary-hover:#0E1B33;

  /* Dark System */
  --color-bg-dark:var(--color-midnight-blue);
  --color-bg-dark-soft:#0B1426;
  --color-anthracite:#0B0F14;

  /* Warm Neutral Backgrounds */
  --color-bg-main:#FFFFFF;
  --color-bg-soft:#EDEEF1;
  --color-bg-warm:#E1E4E8;

  /* Surfaces */
  --color-surface:#FFFFFF;
  --color-surface-soft:#F4F5F7;
  --color-surface-warm:#E8EAEE;
  --color-surface-blue:#EAF4FA;
  --color-surface-dark:var(--color-midnight-blue);

  /* Text */
  --color-text-main:var(--color-midnight-blue);
  --color-text-light:#FFFFFF;
  --color-text-muted:#667485;
  --color-text-soft:#98A2B3;

  /* Borders */
  --color-border:rgba(19,36,65,.14);
  --color-border-soft:rgba(19,36,65,.08);
  --color-border-light:rgba(255,255,255,.18);

  /* Buttons */
  --color-button-primary-bg:var(--color-brand-accent);
  --color-button-primary-bg-hover:var(--color-midnight-blue);
  --color-button-primary-text:var(--color-midnight-blue);
  --color-button-primary-text-hover:var(--color-text-light);
  --color-button-dark-bg:var(--color-midnight-blue);
  --color-button-dark-bg-hover:var(--color-lapis-blue);
  --color-button-dark-text:var(--color-text-light);
  --color-button-light-bg:var(--color-surface);
  --color-button-light-bg-hover:var(--color-chartreuse);
  --color-button-light-text:var(--color-midnight-blue);
  --color-button-secondary-border:rgba(1,83,227,.35);
  --color-button-secondary-text:var(--color-lapis-blue);
  --color-button-secondary-bg-hover:var(--color-lapis-blue);
  --color-button-secondary-text-hover:var(--color-text-light);

  /* Cards */
  --color-card-bg:var(--color-surface);
  --color-card-bg-soft:var(--color-surface-soft);
  --color-card-bg-blue:var(--color-surface-blue);
  --color-card-bg-neutral:#EDEEF1;
  --color-card-bg-dark:var(--color-midnight-blue);

  /* Header */
  --color-header-text:var(--color-text-light);
  --color-header-bg:rgba(19,36,65,.08);
  --color-header-bg-solid:rgba(19,36,65,.94);

  /* Dropdown / Mega Menu */
  --color-dropdown-bg:var(--color-surface);
  --color-dropdown-text:var(--color-midnight-blue);
  --color-dropdown-hover-bg:var(--color-chartreuse);
  --color-dropdown-hover-text:var(--color-midnight-blue);

  /* Forms */
  --color-input-bg:var(--color-surface);
  --color-input-border:var(--color-border-soft);
  --color-input-text:var(--color-text-main);
  --color-input-placeholder:var(--color-text-muted);
  --color-input-focus-border:var(--color-lapis-blue);
  --color-input-focus-ring:rgba(1,83,227,.14);

  /* Overlays */
  --overlay-hero-dark:linear-gradient(90deg,rgba(19,36,65,.78) 0%,rgba(19,36,65,.42) 45%,rgba(19,36,65,.16) 100%);
  --overlay-card:rgba(19,36,65,.48);

  /* Shadows */
  --shadow-soft:0 18px 50px rgba(19,36,65,.14);
  --shadow-strong:0 28px 80px rgba(19,36,65,.24);
  --shadow:var(--shadow-soft);
  --radius:24px;
  --radius-sm:8px;
  --container:1280px;
}
:root{--btn-accent-bg:var(--color-button-primary-bg);--btn-accent-color:var(--color-button-primary-text);--btn-dark-bg:var(--color-button-dark-bg);--btn-dark-color:var(--color-button-dark-text)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Helonik","Inter","Helvetica Neue",Arial,sans-serif;color:var(--color-text-main);background:var(--color-bg-main);line-height:1.55;text-rendering:optimizeLegibility}body.is-locked{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.anchor-bank{display:block;height:0;overflow:hidden}.container{width:min(calc(100% - 40px),var(--container));max-width:100%;margin:0 auto}.narrow{max-width:850px}
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;padding:18px 0;color:var(--color-text-light);transform:translateY(0);transition:transform .34s cubic-bezier(.2,.82,.2,1),background .28s ease,box-shadow .28s ease,padding .28s ease,backdrop-filter .28s ease}.site-header.is-hidden{transform:translateY(-100%)}.site-header.is-scrolled,.site-header.is-open{background:var(--color-header-bg-solid);box-shadow:0 12px 36px color-mix(in srgb,var(--color-bg-dark) 18%,transparent);padding:10px 0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.header-inner{width:min(calc(100% - 40px),1440px);margin:0 auto;min-height:64px;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;font-weight:700;letter-spacing:0}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-weight:700}.brand-name{font-size:1.12rem}.menu-toggle{display:none;width:44px;height:44px;border:1px solid color-mix(in srgb,var(--color-text-light) 30%,transparent);border-radius:50%;background:color-mix(in srgb,var(--color-text-light) 8%,transparent);color:var(--color-text-light);margin-left:auto}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;width:auto;min-width:0;flex:1 1 auto}.nav-list{display:flex;align-items:center;gap:4px;list-style:none;padding:0;margin:0;min-width:0}.nav-item{position:relative}.nav-link{min-height:42px;display:inline-flex;align-items:center;gap:4px;border:0;border-radius:999px;padding:0 13px;color:color-mix(in srgb,var(--color-text-light) 86%,transparent);background:transparent;font-size:.95rem}.nav-link:hover,.nav-link.is-active,.nav-link[aria-current=page]{color:var(--color-dropdown-hover-text);background:var(--color-dropdown-hover-bg)}.nav-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}.icon-button{width:44px;height:44px;border:1px solid color-mix(in srgb,var(--color-text-light) 30%,transparent);border-radius:50%;display:inline-grid;place-items:center;background:color-mix(in srgb,var(--color-text-light) 8%,transparent);color:inherit;transition:transform .2s ease,background .2s ease,color .2s ease}.icon-button:hover{transform:translateY(-2px);background:var(--color-brand-primary);color:var(--color-text-light)}.header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;padding:0 20px;color:var(--color-button-primary-text);background:var(--color-button-primary-bg);font-weight:600}
.site-logo{display:inline-flex;align-items:center;gap:0;text-decoration:none;line-height:0}
.mobile-nav__header{display:none}
.site-logo__img{display:block;width:auto;height:34px;max-height:44px;object-fit:contain}
.site-logo__img--dark{display:none}
.site-footer .site-logo__img{height:44px;max-height:44px}
@media (max-width:768px){
  .site-header .site-logo__img{height:36px;max-height:36px}
  .site-header .site-logo__img--light{display:none}
  .site-header .site-logo__img--dark{display:block}
  .site-footer .site-logo__img{height:40px;max-height:40px}
}
.dropdown,.mega-menu{position:absolute;top:calc(100% + 18px);left:0;min-width:260px;background:var(--color-dropdown-bg);color:var(--color-dropdown-text);border-radius:16px;padding:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(-12px) scale(.98);transform-origin:top center;pointer-events:none;transition:opacity .28s ease,transform .34s cubic-bezier(.2,.82,.2,1);z-index:60}.nav-item.is-open>.dropdown,.nav-item.is-open>.mega-menu{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.dropdown a,.mega-column a{display:flex;align-items:center;min-height:38px;border-radius:8px;padding:6px 10px;color:var(--color-text-muted)}.dropdown a:hover,.mega-column a:hover{background:var(--color-dropdown-hover-bg);color:var(--color-dropdown-hover-text)}.has-mega{position:static}.mega-menu{left:50%;width:min(1120px,calc(100% - 40px));max-width:100%;transform:translate(-50%,-12px) scale(.98);display:grid;grid-template-columns:280px 1fr;gap:24px;padding:18px}.nav-item.is-open>.mega-menu{transform:translate(-50%,0) scale(1)}.mega-promo{min-height:300px;display:flex;flex-direction:column;justify-content:space-between;border-radius:14px;padding:24px;background:var(--color-brand-secondary);color:var(--color-text-light)}.mega-promo span,.eyebrow,.section-heading span,.feature-card span,.insight-card span{color:var(--color-brand-primary);font-size:.77rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.mega-promo strong{font-size:1.7rem;line-height:1.08}.mega-promo a{color:var(--color-brand-accent);font-weight:600}.mega-promo span{color:var(--color-brand-accent)}.mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 34px}.mega-column h3{margin:10px 10px 12px;font-size:.76rem;color:var(--color-text-muted);letter-spacing:.08em}
.search-panel{position:fixed;inset:0;z-index:80;display:none;align-items:flex-start;justify-content:center;padding:90px 20px 40px;background:color-mix(in srgb,var(--color-brand-secondary) 70%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.search-panel.is-open{display:flex;animation:searchOverlayIn .22s ease both}.search-card{position:relative;width:min(760px,100%);max-height:calc(100vh - 130px);overflow:hidden;display:flex;flex-direction:column;border-radius:24px;padding:38px 36px 22px;background:var(--color-surface);box-shadow:0 32px 80px color-mix(in srgb,var(--color-brand-secondary) 35%,transparent);will-change:opacity,transform}.search-panel.is-open .search-card{animation:searchCardDrop .42s cubic-bezier(.2,.82,.2,1) both}.search-close{position:absolute;top:18px;right:18px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--color-brand-secondary);display:grid;place-items:center;font-size:1.25rem;cursor:pointer;transition:background .2s ease,color .2s ease}.search-close:hover,.search-close:focus-visible{background:var(--color-bg-soft);outline:0}.search-eyebrow{margin:0 0 14px;color:var(--color-text-muted);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.search-input-wrap{position:relative;display:flex;align-items:center;gap:14px;padding:8px 0 22px;border-bottom:1px solid var(--color-border)}.search-input-icon{flex:0 0 auto;font-size:1.7rem;color:var(--color-text-muted);line-height:1}.search-input-wrap input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:700;line-height:1.1;color:var(--color-brand-secondary);letter-spacing:-.01em;padding:6px 0}.search-input-wrap input::placeholder{color:color-mix(in srgb,var(--color-text-muted) 70%,transparent);font-weight:500}.search-results{list-style:none;margin:14px 0 0;padding:0;max-height:380px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.search-results:empty{margin:0}.search-result{display:flex;align-items:center;gap:18px;padding:12px 16px;border-radius:12px;color:var(--color-text-main);text-decoration:none;cursor:pointer;transition:background .15s ease}.search-result:hover,.search-result.is-active,.search-result:focus-visible{background:var(--color-bg-soft);outline:0}.search-result__count{flex:0 0 38px;color:var(--color-text-muted);font-size:.92rem;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}.search-result__label{flex:1 1 auto;min-width:0;color:var(--color-brand-secondary);font-size:1.05rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result__label mark{background:transparent;color:var(--color-brand-secondary);font-weight:800}.search-result__category{flex:0 0 auto;color:var(--color-text-muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.search-empty{margin:18px 0 4px;padding:10px 16px;color:var(--color-text-muted);font-size:.95rem}.search-empty[hidden]{display:none}@keyframes searchOverlayIn{from{opacity:0}to{opacity:1}}@keyframes searchCardDrop{from{opacity:0;transform:translateY(-30px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:620px){.search-panel{padding:50px 14px 20px}.search-card{padding:30px 22px 18px}.search-input-wrap input{font-size:1.35rem}.search-result__count{flex-basis:30px;font-size:.85rem}.search-result__category{display:none}}
.hero,.page-hero{position:relative;min-height:100svh;display:flex;align-items:center;isolation:isolate;color:var(--color-text-light);overflow:hidden}.hero:before,.page-hero:before{content:"";position:absolute;inset:10px;z-index:-2;border-radius:24px;background-size:cover;background-position:center right}.hero:after,.page-hero:after{content:"";position:absolute;inset:10px;z-index:-1;border-radius:24px;background:var(--overlay-hero-dark)}.hero[data-hero-state=consulting]:before,.page-hero[data-hero-state=consulting]:before{background-image:url("../images/koldere-brandschutzsysteme-hero1.jpg")}.hero[data-hero-state=finance]:before,.page-hero[data-hero-state=finance]:before{background-image:url("../images/koldere-brandschutzsysteme-hero2.jpg")}.hero[data-hero-state=invest]:before,.page-hero[data-hero-state=invest]:before{background-image:url("../images/koldere-brandschutzsysteme-hero3.jpg")}.hero-content{max-width:920px}.hero-kicker{margin:0 0 16px;color:var(--color-brand-primary);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.hero h1,.page-hero h1{margin:0 0 28px;max-width:1050px;font-size:clamp(3.6rem,8.6vw,9.4rem);line-height:.9;letter-spacing:0}.page-hero{min-height:62svh;padding-top:110px}.page-hero-inner p{max-width:640px;font-size:1.18rem;color:color-mix(in srgb,var(--color-text-light) 82%,transparent)}.hero-tabs{position:absolute;z-index:8;left:50%;bottom:118px;transform:translateX(-50%);width:min(calc(100% - 60px),680px);display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px;border-radius:999px;background:var(--color-border-light);border:1px solid color-mix(in srgb,var(--color-text-light) 22%,transparent)}.hero-tab{min-height:44px;border:0;border-radius:999px;padding:0 14px;color:var(--color-text-light);background:transparent;font-weight:600}.hero-tab.is-active{background:var(--color-button-primary-bg);color:var(--color-button-primary-text)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;border-radius:999px;border:1px solid transparent;padding:0 20px 0 24px;font-weight:700}.btn i{width:38px;height:38px;display:grid;place-items:center;border-radius:50%}.btn--primary{background:var(--color-button-primary-bg);color:var(--color-button-primary-text)}.btn--primary i{background:var(--color-button-dark-bg);color:var(--color-button-dark-text)}.btn--outline{border-color:var(--color-button-secondary-border);color:var(--color-button-secondary-text);background:transparent}.btn--outline i{background:var(--color-brand-primary-soft);color:var(--color-brand-primary)}.btn--outline:hover:not(.btn-animated),.btn--outline:focus-visible:not(.btn-animated){border-color:var(--color-button-secondary-bg-hover);background:var(--color-button-secondary-bg-hover);color:var(--color-button-secondary-text-hover)}.btn--outline:hover:not(.btn-animated) i,.btn--outline:focus-visible:not(.btn-animated) i{background:var(--color-text-light);color:var(--color-brand-primary)}.btn:hover:not(.btn-animated){transform:translateY(-2px)}
.btn--primary:hover:not(.btn-animated),.btn--primary:focus-visible:not(.btn-animated){background:var(--color-button-primary-bg-hover);color:var(--color-button-primary-text-hover)}
.section{padding:110px 0}.section--flush{padding-top:0}.section--muted{background:var(--color-bg-soft)}.section--dark{background:var(--color-brand-secondary);color:var(--color-text-light)}.section-heading{max-width:760px;margin:0 0 46px}.section-heading h2,.split h2,.cta-row h2{margin:12px 0 0;font-size:clamp(2.3rem,5vw,5.6rem);line-height:.96;letter-spacing:0}.section-heading p,.split p,.contact-details p{color:var(--color-text-muted);font-size:1.05rem}.section--dark .split p,.section--dark .section-heading p{color:color-mix(in srgb,var(--color-text-light) 72%,transparent)}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}.rounded-media{width:100%;border-radius:var(--radius);object-fit:cover;aspect-ratio:1.16}
.feature-strip{margin-top:-80px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;z-index:4}.feature-card{border-radius:var(--radius);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow)}.feature-card a{display:grid;min-height:360px}.feature-card img{width:100%;height:220px;object-fit:cover}.feature-card-body{display:grid;gap:12px;padding:24px}.feature-card h2,.insight-card h3,.service-card h3,.value-card h3{margin:0;font-size:1.34rem;line-height:1.1}.feature-card i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-dark-bg);color:var(--color-button-dark-text)}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{border-radius:var(--radius);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border-soft);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--color-brand-primary)}.service-card a{display:grid;height:100%}.service-card img{width:100%;height:190px;object-fit:cover}.service-card div{padding:24px;display:grid;gap:14px}.service-card i{font-size:1.6rem;color:var(--color-brand-primary)}.service-card p,.value-card p,.insight-card p{margin:0;color:var(--color-text-muted)}.service-card span{color:var(--color-brand-secondary);font-weight:700}.center-action{display:flex;justify-content:center;margin-top:34px}
.value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.value-card{min-height:220px;border:1px solid color-mix(in srgb,var(--color-text-light) 13%,transparent);border-radius:var(--radius);padding:26px;background:color-mix(in srgb,var(--color-text-light) 6%,transparent)}.value-card i{display:inline-grid;place-items:center;width:48px;height:48px;margin-bottom:28px;border-radius:50%;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:1.4rem}.value-card h3{color:inherit}.stats-band{padding:42px 0;background:var(--color-text-main);color:var(--color-text-light)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{border-radius:18px;padding:26px;background:color-mix(in srgb,var(--color-text-light) 6%,transparent)}.stat-card strong{display:block;color:var(--color-brand-primary);font-size:clamp(2.2rem,4vw,4.5rem);line-height:1}.stat-card span{color:color-mix(in srgb,var(--color-text-light) 76%,transparent)}.mini-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}
.industry-showcase{display:grid;grid-template-columns:420px 1fr;gap:36px;align-items:center}.orbit-card{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--color-brand-primary) 0 28%,transparent 29%),var(--color-brand-secondary);color:var(--color-text-light);display:grid;place-items:center;text-align:center;padding:48px}.orbit-card strong{font-size:2rem;line-height:1.05;color:var(--color-brand-primary)}.orbit-card span{color:color-mix(in srgb,var(--color-text-light) 80%,transparent)}.industry-links{display:grid;gap:10px}.industry-links a:not(.btn),.industry-group a{min-height:58px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);font-size:clamp(1.2rem,2.2vw,2rem)}.industry-links a:not(.btn):after,.industry-group a:after{content:"\ea70";font-family:"remixicon";color:var(--color-brand-primary)}.industry-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.industry-group{border-radius:var(--radius);padding:30px;background:var(--color-surface)}.industry-group h2{margin:0 0 18px;font-size:.85rem;color:var(--color-text-muted);letter-spacing:.08em}.industry-group a{font-size:1.1rem}
.testimonial-carousel{position:relative;overflow:hidden}.testimonial-track{display:flex;transition:transform .3s ease}.testimonial-slide{min-width:100%;display:grid;grid-template-columns:80px 1fr;gap:24px;align-items:start;border-radius:var(--radius);padding:clamp(28px,6vw,70px);background:var(--color-surface)}.testimonial-slide i{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-dark-bg);color:var(--color-button-dark-text);font-size:2rem}.testimonial-slide p{grid-column:2;margin:0 0 20px;font-size:clamp(1.6rem,3vw,3rem);line-height:1.08}.testimonial-slide h3{grid-column:2;margin:0}.testimonial-slide span{grid-column:2;color:var(--color-text-muted)}.carousel-controls{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;color:var(--color-brand-secondary)}.carousel-controls .icon-button{border-color:var(--color-border);background:var(--color-surface)}
.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.insight-card{border-radius:var(--radius);overflow:hidden;background:var(--color-surface)}.insight-card img{width:100%;aspect-ratio:1.35;object-fit:cover}.insight-card div{padding:24px;display:grid;gap:12px}.contact-band{background:var(--color-brand-secondary);color:var(--color-text-light)}.contact-grid{display:grid;grid-template-columns:1fr minmax(340px,520px);gap:44px;align-items:start}.contact-grid h2{margin:12px 0 18px;font-size:clamp(2.4rem,5vw,5rem);line-height:.96}.contact-grid p{color:color-mix(in srgb,var(--color-text-light) 74%,transparent)}.contact-form{display:grid;gap:14px;border-radius:var(--radius);padding:24px;background:var(--color-surface);color:var(--color-text-main)}.contact-form label{display:grid;gap:8px;color:var(--color-text-muted);font-weight:600}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--color-border);border-radius:14px;padding:14px 16px;background:var(--color-bg-main);color:var(--color-text-main);resize:vertical}.contact-details{display:grid;gap:10px}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.team-card{border-radius:var(--radius);padding:26px;background:var(--color-surface)}.avatar{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-dark-bg);color:var(--color-button-dark-text);font-weight:700;margin-bottom:34px}.process-list{display:grid;gap:14px}.process-list article{display:grid;grid-template-columns:60px 1fr;gap:14px;padding:22px;border-radius:16px;background:color-mix(in srgb,var(--color-text-light) 6%,transparent)}.process-list span{color:var(--color-brand-primary);font-weight:700}.process-list h3,.process-list p{margin:0}
.accordion-item{border-bottom:1px solid var(--color-border)}.accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;border:0;background:transparent;padding:24px 0;color:var(--color-text-main);text-align:left;font-weight:700;font-size:1.2rem}.accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.accordion-panel p{min-height:0;overflow:hidden;margin:0;color:var(--color-text-muted)}.accordion-item.is-open .accordion-panel{grid-template-rows:1fr;padding-bottom:22px}.accordion-item.is-open .accordion-trigger i{transform:rotate(45deg)}.legal-copy p{color:var(--color-text-muted);font-size:1.05rem}.cta-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-footer{padding:78px 0 28px;background:var(--color-bg-dark);color:var(--color-text-light)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:34px}.footer-grid h2{margin:0 0 16px;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-powder-blue)}.footer-grid a,.footer-grid p{display:block;margin:0 0 10px;color:color-mix(in srgb,var(--color-text-light) 72%,transparent)}.footer-brand{margin-bottom:18px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:54px;padding-top:24px;border-top:1px solid color-mix(in srgb,var(--color-text-light) 12%,transparent);color:color-mix(in srgb,var(--color-text-light) 64%,transparent)}.social-links{display:flex;gap:10px}.social-links a{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--color-text-light) 8%,transparent);color:var(--color-text-light)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media (max-width:1120px){.menu-toggle{display:grid;place-items:center}.header-inner{gap:16px}}
@media (max-width:900px){.hero h1,.page-hero h1{font-size:clamp(3.2rem,15vw,6rem)}.feature-strip,.service-grid,.insight-grid,.stats-grid,.industry-page-grid,.team-grid,.split,.contact-grid,.footer-grid,.industry-showcase{grid-template-columns:1fr}.feature-strip{margin-top:-40px}.hero-tabs{width:min(calc(100% - 40px),560px);border-radius:22px;grid-template-columns:1fr}.testimonial-slide{grid-template-columns:1fr}.testimonial-slide p,.testimonial-slide h3,.testimonial-slide span{grid-column:1}.cta-row{align-items:flex-start;flex-direction:column}}
@media (max-width:620px){.container,.header-inner{width:min(calc(100% - 28px),var(--container))}.section{padding:74px 0}.hero:before,.hero:after,.page-hero:before,.page-hero:after{inset:0;border-radius:0 0 24px 24px}.search-row{grid-template-columns:1fr}.search-card{padding:34px 18px}.mega-grid,.value-grid,.mini-stats{grid-template-columns:1fr}.contact-form{padding:18px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

.home-page{background:var(--color-bg-main)}
.home-page .reveal{opacity:1;transform:none}
.home-page .container{width:min(calc(100% - 34px),680px)}
.home-page .site-header{padding:16px 0}
.home-page .site-header.is-scrolled,.home-page .site-header.is-open{padding:8px 0}
.home-page .header-inner{width:min(calc(100% - 34px),780px);min-height:42px;gap:14px}
.home-page .brand{gap:6px}.home-page .brand-mark{width:18px;height:18px;font-size:.62rem}.home-page .brand-name{font-size:.72rem}
.home-page .nav{gap:10px}.home-page .nav-list{gap:2px}.home-page .icon-button{width:28px;height:28px;font-size:.72rem}.home-page .header-cta{min-height:28px;padding:0 13px;font-size:.64rem}
.home-page .hero{min-height:456px;margin:6px 6px 0;border-radius:10px;overflow:hidden}
.home-page .hero:before,.home-page .hero:after{inset:0;border-radius:10px}
.home-page .hero:after{background:transparent}
.home-page .hero-content{width:min(calc(100% - 34px),680px);max-width:none}
.home-page .hero-kicker{margin-bottom:8px;font-size:.68rem}
.home-page .hero h1{max-width:320px;margin-bottom:16px;font-size:clamp(2.05rem,3.35vw,2.85rem);line-height:.96}
.home-page .btn{min-height:32px;gap:7px;padding:0 8px 0 14px;font-size:.66rem}.home-page .btn i{width:22px;height:22px}
.home-page .hero-tabs{bottom:22px;width:min(calc(100% - 54px),430px);gap:5px;padding:6px;border-radius:999px}
.home-page .hero-tab{min-height:28px;padding:0 10px;font-size:.6rem}
.home-page .section--flush{padding:44px 0 0}
.home-page .feature-strip{margin-top:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-page .feature-card{border-radius:10px;box-shadow:0 18px 42px color-mix(in srgb,var(--color-brand-secondary) 11%,transparent)}
.home-page .feature-card:nth-child(2){background:var(--color-brand-primary);transform:translateY(-18px)}
.home-page .feature-card:nth-child(2) .feature-card-body span{color:var(--color-brand-secondary)}
.home-page .feature-card a{min-height:286px;display:flex;flex-direction:column-reverse}
.home-page .feature-card img{height:142px;object-fit:cover}
.home-page .feature-card-body{min-height:144px;padding:17px;gap:9px}
.home-page .feature-card h2{font-size:.96rem;line-height:1.08}
.home-page .feature-card i{width:24px;height:24px;font-size:.72rem}
.home-page .section{padding:82px 0}
.home-page .section-heading{max-width:520px;margin:0 0 34px}
.home-page .section-heading h2,.home-page .split h2,.home-page .cta-row h2{font-size:clamp(2.1rem,4.2vw,3.25rem);line-height:.98}
.home-page .section-heading h2{font-size:clamp(1.9rem,3.2vw,2.55rem)}
.home-page #services{margin:76px 6px 0;padding:86px 0 76px;border-radius:10px;background:var(--color-bg-soft)}
.home-page #services .section-heading{margin:0 auto 42px;text-align:center;max-width:430px}
.home-page #services .section-heading h2{font-size:clamp(1.9rem,3.2vw,2.45rem)}
.home-page #services .service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.home-page #services .service-card:nth-child(n+5){display:none}
.home-page #services .service-card{border-radius:9px;box-shadow:none}
.home-page #services .service-card img{height:150px}
.home-page #services .service-card div{padding:14px;gap:8px}
.home-page #services .service-card h3{font-size:.86rem}.home-page #services .service-card p{font-size:.66rem;line-height:1.35}.home-page #services .service-card span{font-size:.64rem}
.home-page #services .service-card i{font-size:.9rem}
.home-page #philosophy{margin:76px 6px 0;padding:78px 0;border-radius:10px;background:var(--color-brand-secondary)}
.home-page #philosophy .split{grid-template-columns:.95fr 1.05fr;gap:36px}
.home-page #philosophy .split h2{max-width:330px;font-size:clamp(1.9rem,3.2vw,2.55rem)}
.home-page #philosophy .value-grid{gap:10px}
.home-page #philosophy .value-card{min-height:136px;border-radius:9px;padding:18px}
.home-page #philosophy .value-card i{width:28px;height:28px;margin-bottom:16px;font-size:.85rem}
.home-page #philosophy .value-card h3{font-size:.82rem}.home-page #philosophy .value-card p{font-size:.66rem;line-height:1.35}
.home-page .stats-band{padding:26px 0 20px;background:var(--color-card-bg-neutral);color:var(--color-text-main)}
.home-page .stats-grid{gap:0}.home-page .stat-card{border-radius:0;border-right:1px solid var(--color-border);background:transparent;padding:12px 18px}.home-page .stat-card:last-child{border-right:0}
.home-page .stat-card strong{font-size:1.55rem;color:var(--color-brand-primary);text-shadow:0 0 0 var(--color-brand-secondary)}.home-page .stat-card span{font-size:.62rem;color:var(--color-text-muted)}
.home-image-cta{padding:28px 0 74px}
.image-cta-card{position:relative;min-height:310px;border-radius:12px;overflow:hidden;color:var(--color-text-light);display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:28px}
.image-cta-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--color-bg-dark) 62%,transparent),color-mix(in srgb,var(--color-bg-dark) 5%,transparent) 68%)}.image-cta-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.image-cta-card div,.image-cta-card a{position:relative;z-index:1}.image-cta-card h2{max-width:360px;margin:8px 0 0;font-size:1.8rem;line-height:1.02}
.home-page .industry-showcase{grid-template-columns:250px 1fr;gap:34px}.home-page .orbit-card{padding:34px}.home-page .orbit-card strong{font-size:1.08rem}.home-page .industry-links a:not(.btn){min-height:34px;font-size:.9rem}.home-page .industry-links .btn{width:max-content;margin-top:6px}
.home-proof{padding:30px 0 84px}.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.proof-quote,.proof-story{min-height:285px;border-radius:12px;overflow:hidden}.proof-quote{position:relative;color:var(--color-text-main)}.proof-quote img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.proof-quote div{position:absolute;left:18px;right:18px;bottom:18px;border-radius:10px;padding:18px;background:color-mix(in srgb,var(--color-surface) 92%,transparent)}.proof-quote i{color:var(--color-brand-primary);font-size:1.4rem}.proof-quote p{margin:8px 0 12px;font-size:.82rem}.proof-quote h3{margin:0;font-size:.72rem}.proof-quote span{font-size:.62rem;color:var(--color-text-muted)}.proof-story{display:grid;align-content:space-between;padding:24px;background:var(--color-button-primary-bg);color:var(--color-button-primary-text)}.proof-story>span{font-size:.7rem;text-transform:uppercase;font-weight:700}.proof-story h2{max-width:320px;margin:0;font-size:1.45rem;line-height:1.04}.proof-story strong{font-size:2rem}.proof-story p{margin:0;color:var(--color-brand-secondary-hover);font-size:.78rem}.proof-story .btn{justify-self:end;background:var(--color-button-dark-bg);color:var(--color-button-dark-text)}
.home-page .home-proof + .section{margin:0 6px;padding:82px 0;border-radius:10px;background:var(--color-bg-soft)}
.home-page .home-proof + .section .section-heading{text-align:center;margin:0 auto 36px}.home-page .home-proof + .section .insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.home-page .home-proof + .section .insight-card:nth-child(n+3){display:none}
.home-page .insight-card{border-radius:10px}.home-page .insight-card img{height:128px;aspect-ratio:auto}.home-page .insight-card div{padding:16px;gap:8px}.home-page .insight-card h3{font-size:.92rem}.home-page .insight-card p{font-size:.66rem}
.contact-band{padding:76px 0 0;background:var(--color-bg-main);color:var(--color-text-main)}
.contact-grid{grid-template-columns:.92fr 1.08fr;gap:0;align-items:stretch}
.contact-form{position:relative;z-index:2;margin:34px -24px 34px 0;border-radius:10px;padding:28px;box-shadow:var(--shadow);background:var(--color-surface)}
.contact-form h2{margin:8px 0 8px;font-size:2rem;line-height:1}.contact-form p{margin:0 0 14px;color:var(--color-text-muted);font-size:.75rem}
.contact-form label{font-size:.7rem;gap:5px}.contact-form input,.contact-form textarea{border-radius:7px;padding:9px 10px;font-size:.72rem}
.contact-media{position:relative;min-height:390px;border-radius:0 12px 12px 0;overflow:hidden}.contact-media img{width:100%;height:100%;object-fit:cover}.contact-media div{position:absolute;left:24px;right:24px;bottom:22px;display:flex;align-items:center;gap:10px;border-radius:999px;padding:10px 14px;background:color-mix(in srgb,var(--color-text-light) 92%,transparent);font-size:.7rem}.contact-media i{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-primary-bg);color:var(--color-button-primary-text)}
.site-footer{margin-top:-1px;padding-top:86px}.footer-grid{width:min(calc(100% - 34px),680px);margin:0 auto;grid-template-columns:1.5fr repeat(3,1fr);gap:26px}.footer-bottom{width:min(calc(100% - 34px),680px);margin-left:auto;margin-right:auto}
@media (max-width:1120px){.home-page .header-inner{width:min(calc(100% - 34px),900px)}.home-page .nav-link{font-size:.6rem;padding:0 5px}.home-page .header-cta{padding:0 10px}}
@media (max-width:900px){.home-page .container{width:min(calc(100% - 28px),640px)}.home-page .hero{min-height:560px}.home-page .hero h1{font-size:clamp(2.4rem,12vw,4.6rem)}.home-page .feature-strip,.home-page #services .service-grid,.proof-grid,.home-page .home-proof + .section .insight-grid,.contact-grid,.home-page #philosophy .split,.home-page .industry-showcase{grid-template-columns:1fr}.home-page .feature-card:nth-child(2){transform:none}.home-page #services .service-card:nth-child(n+5){display:block}.contact-form{margin:0}.contact-media{border-radius:12px}.footer-grid{grid-template-columns:1fr 1fr}.home-page .stats-grid{grid-template-columns:repeat(2,1fr)}.home-page .stat-card{border-right:0;border-bottom:1px solid var(--color-border)}}
@media (max-width:620px){.home-page .site-header{padding:10px 0}.home-page .hero{margin:0;min-height:600px;border-radius:0}.home-page .hero:before,.home-page .hero:after{border-radius:0 0 18px 18px}.home-page .hero-tabs{bottom:18px;grid-template-columns:1fr;border-radius:18px}.image-cta-card{display:grid;align-content:end;min-height:360px}.home-page #services,.home-page #philosophy,.home-page .home-proof + .section{margin-left:0;margin-right:0;border-radius:0}.footer-grid,.footer-bottom{grid-template-columns:1fr;width:min(calc(100% - 28px),640px)}}

@media (min-width:901px){
  .home-page .container{width:min(calc(100% - 48px),960px)}
  .home-page .header-inner{width:min(calc(100% - 48px),1100px);min-height:54px}
  .home-page .brand-mark{width:24px;height:24px;font-size:.74rem}.home-page .brand-name{font-size:.86rem}
  .home-page .nav-link{min-height:34px;padding:0 10px;font-size:.72rem}.home-page .icon-button{width:36px;height:36px;font-size:.9rem}.home-page .header-cta{min-height:34px;padding:0 16px;font-size:.72rem}
  .home-page .hero{min-height:560px;margin:6px 6px 0}
  .home-page .hero-content{width:min(calc(100% - 48px),960px)}
  .home-page .hero h1{max-width:430px;font-size:clamp(2.75rem,4.2vw,4.05rem)}
  .home-page .hero-kicker{font-size:.78rem}
  .home-page .btn{min-height:38px;font-size:.74rem}.home-page .btn i{width:26px;height:26px}
  .home-page .hero-tabs{bottom:28px;width:min(calc(100% - 96px),560px)}
  .home-page .hero-tab{min-height:34px;font-size:.68rem}
  .home-page .section--flush{padding-top:64px}
  .home-page .feature-strip{gap:18px}
  .home-page .feature-card a{min-height:340px}.home-page .feature-card img{height:170px}.home-page .feature-card-body{min-height:170px;padding:22px}.home-page .feature-card h2{font-size:1.12rem}
  .home-page #services{padding:94px 0 84px}
  .home-page #services .section-heading{max-width:560px}
  .home-page #services .section-heading h2{font-size:clamp(2.35rem,3.8vw,3.2rem)}
  .home-page #services .service-grid{gap:18px}
  .home-page #services .service-card img{height:190px}.home-page #services .service-card div{padding:18px}.home-page #services .service-card h3{font-size:1rem}.home-page #services .service-card p{font-size:.78rem}.home-page #services .service-card span{font-size:.72rem}
  .home-page #philosophy{padding:88px 0}
  .home-page #philosophy .split{gap:54px}
  .home-page #philosophy .split h2{max-width:420px;font-size:clamp(2.45rem,3.8vw,3.25rem)}
  .home-page #philosophy .value-card{min-height:164px;padding:22px}.home-page #philosophy .value-card h3{font-size:.96rem}.home-page #philosophy .value-card p{font-size:.76rem}
  .home-page .stats-band .container{width:min(calc(100% - 96px),1280px)}
  .image-cta-card{min-height:360px}
  .home-page .industry-showcase{grid-template-columns:320px 1fr}
  .home-page .section-heading h2{font-size:clamp(2.25rem,3.6vw,3.05rem)}
  .proof-grid{gap:18px}.proof-quote,.proof-story{min-height:330px}.proof-story h2{font-size:1.75rem}
  .home-page .home-proof + .section .insight-grid{gap:18px}
  .home-page .insight-card img{height:160px}
  .contact-grid{grid-template-columns:1fr 1fr}.contact-form{padding:34px}.contact-media{min-height:460px}
  .footer-grid,.footer-bottom{width:min(calc(100% - 48px),960px)}
}

@media (min-width:901px){
  .home-page .site-header{padding:6px 0;background:transparent;box-shadow:none}
  .home-page .site-header.is-scrolled{
    padding:25px 0;
    background:var(--color-header-bg-solid);
    box-shadow:0 14px 38px color-mix(in srgb,var(--color-bg-dark) 18%,transparent);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  .home-page .header-inner{width:min(calc(100% - 64px),1280px);min-height:54px;gap:48px;transform:translateY(28px);transition:transform .28s ease}
  .home-page .site-header.is-scrolled .header-inner,.home-page .site-header.is-open .header-inner{transform:none}
  .home-page .brand{gap:12px}
  .home-page .brand-mark{width:38px;height:38px;font-size:0}
  .home-page .brand-mark:before{content:"*";font-size:2rem;line-height:1;color:var(--color-brand-secondary);transform:translateY(2px)}
  .home-page .brand-name{font-size:1.55rem;font-weight:500;color:var(--color-text-light)}
  .home-page .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:34px;width:auto;min-width:0;flex:1 1 auto}
  .home-page .nav-list{justify-self:center;gap:22px;min-width:0;max-width:100%}
  .home-page .nav-list>.nav-item:nth-child(6),.home-page .nav-list>.nav-item:nth-child(7){display:none}
  .home-page .nav-link{min-height:38px;padding:0 14px;color:var(--color-text-light);background:transparent;border-radius:999px;font-size:.9rem;font-weight:700;transition:color .18s ease,background-color .18s ease}
.home-page .nav-link.is-active,.home-page .nav-link[aria-current=page]{background:var(--color-dropdown-hover-bg);color:var(--color-dropdown-hover-text)}
.home-page .nav-link:hover,.home-page .nav-link:focus-visible,.home-page .nav-item.is-open>.nav-link{background:var(--color-dropdown-hover-bg);color:var(--color-dropdown-hover-text)}
.home-page .nav-link i{color:var(--color-brand-accent);font-size:.92rem;transition:transform .18s ease,color .18s ease}
.home-page .nav-link:hover i,.home-page .nav-link:focus-visible i,.home-page .nav-item.is-open>.nav-link i{color:var(--color-dropdown-hover-text)}
  .home-page .nav-item.is-open>.nav-link i{transform:rotate(180deg)}
  .home-page .nav-actions{gap:16px}
  .home-page .icon-button{width:46px;height:46px;border:0;background:var(--color-surface);color:var(--color-brand-secondary);font-size:1.12rem}
  .home-page .header-cta{min-height:46px;padding:0 28px;border-radius:999px;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:.9rem;font-weight:700}
  .home-page .hero{min-height:calc(100svh - 22px);margin:11px;border-radius:22px}
  .home-page .hero:before,.home-page .hero:after{border-radius:22px}
  .home-page .hero:after{background:transparent}
  .home-page .hero-content{width:min(calc(100% - 64px),1280px);margin-top:220px}
  .home-page .hero-kicker{display:none}
  .home-page .hero h1{position:relative;max-width:660px;margin:0 0 30px;font-size:clamp(3.2rem,3.1vw,3.65rem);line-height:1.18;font-weight:400;letter-spacing:0}
  .home-page .hero h1 span{display:block}
  .home-page .hero h1:after{content:"";position:absolute;left:380px;top:.6em;width:158px;height:1px;background:var(--color-brand-primary)}
  .home-page .hero .btn{min-height:46px;gap:0;padding:0 0 0 26px;border-radius:999px;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:.96rem;font-weight:700}
  .home-page .hero .btn i{width:46px;height:46px;margin-left:12px;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:1.35rem}
  .home-page .hero-tabs{bottom:40px;width:min(calc(100% - 620px),1280px);min-width:900px;grid-template-columns:1fr 1fr .9fr;gap:20px;padding:0;background:transparent;border:0}
  .home-page .hero-tab{min-height:60px;border-radius:14px;padding:0 32px;background:color-mix(in srgb,var(--color-bg-warm) 78%,transparent);color:var(--color-brand-secondary);font-size:.78rem;font-weight:700;text-align:left;justify-content:flex-start;text-transform:uppercase}
  .home-page .hero-tab.is-active{background:var(--color-button-primary-bg);color:var(--color-button-primary-text)}
  .home-page .dropdown{top:calc(100% + 12px);min-width:250px;border-radius:17px 17px 20px 20px;padding:0;overflow:hidden;box-shadow:0 22px 55px color-mix(in srgb,var(--color-brand-secondary) 18%,transparent)}
  .home-page .nav-item.has-panel:not(.has-mega)::after{content:"";position:absolute;left:-24px;width:300px;top:100%;height:14px;pointer-events:none}
  .home-page .nav-item.is-open.has-panel:not(.has-mega)::after{pointer-events:auto}
  .home-page .dropdown a{display:flex;align-items:center;min-height:40px;border-radius:0;padding:8px 20px;color:var(--color-brand-secondary);font-size:.92rem;font-weight:500;position:relative}
  .home-page .dropdown a:hover{background:var(--color-dropdown-hover-bg);color:var(--color-dropdown-hover-text)}
  .home-page .dropdown a:hover:after{content:"\ea70";font-family:"remixicon";position:absolute;right:16px;top:50%;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-dark-bg);color:var(--color-button-dark-text);font-size:.85rem;transform:translateY(-50%)}
  .home-page .dropdown a:last-child{min-height:52px;background:var(--color-brand-secondary);color:var(--color-text-light);font-weight:700}
  .home-page .dropdown a:last-child:after{content:"\ea70";font-family:"remixicon";position:absolute;right:18px;top:50%;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--color-brand-accent);color:var(--color-midnight-blue);font-size:.82rem;transform:translateY(-50%)}
  .home-page .dropdown a:last-child:hover{background:var(--color-brand-secondary);color:var(--color-text-light)}
  .home-page .mega-menu{top:68px;left:50%;width:min(1280px,calc(100% - 116px));max-width:100%;min-width:0;grid-template-columns:292px minmax(0,1fr);gap:38px;border-radius:22px;padding:40px;background:var(--color-surface);box-shadow:0 28px 70px color-mix(in srgb,var(--color-brand-secondary) 18%,transparent)}
  .home-page .site-header.is-scrolled .dropdown,.home-page .site-header.is-open .dropdown{top:calc(100% + 40px)}
  .home-page .site-header.is-scrolled .nav-item.has-panel:not(.has-mega)::after,.home-page .site-header.is-open .nav-item.has-panel:not(.has-mega)::after{height:42px}
  .home-page .site-header.is-scrolled .mega-menu,.home-page .site-header.is-open .mega-menu{top:calc(100% + 18px)}
  .home-page .mega-menu:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
  .home-page .mega-promo{position:relative;min-height:333px;border-radius:18px;padding:24px 20px;overflow:hidden;background:var(--color-brand-secondary)}
  .home-page .mega-promo:after{content:"";position:absolute;right:-80px;bottom:-86px;width:220px;height:220px;border-radius:48px;background:var(--color-brand-accent);transform:rotate(-20deg)}
  .home-page .mega-promo strong{position:relative;z-index:1;color:var(--color-text-light);font-size:1.18rem;line-height:1.25}
  .home-page .mega-promo a{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;color:var(--color-brand-accent);font-size:.9rem;font-weight:700}
  .home-page .mega-promo a i{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--color-brand-accent);color:var(--color-midnight-blue)}
  .home-page .mega-grid{align-self:start;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:78px;row-gap:42px}
  .home-page .mega-column{display:flex;flex-direction:column;gap:10px}
  .home-page .mega-column h3{margin:0 0 6px;color:var(--color-text-muted);font-size:.68rem;font-weight:800;letter-spacing:0;text-transform:uppercase}
  .home-page .mega-column a{position:relative;isolation:isolate;min-height:30px;display:flex;align-items:center;border-radius:4px;padding:0 44px 0 0;margin:0;color:var(--color-brand-secondary);font-size:.95rem;line-height:1.42;font-weight:400;transition:color .16s ease}
  .home-page .mega-column a:before{content:"";position:absolute;inset:-6px 0 -6px -18px;border-radius:4px;background:var(--color-dropdown-hover-bg);opacity:0;z-index:-1;transition:opacity .16s ease}
  .home-page .mega-column a:after{content:"\ea70";font-family:"remixicon";position:absolute;right:10px;top:50%;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-dark-bg);color:var(--color-button-dark-text);font-size:.84rem;opacity:0;transform:translateY(-50%) scale(.88);transition:opacity .16s ease,transform .16s ease}
  .home-page .mega-column a:hover{color:var(--color-dropdown-hover-text)}
  .home-page .mega-column a:hover:before{opacity:1}
  .home-page .mega-column a:hover:after{opacity:1;transform:translateY(-50%) scale(1)}
}

.hero[data-hero-state=project]:before{background-image:url("../images/koldere-brandschutzsysteme-hero1.jpg");background-position:center right}
.hero[data-hero-state=montage]:before{background-image:url("../images/koldere-brandschutzsysteme-hero2.jpg");background-position:center right}
.hero[data-hero-state=aluminium]:before{background-image:url("../images/koldere-brandschutzsysteme-hero3.jpg");background-position:center right}
.home-page .hero:before{transition:background-image .24s ease,opacity .24s ease}
.home-page .hero:after{background:transparent}
.hero-media,.hero-video-wrap{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:inherit;background:var(--color-brand-secondary);pointer-events:none}
.hero-video{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .8s ease}
.hero-video.is-active{opacity:1}
.hero-overlay{position:absolute;inset:0;z-index:1;border-radius:inherit;background:var(--overlay-hero-dark);pointer-events:none}
.home-page .hero-overlay{background:linear-gradient(to top,rgba(0,0,0,.38) 0%,rgba(0,0,0,.22) 38%,rgba(0,0,0,.08) 68%,rgba(0,0,0,0) 100%)}
.hero-content,.hero-inner{position:relative;z-index:2}
.hero-tabs{z-index:3}
@media (max-width:620px){.hero-overlay{background:linear-gradient(90deg,color-mix(in srgb,var(--color-text-main) 72%,transparent) 0%,color-mix(in srgb,var(--color-text-main) 50%,transparent) 52%,color-mix(in srgb,var(--color-text-main) 28%,transparent) 100%)}}
.home-page .hero-content{display:grid;align-content:center;gap:0;max-width:none}
.home-page .hero-kicker{display:block;margin:0 0 14px;color:var(--color-brand-primary);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.home-page .hero h1{max-width:min(100%,760px);margin:0 0 20px;font-size:55px;line-height:.96;font-weight:600;letter-spacing:0;overflow-wrap:break-word}
.home-page .hero h1 span{display:block}
.home-page .hero h1:after{content:none}
.hero-copy{max-width:min(100%,650px);margin:0 0 28px;color:color-mix(in srgb,var(--color-text-light) 86%,transparent);font-size:clamp(1rem,1.2vw,1.18rem);line-height:1.55;overflow-wrap:break-word}
.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.home-page .hero .btn{min-height:48px}
.home-page .hero .hero-secondary{border-color:color-mix(in srgb,var(--color-text-light) 56%,transparent);background:color-mix(in srgb,var(--color-text-light) 12%,transparent);color:var(--color-text-light);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.home-page .hero .hero-secondary.btn-animated{--btn-hover-bg:var(--color-brand-primary);--btn-hover-color:var(--color-text-light)}
.home-page .hero .hero-secondary.btn-animated:hover,.home-page .hero .hero-secondary.btn-animated:focus-visible{color:var(--btn-hover-color)}
.home-page .hero .hero-secondary:focus-visible{outline-color:color-mix(in srgb,var(--color-text-light) 72%,transparent)}
.home-page .hero-tab{position:relative;overflow:hidden;transition:background-color .24s ease,color .24s ease}
.home-page .hero-tab:hover,.home-page .hero-tab:focus-visible{background:var(--color-button-primary-bg);color:var(--color-button-primary-text)}
.home-page .hero-tab.is-active{background:var(--color-button-primary-bg);color:var(--color-button-primary-text)}

.home-page{background:var(--color-bg-main)}
.home-page .section--flush{padding:118px 0 112px;background:var(--color-surface)}
.home-page .section--flush .feature-strip{width:min(calc(100% - 96px),1280px)}
.home-page .feature-strip{margin:0 auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.home-page .feature-card{--feature-hover-bg:var(--color-brand-primary);--feature-hover-color:var(--color-text-light);--feature-hover-icon-bg:var(--color-text-light);--feature-hover-icon-color:var(--color-brand-primary);position:relative;isolation:isolate;border-radius:22px;background:var(--color-card-bg-neutral);box-shadow:none;overflow:hidden;transform:none!important;transition:transform .34s cubic-bezier(.2,.82,.2,1),box-shadow .34s ease}
.home-page .feature-card:before{content:"";position:absolute;z-index:0;right:30px;bottom:30px;width:14px;height:14px;border-radius:999px;background:var(--feature-hover-bg);opacity:0;pointer-events:none;transition:opacity .35s ease,width .9s cubic-bezier(.2,.82,.2,1),height .9s cubic-bezier(.2,.82,.2,1),right .9s cubic-bezier(.2,.82,.2,1),bottom .9s cubic-bezier(.2,.82,.2,1),transform .9s cubic-bezier(.2,.82,.2,1),border-radius .9s cubic-bezier(.2,.82,.2,1)}
.home-page .feature-card a{position:relative;z-index:1;min-height:560px;display:flex;flex-direction:column-reverse;justify-content:space-between;gap:34px;padding:30px;color:var(--color-brand-secondary);transition:color .3s ease}
.home-page .feature-card a>*{position:relative;z-index:1}
.home-page .feature-card img{width:100%;height:285px;object-fit:cover;border-radius:20px;margin-top:auto;transition:transform .9s cubic-bezier(.2,.82,.2,1)}
.home-page .feature-card-body{min-height:0;padding:0;display:grid;grid-template-columns:1fr auto;align-content:start;gap:22px}
.home-page .feature-card-body span{grid-column:1;justify-self:start;display:inline-flex;align-items:center;min-height:34px;border:1px solid var(--color-border);border-radius:999px;padding:0 18px;color:var(--color-brand-secondary);font-size:.72rem;line-height:1;letter-spacing:.04em;text-transform:uppercase;font-weight:700;transition:color .3s ease,border-color .3s ease}
.home-page .feature-card h2{grid-column:1 / -1;max-width:330px;font-size:1.65rem;line-height:1.18;font-weight:500}
.home-page .feature-card i{grid-column:2;grid-row:1;justify-self:end;width:50px;height:50px;border-radius:50%;background:var(--color-surface);color:var(--color-brand-primary);font-size:1.25rem;transition:background-color .3s ease,color .3s ease,transform .3s ease}
.home-page .feature-card:focus-within{outline:3px solid color-mix(in srgb,var(--color-brand-primary) 72%,transparent);outline-offset:5px}
.home-page .feature-card:focus-within,.home-page .feature-card:hover{transform:translateY(-6px)!important;box-shadow:0 28px 70px color-mix(in srgb,var(--color-brand-secondary) 12%,transparent)}
.home-page .feature-card:focus-within:before,.home-page .feature-card:hover:before{right:-18%;bottom:-18%;width:150%;height:150%;border-radius:36px;opacity:.98;transform:scale(1.04)}
.home-page .feature-card:focus-within a,.home-page .feature-card:hover a{color:var(--feature-hover-color)}
.home-page .feature-card:focus-within .feature-card-body span,.home-page .feature-card:hover .feature-card-body span{color:var(--feature-hover-color);border-color:color-mix(in srgb,var(--color-brand-secondary) 18%,transparent)}
.home-page .feature-card:focus-within i,.home-page .feature-card:hover i{background:var(--feature-hover-icon-bg);color:var(--feature-hover-icon-color);transform:translate(2px,-2px)}
.home-page .feature-card:focus-within img,.home-page .feature-card:hover img{transform:scale(1.025)}
.home-page .feature-card:nth-child(2){--feature-hover-bg:var(--color-brand-secondary);--feature-hover-color:var(--color-text-light);--feature-hover-icon-bg:var(--color-brand-accent);--feature-hover-icon-color:var(--color-brand-secondary);background:var(--color-card-bg-blue);color:var(--color-brand-secondary)}
.home-page .feature-card:nth-child(2) a{flex-direction:column;padding:0;gap:0}
.home-page .feature-card:nth-child(2) a:before,.home-page .feature-card:nth-child(2) a:after{content:"";position:absolute;z-index:2;background:var(--color-brand-primary);pointer-events:none}
.home-page .feature-card:nth-child(2) a:before{top:0;right:28px;width:164px;height:94px;border-radius:0 0 70px 70px}
.home-page .feature-card:nth-child(2) a:after{top:200px;left:82px;width:124px;height:96px;border-radius:48px 48px 0 0}
.home-page .feature-card:nth-child(2) img{height:280px;width:100%;margin:0;border-radius:0;object-fit:cover;object-position:center}
.home-page .feature-card:nth-child(2) .feature-card-body{position:relative;z-index:3;margin-top:auto;padding:30px;grid-template-columns:1fr auto;gap:18px}
.home-page .feature-card:nth-child(2) .feature-card-body span{color:var(--color-brand-secondary);border-color:var(--color-border-soft)}
.home-page .feature-card:nth-child(2) h2{max-width:290px;font-size:1.45rem;align-self:end}
.home-page .feature-card:nth-child(2) i{align-self:end;background:var(--color-surface);color:var(--color-brand-secondary)}
.home-page .feature-card:nth-child(2):focus-within .feature-card-body span,.home-page .feature-card:nth-child(2):hover .feature-card-body span{color:var(--color-text-light);border-color:color-mix(in srgb,var(--color-text-light) 25%,transparent)}
.home-page .feature-card:nth-child(2):focus-within i,.home-page .feature-card:nth-child(2):hover i{background:var(--color-button-primary-bg);color:var(--color-button-primary-text)}

@media (max-width:1180px){
  .home-page .section--flush .feature-strip{width:min(calc(100% - 48px),980px)}
  .home-page .feature-card a{min-height:500px;padding:24px;gap:26px}
  .home-page .feature-card img{height:240px}
  .home-page .feature-card h2{font-size:1.36rem}
  .home-page .feature-card:nth-child(2) img{height:245px}
  .home-page .feature-card:nth-child(2) .feature-card-body{padding:24px}
  .home-page .feature-card:nth-child(2) h2{font-size:1.28rem}
}

@media (max-width:900px){
  .home-page .section--flush{padding:64px 0 74px}
  .home-page .section--flush .feature-strip{width:min(calc(100% - 28px),640px);grid-template-columns:1fr;gap:18px}
  .home-page .feature-card a,.home-page .feature-card:nth-child(2) a{min-height:auto;display:flex;flex-direction:column-reverse;gap:22px;padding:22px}
  .home-page .feature-card img,.home-page .feature-card:nth-child(2) img{height:240px;border-radius:16px;margin-top:0}
  .home-page .feature-card-body,.home-page .feature-card:nth-child(2) .feature-card-body{padding:0;gap:16px}
  .home-page .feature-card h2,.home-page .feature-card:nth-child(2) h2{max-width:100%;font-size:1.32rem}
  .home-page .feature-card i{width:44px;height:44px}
  .home-page .feature-card:nth-child(2) a:before,.home-page .feature-card:nth-child(2) a:after{display:none}
}

.home-page #services{--service-surface:var(--color-card-bg-neutral);--service-text:var(--color-brand-secondary);--service-accent:var(--color-brand-primary);--service-hover-bg:var(--service-accent);--service-hover-color:var(--color-text-light);--service-hover-icon-bg:var(--color-text-light);--service-hover-icon-color:var(--service-accent);--service-action-bg:var(--color-surface);margin:0;padding:92px 0 104px;border-radius:0;background:var(--color-surface)}
.home-page #services .container{width:min(calc(100% - 96px),1280px)}
.home-page #services .section-heading{max-width:640px;margin:0 auto 44px;text-align:center}
.home-page #services .section-heading span{display:inline-flex;align-items:center;justify-content:center;min-height:32px;border:1px solid var(--color-border);border-radius:999px;padding:0 20px;color:var(--color-brand-primary);font-size:.7rem;line-height:1;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.home-page #services .section-heading h2{margin:26px auto 0;max-width:640px;color:var(--service-text);font-size:clamp(2.8rem,3.05vw,3.3rem);line-height:1.18;font-weight:300;letter-spacing:0}
.home-page #services .service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.home-page #services .service-card:nth-child(n+5){display:none}
.home-page #services .service-card{position:relative;isolation:isolate;border:1px solid transparent;border-radius:22px;background:var(--service-surface);box-shadow:none;overflow:hidden;transition:transform .34s cubic-bezier(.2,.82,.2,1),box-shadow .34s ease,border-color .3s ease}
.home-page #services .service-card:before{display:none}
.home-page #services .service-card a{--service-image-height:400px;--service-footer-height:100px;position:relative;z-index:1;height:calc(var(--service-image-height) + var(--service-footer-height));display:grid;grid-template-rows:minmax(0,var(--service-image-height)) var(--service-footer-height);overflow:hidden;border-radius:inherit;color:var(--service-text)}
.home-page #services .service-card a:before{display:none}
.home-page #services .service-card img{position:relative;z-index:1;grid-row:1;width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .9s cubic-bezier(.2,.82,.2,1)}
.home-page #services .service-card div{position:relative;isolation:isolate;overflow:hidden;z-index:3;grid-row:2;display:grid;grid-template-columns:1fr 54px;align-items:center;gap:18px;min-height:var(--service-footer-height);padding:22px 20px;background:var(--service-surface);transition:background-color .3s ease}
.home-page #services .service-card div:before{content:"";position:absolute;z-index:0;right:20px;bottom:20px;width:12px;height:12px;border-radius:999px;background:var(--service-hover-bg);opacity:0;transition:opacity .35s ease,width .9s cubic-bezier(.2,.82,.2,1),height .9s cubic-bezier(.2,.82,.2,1),right .9s cubic-bezier(.2,.82,.2,1),bottom .9s cubic-bezier(.2,.82,.2,1),border-radius .9s cubic-bezier(.2,.82,.2,1)}
.home-page #services .service-card div>*{position:relative;z-index:1}
.home-page #services .service-card div>i:first-child{position:absolute;top:calc(20px - var(--service-image-height));left:20px;z-index:4;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:var(--color-surface);color:var(--color-brand-primary);font-size:1.55rem;line-height:1;transition:background-color .3s ease,color .3s ease}
.home-page #services .service-card h3{grid-column:1;margin:0;color:var(--service-text);font-size:1.25rem;line-height:1.15;font-weight:500;transition:color .3s ease}
.home-page #services .service-card p{display:none}
.home-page #services .service-card span{grid-column:2;justify-self:end;width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--service-action-bg);color:var(--service-text);font-size:0;line-height:1;transition:background-color .3s ease,color .3s ease,transform .3s ease}
.home-page #services .service-card span i{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;color:currentColor}
.home-page #services .service-card span i:before{display:block;line-height:1;transform:translateY(-1px)}
.home-page #services .service-card:focus-within{outline:3px solid color-mix(in srgb,var(--service-accent) 72%,transparent);outline-offset:5px}
.home-page #services .service-card:hover,.home-page #services .service-card:focus-within{transform:none;box-shadow:none;border-color:var(--color-brand-primary)}
.home-page #services .service-card:hover div:before,.home-page #services .service-card:focus-within div:before{right:-24%;bottom:-42%;width:172%;height:220%;border-radius:34px;opacity:1}
.home-page #services .service-card:hover img,.home-page #services .service-card:focus-within img{transform:none}
.home-page #services .service-card:hover h3,.home-page #services .service-card:focus-within h3{color:var(--service-hover-color)}
.home-page #services .service-card:hover span,.home-page #services .service-card:focus-within span{background:var(--service-hover-icon-bg);color:var(--service-hover-icon-color);transform:none}
.home-page #services .center-action{margin-top:50px}
.home-page #services .center-action .btn{--btn-hover-bg:var(--color-button-primary-bg-hover);--btn-hover-color:var(--color-button-primary-text-hover);min-height:46px;border-color:var(--color-button-primary-bg);background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:.9rem}
.home-page #services .center-action .btn:hover,.home-page #services .center-action .btn:focus-visible{color:var(--btn-hover-color)}

@media (max-width:1180px){
  .home-page #services .container{width:min(calc(100% - 48px),980px)}
  .home-page #services .service-grid{gap:18px}
  .home-page #services .service-card a{--service-image-height:332px;--service-footer-height:98px}
  .home-page #services .service-card div>i:first-child{width:52px;height:52px}
  .home-page #services .service-card h3{font-size:1.05rem}
}

@media (max-width:900px){
  .home-page #services{padding:82px 0 86px}
  .home-page #services .container{width:min(calc(100% - 28px),640px)}
  .home-page #services .section-heading{max-width:640px;margin-bottom:34px}
  .home-page #services .section-heading h2{font-size:clamp(2.15rem,8vw,3rem);line-height:1.08}
  .home-page #services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .home-page #services .service-card:nth-child(n+5){display:none}
  .home-page #services .service-card a{--service-image-height:290px;--service-footer-height:90px}
}

@media (max-width:620px){
  .home-page #services .service-grid{grid-template-columns:1fr}
  .home-page #services .service-card a{--service-image-height:332px;--service-footer-height:98px}
}

@media (max-width:900px){
  .home-page .hero{min-height:760px;align-items:flex-start}
  .home-page .hero-content{padding-top:128px;padding-bottom:210px}
  .home-page .hero-kicker{font-size:.72rem}
  .home-page .hero h1{max-width:620px;font-size:clamp(2.55rem,10vw,4.4rem);line-height:1}
  .hero-copy{max-width:560px;font-size:.98rem;line-height:1.5}
  .hero-actions{gap:10px}
  .home-page .hero-tabs{bottom:22px;width:min(calc(100% - 36px),560px);min-width:0;grid-template-columns:1fr;gap:8px}
  .home-page .hero-tab{min-height:48px;border-radius:14px;font-size:.72rem}
}

@media (max-width:620px){
  .home-page .hero{min-height:820px}
  .home-page .hero-content{padding-top:108px;padding-bottom:236px}
  .home-page .hero h1{max-width:340px;font-size:clamp(2.1rem,9vw,3rem);line-height:1.04}
  .home-page .hero h1 span{max-width:100%;white-space:normal;overflow-wrap:break-word}
  .hero-copy{max-width:340px}
  .hero-actions{display:grid;grid-template-columns:1fr;width:min(100%,340px)}
  .home-page .hero .btn{width:100%;min-height:46px}
}

.home-page .hero-tabs{--hero-tabs-inset:max(32px,calc((100% - var(--container)) / 2));left:var(--hero-tabs-inset);right:auto;bottom:34px;transform:none;width:min(38vw,460px);min-width:min(380px,calc(100% - var(--hero-tabs-inset) - 32px));max-width:calc(100% - var(--hero-tabs-inset) - 32px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0;border:0;border-radius:0;background:transparent}
.home-page .hero-tab{position:relative;min-height:34px;display:flex;align-items:flex-start;justify-content:flex-start;overflow:visible;border:0;border-radius:0;padding:0 0 13px;background:transparent;color:color-mix(in srgb,var(--color-text-light) 74%,transparent);font-size:.64rem;line-height:1.1;font-weight:800;text-align:left;text-transform:uppercase;text-shadow:0 1px 12px color-mix(in srgb,var(--color-bg-dark) 38%,transparent);transition:color .2s ease}
.home-page .hero-tab:before,.home-page .hero-tab:after{content:"";position:absolute;left:0;bottom:0;height:5px;border-radius:999px}
.home-page .hero-tab:before{right:0;background:color-mix(in srgb,var(--color-text-light) 46%,transparent);box-shadow:0 1px 10px color-mix(in srgb,var(--color-bg-dark) 18%,transparent)}
.home-page .hero-tab:after{width:0;background:var(--color-brand-primary)}
.home-page .hero-tab:hover,.home-page .hero-tab:focus-visible,.home-page .hero-tab.is-active{background:transparent;color:var(--color-text-light)}
.home-page .hero-tab:focus-visible{outline:2px solid color-mix(in srgb,var(--color-text-light) 76%,transparent);outline-offset:8px}
.home-page .hero-tab.is-active:after{animation:heroTabProgress var(--hero-slide-duration,6500ms) linear forwards}
@keyframes heroTabProgress{from{width:0}to{width:100%}}

@media (max-width:900px){
  .home-page .hero-tabs{left:50%;right:auto;bottom:22px;transform:translateX(-50%);width:min(calc(100% - 36px),520px);min-width:0;max-width:none;grid-template-columns:1fr;gap:12px}
  .home-page .hero-tab{min-height:32px;justify-content:center;padding-bottom:12px;text-align:center}
}

.home-page #philosophy{position:relative;margin:28px 9px 0;padding:108px 0 64px;border-radius:24px;background:var(--color-brand-secondary);overflow:visible}
.home-page #philosophy:before{content:"";position:absolute;top:-28px;left:50%;transform:translateX(-50%);width:100vw;bottom:0;background:var(--color-card-bg-neutral);z-index:-1;pointer-events:none}
.home-page #philosophy:after{content:"";position:absolute;left:16%;bottom:-28px;width:92px;height:34px;background:var(--color-brand-secondary);clip-path:polygon(0 0,100% 0,0 100%);border-bottom-left-radius:10px}
.home-page #philosophy .container{width:min(calc(100% - 96px),1280px)}
.home-page #philosophy .split{display:block}
.home-page #philosophy .split>div:first-child{max-width:780px;margin:0 0 72px}
.home-page #philosophy .eyebrow{display:inline-flex;align-items:center;justify-content:center;min-height:32px;margin-bottom:26px;border:1px solid color-mix(in srgb,var(--color-text-light) 28%,transparent);border-radius:999px;padding:0 22px;color:var(--color-text-light);font-size:.72rem;line-height:1;letter-spacing:0;text-transform:uppercase;font-weight:800}
.home-page #philosophy .split h2{max-width:760px;margin:0;color:var(--color-text-light);font-size:55px;line-height:1.22;font-weight:300;letter-spacing:0}
.home-page #philosophy .split h2:after{content:"";display:inline-block;width:158px;height:1px;margin-left:18px;vertical-align:middle;background:var(--color-brand-primary);transform:translateY(-.08em)}
.home-page #philosophy .value-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.home-page #philosophy .value-card{--value-hover-bg:var(--color-brand-primary);--value-hover-color:var(--color-text-light);position:relative;isolation:isolate;overflow:hidden;min-height:266px;border:1px solid var(--color-border-light);border-radius:20px;padding:32px 30px;background:color-mix(in srgb,var(--color-text-light) 6%,transparent);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;transition:border-color .3s ease,background-color .3s ease,color .3s ease}
.home-page #philosophy .value-card:before{content:"";position:absolute;z-index:0;right:24px;bottom:24px;width:12px;height:12px;border-radius:999px;background:var(--value-hover-bg);opacity:0;transition:opacity .35s ease,width .9s cubic-bezier(.2,.82,.2,1),height .9s cubic-bezier(.2,.82,.2,1),right .9s cubic-bezier(.2,.82,.2,1),bottom .9s cubic-bezier(.2,.82,.2,1),border-radius .9s cubic-bezier(.2,.82,.2,1)}
.home-page #philosophy .value-card>*{position:relative;z-index:1}
.home-page #philosophy .value-card i{width:40px;height:40px;margin:0 0 44px;background:transparent;color:var(--color-brand-primary);font-size:1.85rem;line-height:1;transition:color .3s ease,transform .3s ease}
.home-page #philosophy .value-card h3{margin:0 0 20px;color:var(--color-text-light);font-size:1.2rem;line-height:1.18;font-weight:700;transition:color .3s ease}
.home-page #philosophy .value-card p{margin:0;color:color-mix(in srgb,var(--color-text-light) 86%,transparent);font-size:.94rem;line-height:1.45;transition:color .3s ease}
.home-page #philosophy .value-card:hover,.home-page #philosophy .value-card:focus-within{border-color:color-mix(in srgb,var(--color-brand-primary) 38%,transparent)}
.home-page #philosophy .value-card:hover:before,.home-page #philosophy .value-card:focus-within:before{right:-24%;bottom:-32%;width:172%;height:172%;border-radius:34px;opacity:1}
.home-page #philosophy .value-card:hover i,.home-page #philosophy .value-card:focus-within i{color:var(--value-hover-color);transform:translate(2px,-2px)}
.home-page #philosophy .value-card:hover h3,.home-page #philosophy .value-card:focus-within h3,.home-page #philosophy .value-card:hover p,.home-page #philosophy .value-card:focus-within p{color:var(--value-hover-color)}
.home-page .stats-band{padding:78px 0 36px;background:var(--color-card-bg-neutral);color:var(--color-text-main)}
.home-page .stats-grid{gap:0}
.home-page .stat-card{min-height:86px;border:0;border-left:1px solid var(--color-border);border-radius:0;background:transparent;padding:0 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.home-page .stat-card:last-child{border-right:0}
.home-page .stat-card strong{display:inline-flex;align-items:center;min-height:54px;border-radius:8px;padding:5px 12px 4px;background:var(--color-surface-soft);color:var(--color-brand-secondary);font-size:2rem;line-height:1;font-weight:500;letter-spacing:0;text-shadow:none}
.home-page .stat-card strong em{font-style:normal;color:var(--color-brand-primary)}
.home-page .stat-card span{display:block;margin-top:11px;color:var(--color-text-muted);font-size:.68rem;line-height:1.2;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.home-page .home-image-cta{padding:36px 0 96px;background:var(--color-surface)}
.home-page .home-image-cta .container{width:min(calc(100% - 96px),1280px)}
.home-page .image-cta-card{position:relative;min-height:594px;border-radius:22px;overflow:hidden;color:var(--color-text-light);display:flex;align-items:flex-end;justify-content:space-between;gap:36px;padding:50px;background:var(--color-brand-secondary);box-shadow:none}
.home-page .image-cta-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.home-page .image-cta-card:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,color-mix(in srgb,var(--color-bg-dark) 68%,transparent),color-mix(in srgb,var(--color-bg-dark) 26%,transparent) 47%,var(--color-border-soft) 78%)}
.home-page .image-cta-card .image-cta-icon{position:absolute;z-index:2;top:52px;left:52px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--color-text-light) 90%,transparent);color:var(--color-brand-primary);font-size:1.45rem}
.home-page .image-cta-card div,.home-page .image-cta-card a{position:relative;z-index:2}
.home-page .image-cta-card .eyebrow{display:none}
.home-page .image-cta-card h2{max-width:580px;margin:0;font-size:clamp(1.8rem,1.55vw,2rem);line-height:1.18;font-weight:700;letter-spacing:0;color:var(--color-text-light)}
.home-page .image-cta-card .btn{--btn-dot-size:0;--btn-dot-gap:0;--btn-pad-right:26px;min-width:192px;min-height:48px;margin-right:58px;padding:0 26px;border:0;border-radius:999px;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);flex:0 0 auto;overflow:visible}
.home-page .image-cta-card .btn:after{content:"\ea70";font-family:"remixicon";position:absolute;left:calc(100% + 8px);top:50%;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:1.28rem;line-height:1;transform:translateY(-50%);transition:background-color .3s ease,color .3s ease,transform .3s ease}
.home-page .image-cta-card .btn-animated__bubble{display:block;top:0;left:0;width:100%;height:100%;border-radius:inherit;opacity:0;transform:none;transition:opacity .22s ease}
.home-page .image-cta-card .btn-animated__hover{display:flex}
.home-page .image-cta-card .btn-animated:hover:after,.home-page .image-cta-card .btn-animated:focus-visible:after{background:var(--color-brand-secondary);color:var(--color-text-light);transform:translateY(-50%) translate(2px,-2px)}
.home-page .image-cta-card .btn-animated:hover .btn-animated__bubble,.home-page .image-cta-card .btn-animated:focus-visible .btn-animated__bubble{top:0;left:0;width:100%;height:100%;border-radius:inherit;opacity:1;transform:none}
.home-page .home-industries{padding:118px 0 122px;background:var(--color-surface)}
.home-page .home-industries .container{width:min(calc(100% - 96px),1280px)}
.home-page .home-industries .section-heading{max-width:760px;margin:0 0 72px}
.home-page .home-industries .section-heading span{display:inline-flex;align-items:center;justify-content:center;min-height:32px;margin-bottom:28px;border:1px solid var(--color-border);border-radius:999px;padding:0 22px;color:var(--color-brand-primary);background:var(--color-surface);font-size:.72rem;line-height:1;letter-spacing:0;text-transform:uppercase;font-weight:700}
.home-page .home-industries .section-heading h2{margin:0;color:var(--color-brand-secondary);font-size:50px;line-height:1.22;font-weight:300;letter-spacing:0}
.home-page .home-industries .industry-showcase{display:grid;grid-template-columns:minmax(420px,1fr) minmax(460px,560px);align-items:center;gap:120px}
.home-page .industry-radar{width:min(100%,420px);justify-self:center;color:var(--color-brand-secondary)}
.home-page .industry-radar svg{display:block;width:100%;height:auto;overflow:visible}
.home-page .radar-grid circle,.home-page .radar-grid path{fill:none;stroke:color-mix(in srgb,var(--color-brand-secondary) 12%,transparent);stroke-width:1}
.home-page .radar-labels text{fill:var(--color-text-muted);font-size:12px;font-weight:500}
.home-page .radar-fill{opacity:.78;transform-origin:210px 210px;transition:opacity .3s ease,transform .3s ease}
.home-page .radar-fill--primary{fill:var(--color-brand-primary)}
.home-page .radar-fill--secondary{fill:var(--color-brand-secondary)}
.home-page .industry-radar:hover .radar-fill--primary{opacity:.9;transform:scale(1.02)}
.home-page .industry-radar:hover .radar-fill--secondary{opacity:.72;transform:scale(.99)}
.home-page .radar-legend{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;color:var(--color-brand-secondary);font-size:.72rem;text-transform:uppercase;font-weight:700}
.home-page .radar-legend span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.home-page .radar-legend i{width:8px;height:8px;border-radius:50%;background:var(--color-brand-secondary)}
.home-page .radar-legend span:nth-child(2) i{background:var(--color-brand-accent)}
.home-page .home-industries .industry-links{display:grid;gap:22px}
.home-page .home-industries .industry-links a:not(.btn){min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:28px;border:0;padding:0;color:var(--color-brand-secondary);font-size:clamp(1.35rem,1.35vw,1.55rem);line-height:1.18;font-weight:600;letter-spacing:.04em;transition:color .25s ease}
.home-page .home-industries .industry-links a:not(.btn):after{content:"\ea70";font-family:"remixicon";width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:50%;background:var(--color-surface-soft);color:var(--color-brand-primary);font-size:1.3rem;font-weight:400;transition:background-color .25s ease,color .25s ease,transform .25s ease}
.home-page .home-industries .industry-links a:not(.btn):hover,.home-page .home-industries .industry-links a:not(.btn):focus-visible{color:var(--color-brand-secondary)}
.home-page .home-industries .industry-links a:not(.btn):hover:after,.home-page .home-industries .industry-links a:not(.btn):focus-visible:after{background:var(--color-brand-primary);color:var(--color-text-light);transform:translate(3px,-3px)}
.home-page .home-industries .industry-links .btn{--btn-hover-bg:var(--color-button-primary-bg-hover);--btn-hover-color:var(--color-button-primary-text-hover);width:max-content;min-width:150px;min-height:46px;margin-top:10px;border-color:var(--color-button-primary-bg);background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:.9rem}
.home-page .home-industries .industry-links .btn:hover,.home-page .home-industries .industry-links .btn:focus-visible{color:var(--btn-hover-color)}
.home-page .home-proof{padding:72px 0 124px;background:var(--color-surface)}
.home-page .home-proof .container{width:min(calc(100% - 96px),1280px)}
.home-page .proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.home-page .proof-quote,.home-page .proof-story{min-height:560px;border-radius:22px;overflow:hidden}
.home-page .proof-quote{position:relative;color:var(--color-brand-secondary);background:var(--color-brand-secondary)}
.home-page .proof-quote img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.home-page .proof-quote .quote-panel{position:absolute;left:30px;right:30px;bottom:30px;min-height:288px;border-radius:20px;padding:50px 34px 28px;background:color-mix(in srgb,var(--color-bg-main) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow)}
.home-page .proof-quote .quote-panel>i{position:absolute;left:34px;top:-62px;color:var(--color-brand-primary);font-size:4.4rem;line-height:1}
.home-page .proof-quote p{max-width:540px;margin:0 0 30px;color:var(--color-brand-secondary-hover);font-size:clamp(1.15rem,1.2vw,1.4rem);line-height:1.42;font-weight:400;letter-spacing:0}
.home-page .proof-person{position:static;left:auto;right:auto;bottom:auto;display:flex;align-items:center;gap:16px;border-radius:0;padding:0;background:transparent;box-shadow:none}
.home-page .proof-avatar{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:50%;background:var(--color-surface);color:var(--color-text-main);font-size:.78rem;font-weight:800}
.home-page .proof-person strong{display:block;margin:0 0 2px;color:var(--color-brand-secondary);font-size:.95rem;font-weight:700}
.home-page .proof-person small{display:block;color:var(--color-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.02em}
.home-page .proof-story{position:relative;isolation:isolate;display:flex;flex-direction:column;padding:40px;background:linear-gradient(135deg,var(--color-brand-primary) 0%,color-mix(in srgb,var(--color-brand-primary) 82%,var(--color-midnight-blue)) 100%);color:var(--color-text-light)}
.home-page .proof-story:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(165deg,color-mix(in srgb,var(--color-text-light) 16%,transparent) 0 50%,color-mix(in srgb,var(--color-midnight-blue) 18%,transparent) 50% 100%);clip-path:polygon(0 0,100% 0,100% 0,82% 44%,0 60%);pointer-events:none}
.home-page .proof-story>*{position:relative;z-index:1}
.home-page .proof-story-kicker{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:32px;border:1px solid color-mix(in srgb,var(--color-text-light) 34%,transparent);border-radius:999px;padding:0 22px;color:var(--color-text-light);background:color-mix(in srgb,var(--color-midnight-blue) 12%,transparent);font-size:.72rem;line-height:1;text-transform:uppercase;font-weight:800}
.home-page .proof-story-icon{position:absolute;top:40px;right:40px;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--color-midnight-blue) 76%,var(--color-brand-primary));color:var(--color-text-light);font-size:1.65rem}
.home-page .proof-story h2{max-width:460px;margin:32px 56px 0 0;color:var(--color-text-light);font-size:clamp(1.85rem,1.58vw,1.9rem);line-height:1.2;font-weight:600;letter-spacing:0}
.home-page .proof-story h2 span{display:block;max-width:100%;overflow-wrap:anywhere}
.home-page .proof-story-bottom{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px}
.home-page .proof-story strong{display:block;margin:0 0 10px;color:var(--color-text-light);font-size:2rem;line-height:1;font-weight:600}
.home-page .proof-story p{max-width:360px;margin:0;color:color-mix(in srgb,var(--color-text-light) 86%,transparent);font-size:.98rem;line-height:1.35}
.home-page .proof-story .btn{--btn-hover-bg:var(--color-bg-main);--btn-hover-color:var(--color-brand-secondary-hover);min-width:158px;min-height:48px;border-color:var(--color-brand-secondary-hover);background:var(--color-brand-secondary-hover);color:var(--color-text-light);font-size:.9rem}
.home-page .proof-story .btn:hover,.home-page .proof-story .btn:focus-visible{color:var(--btn-hover-color)}
.home-page .proof-dots{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:18px;margin-top:10px}
.home-page .proof-dots span{width:6px;height:6px;border-radius:50%;background:var(--color-border)}
.home-page .proof-dots .is-active{background:var(--color-brand-accent)}
.home-page .home-insights{margin:0;padding:116px 0 124px;border-radius:0;background:var(--color-bg-main)}
.home-page .home-insights .container{width:min(calc(100% - 96px),1280px)}
.home-page .home-insights .section-heading{max-width:620px;margin:0 auto 48px;text-align:center}
.home-page .home-insights .section-heading span{display:inline-flex;align-items:center;justify-content:center;min-height:32px;margin-bottom:26px;border:1px solid var(--color-border);border-radius:999px;padding:0 22px;color:var(--color-brand-primary);background:var(--color-surface);font-size:.72rem;line-height:1;letter-spacing:0;text-transform:uppercase;font-weight:700}
.home-page .home-insights .section-heading h2{margin:0;color:var(--color-brand-secondary);font-size:55px;line-height:1.12;font-weight:300;letter-spacing:.06em}
.home-page .home-insights .section-heading p{max-width:540px;margin:22px auto 0;color:var(--color-text-muted);font-size:1rem;line-height:1.45}
.home-page .home-insights .insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.home-page .home-insights .insight-card{--insight-bg:var(--color-bg-soft);--insight-hover-bg:var(--color-brand-primary);--insight-text:var(--color-brand-secondary);--insight-hover-text:var(--color-text-light);position:relative;isolation:isolate;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-brand-secondary) 12%,transparent);border-radius:20px;background:var(--insight-bg);box-shadow:none}
.home-page .home-insights .insight-card:nth-child(n+3){display:none}
.home-page .home-insights .insight-card:before{content:"";position:absolute;z-index:0;right:26px;bottom:28px;width:12px;height:12px;border-radius:999px;background:var(--insight-hover-bg);opacity:0;transition:opacity .35s ease,width .9s cubic-bezier(.2,.82,.2,1),height .9s cubic-bezier(.2,.82,.2,1),right .9s cubic-bezier(.2,.82,.2,1),bottom .9s cubic-bezier(.2,.82,.2,1),border-radius .9s cubic-bezier(.2,.82,.2,1)}
.home-page .home-insights .insight-card:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(165deg,var(--color-surface) 0 50%,color-mix(in srgb,var(--color-surface) 88%,var(--color-brand-secondary)) 50% 100%);clip-path:polygon(0 0,80% 0,80% 0,64% 24%,0 36%);pointer-events:none;transition:background .35s ease,opacity .35s ease}
.home-page .home-insights .insight-card a{position:relative;z-index:1;display:grid;grid-template-columns:minmax(230px,278px) 1fr;gap:36px;align-items:stretch;min-height:355px;padding:20px 28px 20px 20px;color:var(--insight-text)}
.home-page .home-insights .insight-card img{width:100%;height:100%;min-height:315px;aspect-ratio:auto;border-radius:14px;object-fit:cover;object-position:center}
.home-page .home-insights .insight-card div{position:relative;display:grid;align-content:start;gap:18px;padding:16px 0 18px}
.home-page .home-insights .insight-card span{color:var(--color-brand-secondary);font-size:.72rem;line-height:1;text-transform:uppercase;font-weight:800;letter-spacing:.02em}
.home-page .home-insights .insight-card h3{max-width:315px;margin:54px 52px 0 0;color:var(--color-brand-secondary);font-size:clamp(1.28rem,1.34vw,1.48rem);line-height:1.22;font-weight:600;letter-spacing:0;transition:color .3s ease}
.home-page .home-insights .insight-card div>i{position:absolute;right:0;bottom:18px;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--color-surface);color:var(--color-brand-primary);font-size:1.25rem;line-height:1;transition:background-color .3s ease,color .3s ease,transform .3s ease}
.home-page .home-insights .insight-card div>i:before{display:block;line-height:1;transform:translateY(-1px)}
.home-page .home-insights .insight-card:hover:before,.home-page .home-insights .insight-card:focus-within:before{right:-20%;bottom:-30%;width:170%;height:190%;border-radius:34px;opacity:1}
.home-page .home-insights .insight-card:hover:after,.home-page .home-insights .insight-card:focus-within:after{background:var(--color-surface);opacity:1}
.home-page .home-insights .insight-card:hover a,.home-page .home-insights .insight-card:focus-within a{color:var(--insight-hover-text)}
.home-page .home-insights .insight-card:hover span,.home-page .home-insights .insight-card:focus-within span{color:var(--color-brand-primary)}
.home-page .home-insights .insight-card:hover h3,.home-page .home-insights .insight-card:focus-within h3{color:var(--color-brand-secondary)}
.home-page .home-insights .insight-card:hover div>i,.home-page .home-insights .insight-card:focus-within div>i{background:var(--color-text-light);color:var(--color-brand-primary);transform:translate(2px,-2px)}
.home-page .home-insights .center-action{margin-top:40px}
.home-page .home-insights .center-action .btn{--btn-hover-bg:var(--color-button-primary-bg-hover);--btn-hover-color:var(--color-button-primary-text-hover);min-width:146px;min-height:48px;border-color:var(--color-button-primary-bg);background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:.9rem}
.home-page .home-insights .center-action .btn:hover,.home-page .home-insights .center-action .btn:focus-visible{color:var(--btn-hover-color)}
.home-page .home-proof + .home-insights{margin:0;padding:116px 0 124px;border-radius:0;background:var(--color-bg-main)}
.home-page .home-proof + .home-insights .section-heading{max-width:620px;margin:0 auto 48px;text-align:center}
.home-page .home-proof + .home-insights .insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.home-page .home-proof + .home-insights .insight-card img{height:100%;min-height:315px;aspect-ratio:auto}
.home-page .home-proof + .home-insights .insight-card h3{font-size:clamp(1.28rem,1.34vw,1.48rem)}
.home-page .home-proof + .home-insights .insight-card p{display:none}

@media (min-width:901px){
  .home-page #services{padding-bottom:76px}
}

@media (max-width:1180px){
  .home-page #philosophy{padding:88px 0 62px}
  .home-page #philosophy .container{width:min(calc(100% - 56px),980px)}
  .home-page #philosophy .split h2{font-size:clamp(2.55rem,5.2vw,3.7rem)}
  .home-page #philosophy .value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-page .home-image-cta .container{width:min(calc(100% - 56px),980px)}
  .home-page .image-cta-card{min-height:500px;padding:42px}
  .home-page .home-industries .container{width:min(calc(100% - 56px),980px)}
  .home-page .home-industries .industry-showcase{grid-template-columns:minmax(340px,.9fr) minmax(420px,1fr);gap:72px}
  .home-page .industry-radar{width:min(100%,380px)}
  .home-page .home-proof .container{width:min(calc(100% - 56px),980px)}
  .home-page .proof-quote,.home-page .proof-story{min-height:500px}
  .home-page .proof-story h2{font-size:clamp(1.75rem,2.6vw,2.2rem)}
  .home-page .proof-quote .quote-panel{min-height:244px}
  .home-page .home-insights .container{width:min(calc(100% - 56px),980px)}
  .home-page .home-insights .insight-card a{grid-template-columns:minmax(210px,250px) 1fr;gap:28px;min-height:326px;padding:20px}
  .home-page .home-insights .insight-card img{min-height:286px}
  .home-page .home-insights .insight-card h3{margin-top:44px;margin-right:50px}
}

@media (max-width:900px){
  .home-page .home-industries{padding:86px 0 96px}
  .home-page .home-industries .container{width:min(calc(100% - 28px),640px)}
  .home-page .home-industries .section-heading{margin-bottom:48px}
  .home-page .home-industries .section-heading h2{font-size:clamp(2.4rem,9vw,3.8rem);line-height:1.12}
  .home-page .home-industries .industry-showcase{grid-template-columns:1fr;gap:48px}
  .home-page .industry-radar{width:min(100%,390px)}
  .home-page .home-proof{padding:62px 0 92px}
  .home-page .home-proof .container{width:min(calc(100% - 28px),640px)}
  .home-page .proof-grid{grid-template-columns:1fr;gap:18px}
  .home-page .proof-quote,.home-page .proof-story{min-height:520px}
  .home-page .home-insights{padding:86px 0 96px}
  .home-page .home-insights .container{width:min(calc(100% - 28px),640px)}
  .home-page .home-insights .section-heading{margin-bottom:38px}
  .home-page .home-insights .section-heading h2{font-size:clamp(2.4rem,9vw,3.6rem);letter-spacing:0}
  .home-page .home-insights .insight-grid{grid-template-columns:1fr}
  .home-page .home-proof + .home-insights .insight-grid{grid-template-columns:1fr}
}

@media (max-width:620px){
  .home-page #philosophy{margin:36px 0 0;padding:70px 0 58px;border-radius:0}
  .home-page #philosophy:after{display:none}
  .home-page #philosophy .container{width:min(calc(100% - 28px),640px)}
  .home-page #philosophy .split>div:first-child{margin-bottom:34px}
  .home-page #philosophy .split h2{font-size:clamp(2.1rem,10vw,3rem);line-height:1.08}
  .home-page #philosophy .split h2:after{width:82px;margin-left:12px}
  .home-page #philosophy .value-grid{grid-template-columns:1fr}
  .home-page #philosophy .value-card{min-height:220px;padding:28px 24px}
  .home-page .home-image-cta{padding:52px 0 68px}
  .home-page .home-image-cta .container{width:min(calc(100% - 28px),640px)}
  .home-page .image-cta-card{min-height:430px;border-radius:18px;padding:26px;display:grid;align-content:end;justify-items:start;gap:18px}
  .home-page .image-cta-card:after{background:linear-gradient(0deg,var(--color-header-bg-solid),color-mix(in srgb,var(--color-brand-secondary) 18%,transparent) 72%)}
  .home-page .image-cta-card .image-cta-icon{top:24px;left:24px;width:48px;height:48px;font-size:1.2rem}
  .home-page .image-cta-card h2{max-width:100%;font-size:clamp(1.75rem,8vw,2.45rem);line-height:1.08}
  .home-page .image-cta-card .btn{min-width:0;width:auto}
  .home-page .home-industries .industry-links{gap:14px}
  .home-page .home-industries .industry-links a:not(.btn){min-height:44px;font-size:1.08rem;letter-spacing:0}
  .home-page .home-industries .industry-links a:not(.btn):after{width:42px;height:42px;flex-basis:42px;font-size:1.05rem}
  .home-page .radar-legend{font-size:.62rem;gap:12px}
  .home-page .proof-quote,.home-page .proof-story{min-height:470px;border-radius:18px}
  .home-page .proof-quote .quote-panel{left:18px;right:18px;bottom:18px;min-height:0;border-radius:16px;padding:42px 22px 24px}
  .home-page .proof-quote .quote-panel>i{left:22px;top:-46px;font-size:3.4rem}
  .home-page .proof-quote p{font-size:1rem;line-height:1.45}
  .home-page .proof-story{padding:26px}
  .home-page .proof-story-icon{top:26px;right:26px;width:48px;height:48px;font-size:1.3rem}
  .home-page .proof-story h2{margin-right:56px;font-size:1.7rem;letter-spacing:0}
  .home-page .proof-story-bottom{grid-template-columns:1fr;gap:22px}
  .home-page .proof-story .btn{justify-self:start}
  .home-page .home-insights .insight-card a{grid-template-columns:1fr;gap:18px;min-height:0;padding:18px}
  .home-page .home-insights .insight-card img{height:240px;min-height:0}
  .home-page .home-proof + .home-insights .insight-card img{height:240px;min-height:0}
  .home-page .home-insights .insight-card div{min-height:220px;padding:0 0 12px}
  .home-page .home-insights .insight-card h3{margin:32px 56px 0 0;font-size:1.35rem;letter-spacing:0}
  .home-page .home-insights .insight-card div>i{bottom:10px;width:46px;height:46px}
}

.btn-animated{--btn-hover-bg:var(--btn-dark-bg);--btn-hover-color:var(--btn-dark-color);--btn-dot-left:1.15rem;--btn-dot-size:.42rem;--btn-dot-gap:.62rem;--btn-pad-right:1.45rem;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:0;overflow:hidden;isolation:isolate;border-radius:999px;cursor:pointer;transition:color .3s ease,background-color .3s ease,transform .3s ease}
.btn.btn-animated,.header-cta.btn-animated{padding-left:calc(var(--btn-dot-left) + var(--btn-dot-size) + var(--btn-dot-gap));padding-right:var(--btn-pad-right)}
.home-page .hero .btn.btn-animated{padding-left:calc(var(--btn-dot-left) + var(--btn-dot-size) + var(--btn-dot-gap));padding-right:var(--btn-pad-right)}
.btn-animated--primary{--btn-hover-bg:var(--color-button-primary-bg-hover);--btn-hover-color:var(--color-button-primary-text-hover)}
.btn-animated--white{--btn-hover-bg:var(--btn-accent-bg);--btn-hover-color:var(--btn-accent-color)}
.btn-animated--dark,.proof-story .btn-animated{--btn-hover-bg:var(--btn-accent-bg);--btn-hover-color:var(--btn-accent-color)}
.btn-animated__text{position:relative;z-index:2;display:inline-block;white-space:nowrap;transition:transform .3s ease,opacity .3s ease}
.btn-animated__hover{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:.45rem;color:var(--btn-hover-color);opacity:0;transform:translateY(.35rem);transition:transform .3s ease,opacity .3s ease;pointer-events:none;white-space:nowrap}
.btn-animated__hover i{width:auto!important;height:auto!important;margin:0!important;border-radius:0!important;background:transparent!important;color:currentColor!important;display:inline-grid!important;place-items:center;font-size:1.05em!important;line-height:1!important}
.btn-animated__bubble{position:absolute;z-index:1;top:50%;left:var(--btn-dot-left);width:var(--btn-dot-size);height:var(--btn-dot-size);border-radius:999px;background:var(--btn-hover-bg);transform:translateY(-50%) scale(1);transition:width .35s ease,height .35s ease,top .35s ease,left .35s ease,transform .35s ease,border-radius .35s ease}
.btn-animated:focus-visible{outline:3px solid color-mix(in srgb,var(--color-brand-primary) 72%,transparent);outline-offset:4px;color:var(--btn-hover-color)}
.btn-animated:focus-visible .btn-animated__text{opacity:0;transform:translateY(-.35rem)}
.btn-animated:focus-visible .btn-animated__hover{opacity:1;transform:translateY(0)}
.btn-animated:focus-visible .btn-animated__bubble{top:0;left:0;width:100%;height:100%;border-radius:inherit;transform:scale(1.25)}
.btn-animated:active{transform:translateY(0) scale(.98)}

@media (hover:hover){
  .btn-animated:hover{color:var(--btn-hover-color);transform:translateY(-2px)}
  .btn-animated:hover .btn-animated__text{opacity:0;transform:translateY(-.35rem)}
  .btn-animated:hover .btn-animated__hover{opacity:1;transform:translateY(0)}
  .btn-animated:hover .btn-animated__bubble{top:0;left:0;width:100%;height:100%;border-radius:inherit;transform:scale(1.25)}
}

@media (prefers-reduced-motion:reduce){
  .btn-animated,.btn-animated__text,.btn-animated__hover,.btn-animated__bubble{transition-duration:.01ms!important}
  .home-page .hero-tab.is-active:after{width:100%;animation:none}
}

/* CTA button: move the rest-state dot from far-left to right-before-text */
.btn-animated--primary>.btn-animated__bubble{width:0;height:0}
.btn-animated--primary .btn-animated__text{display:inline-flex;align-items:center;gap:.55rem}
.btn-animated--primary .btn-animated__text::before{content:"";flex:0 0 auto;width:.42rem;height:.42rem;border-radius:50%;background:var(--btn-hover-bg)}
.btn.btn-animated--primary,.header-cta.btn-animated--primary{padding-left:var(--btn-pad-right)}

.client-strip{margin:0;padding:82px 0 54px;background:var(--color-surface);color:var(--color-brand-secondary)}
.client-divider{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:76px}
.client-divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--color-border)}
.client-divider span{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:34px;border:1px solid var(--color-border);border-radius:999px;padding:0 28px;background:var(--color-surface);font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--color-brand-secondary);letter-spacing:0}
.client-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:38px;color:var(--color-brand-secondary)}
.client-logos img{justify-self:center;width:auto;max-width:100%;height:auto;max-height:40px;object-fit:contain}
.client-logos span{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;font-size:1.38rem;font-weight:500;letter-spacing:.02em;white-space:nowrap}
.client-logos span:nth-child(2),.client-logos span:nth-child(3){font-weight:800;letter-spacing:.08em}
.client-logos span:nth-child(4){font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:0}
.client-logos i{font-size:1.95rem;font-weight:400}
.contact-band{position:relative;z-index:2;margin:0;padding:80px 0 60px;background:var(--color-brand-secondary);color:var(--color-text-light)}
.contact-grid{position:relative;z-index:2;width:min(calc(100% - 96px),1280px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:stretch}
.contact-form{position:relative;z-index:2;margin:0;border-radius:22px 0 0 22px;padding:70px 50px 50px;background:var(--color-bg-main);box-shadow:none;color:var(--color-text-main)}
.contact-form .eyebrow{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:32px;margin-bottom:26px;border:1px solid var(--color-border);border-radius:999px;padding:0 22px;color:var(--color-text-muted);background:var(--color-bg-main);font-size:.72rem;line-height:1;letter-spacing:0;text-transform:uppercase;font-weight:700}
.contact-form h2{margin:0 0 20px;color:var(--color-brand-secondary);font-size:40px;line-height:1;font-weight:300;letter-spacing:.05em}
.contact-form p{max-width:520px;margin:0 0 36px;color:var(--color-text-muted);font-size:1.02rem;line-height:1.55}
.contact-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 20px}
.contact-form label{display:grid;gap:8px;color:var(--color-text-main);font-size:.9rem;font-weight:500}
.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--color-border);border-radius:9px;padding:14px 20px;background:var(--color-surface);color:var(--color-text-main);font-size:.95rem;line-height:1.35;box-shadow:none;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}
.contact-form input{min-height:50px}
.contact-form textarea{min-height:96px}
.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--color-input-focus-border);box-shadow:0 0 0 3px var(--color-input-focus-ring)}
.contact-form__wide{margin-top:22px}
.contact-form button.btn{--btn-dot-left:1.75rem;--btn-pad-right:2rem;min-width:258px;min-height:50px;margin-top:20px;border:0;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:.95rem}
.contact-media{position:relative;min-height:620px;border-radius:0 22px 22px 0;overflow:hidden;background:var(--color-bg-soft)}
.contact-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.contact-media div{position:absolute;left:48px;right:30px;bottom:28px;display:flex;align-items:center;gap:20px;border-radius:999px;padding:16px 28px;background:color-mix(in srgb,var(--color-text-light) 92%,transparent);box-shadow:0 18px 44px color-mix(in srgb,var(--color-bg-dark) 12%,transparent);color:var(--color-text-muted);font-size:1rem;line-height:1.45}
.contact-media i{flex:0 0 auto;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:1.15rem}
.contact-media a{text-decoration:underline;text-underline-offset:2px}
.site-footer{position:relative;z-index:1;margin-top:0;padding:96px 0 44px;background:var(--color-brand-secondary);color:var(--color-text-light)}
.footer-newsletter{width:min(calc(100% - 12px),1888px);max-width:none;display:grid;grid-template-columns:minmax(280px,520px) minmax(320px,440px);align-items:center;justify-content:center;gap:58px;margin:0 auto 70px;border-radius:0 0 22px 22px;padding:298px 44px 70px}
.footer-newsletter p{max-width:520px;margin:0;color:color-mix(in srgb,var(--color-text-light) 86%,transparent);font-size:1.45rem;line-height:1.35;font-weight:600;letter-spacing:.01em}
.footer-newsletter form{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:12px;align-items:center}
.footer-newsletter input{width:100%;min-height:52px;border:0;border-radius:999px;padding:0 24px;background:var(--color-surface);color:var(--color-text-main);font-size:.95rem}
.footer-newsletter input:focus{outline:3px solid color-mix(in srgb,var(--color-brand-primary) 32%,transparent);outline-offset:2px}
.footer-newsletter .icon-button{width:82px;height:52px;border:0;border-radius:999px;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:1.22rem}
.footer-newsletter .icon-button:hover{transform:translateY(-2px);background:var(--color-brand-primary);color:var(--color-text-light)}
.footer-grid{width:min(calc(100% - 96px),1280px);display:grid;grid-template-columns:1.55fr 1fr 1fr 1fr;gap:78px;margin:0 auto;padding:0}
.footer-grid h2{margin:0 0 24px;color:var(--color-powder-blue);font-size:.82rem;line-height:1;text-transform:uppercase;letter-spacing:0;font-weight:800}
.footer-grid a,.footer-grid p{margin:0 0 14px;color:color-mix(in srgb,var(--color-text-light) 82%,transparent);font-size:1.02rem;line-height:1.42}
.footer-grid a:hover{color:var(--color-brand-primary)}
.footer-brand{margin-bottom:36px}
.footer-grid .footer-cta{--btn-dot-size:0;--btn-dot-gap:0;--btn-pad-right:24px;--btn-hover-bg:var(--color-button-primary-bg-hover);--btn-hover-color:var(--color-button-primary-text-hover);position:relative;display:inline-flex;align-items:center;justify-content:center;width:max-content;min-width:126px;min-height:48px;margin:18px 52px 0 0;padding:0 24px;border:0;border-radius:999px;color:var(--color-button-primary-text);background:var(--color-button-primary-bg);font-size:.9rem;line-height:1;overflow:visible;vertical-align:top}
.footer-grid .footer-cta:after{content:"\ea70";font-family:"remixicon";position:absolute;left:calc(100% + 2px);top:0;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:1.22rem;line-height:1;transform:none;transition:background-color .3s ease,color .3s ease,transform .3s ease}
.footer-grid .footer-cta:hover,.footer-grid .footer-cta:focus-visible{color:var(--btn-hover-color)}
.footer-grid .footer-cta:hover:after,.footer-grid .footer-cta:focus-visible:after{background:var(--color-button-primary-bg-hover);color:var(--color-button-primary-text-hover);transform:translate(2px,-2px)}
.footer-grid .footer-cta .btn-animated__hover i{display:none!important}
.footer-bottom{width:min(calc(100% - 96px),1280px);display:flex;align-items:center;justify-content:space-between;gap:24px;margin:74px auto 0;padding-top:34px;border-top:1px solid color-mix(in srgb,var(--color-text-light) 16%,transparent);color:color-mix(in srgb,var(--color-text-light) 82%,transparent)}
.footer-bottom span{font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:0}
.social-links{display:flex;gap:18px}
.social-links a{width:24px;height:24px;border-radius:0;background:transparent;color:var(--color-text-light);font-size:1.25rem;transition:color .2s ease,transform .2s ease}
.social-links a:hover{color:var(--color-brand-primary);transform:translateY(-2px)}

@media (max-width:1180px){
  .client-strip{padding:70px 0 46px}
  .client-divider{margin-bottom:48px}
  .client-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
  .contact-grid,.footer-grid,.footer-bottom{width:min(calc(100% - 56px),980px)}
  .contact-form{padding:52px 34px 40px}
  .contact-form h2{font-size:clamp(2.5rem,4vw,3.3rem)}
  .contact-media{min-height:580px}
  .footer-grid{gap:42px}
}

@media (max-width:900px){
  .client-strip{padding:58px 0 36px}
  .client-divider{margin-bottom:34px}
  .client-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .contact-band{padding:48px 0 40px;background:var(--color-brand-secondary)}
  .contact-grid{width:min(calc(100% - 28px),640px);grid-template-columns:1fr}
  .contact-form{border-radius:20px 20px 0 0;padding:38px 24px 30px}
  .contact-form__grid{grid-template-columns:1fr}
  .contact-form button.btn{width:100%;min-width:0}
  .contact-media{min-height:440px;border-radius:0 0 20px 20px}
  .contact-media div{left:18px;right:18px;bottom:18px;padding:12px 16px;font-size:.88rem}
  .site-footer{margin-top:0;padding-top:72px}
  .footer-newsletter{width:min(calc(100% - 12px),900px);grid-template-columns:1fr;gap:24px;margin-bottom:54px;padding:192px 22px 42px;border-radius:0 0 20px 20px}
  .footer-newsletter p{font-size:1.15rem}
  .footer-grid{width:min(calc(100% - 28px),640px);grid-template-columns:1fr 1fr;gap:34px 26px}
  .footer-bottom{width:min(calc(100% - 28px),640px);margin-top:46px}
}

@media (max-width:620px){
  .client-logos{grid-template-columns:1fr}
  .client-logos span{font-size:1.12rem}
  .site-footer{margin-top:0;padding-top:56px}
  .contact-form h2{font-size:2.35rem;letter-spacing:0}
  .contact-media{min-height:340px}
  .contact-media div{display:grid;grid-template-columns:38px 1fr;gap:12px;border-radius:18px}
  .contact-media i{width:38px;height:38px}
  .footer-newsletter{padding-top:168px}
  .footer-newsletter form{grid-template-columns:1fr 58px}
  .footer-newsletter .icon-button{width:58px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{align-items:flex-start;flex-direction:column}
}

/* Homepage: bottom-section containers use full width like other pages (override .home-page .container narrow) */
.home-page .client-strip > .container,
.home-page .contact-band > .container,
.home-page .site-footer > .container{width:min(calc(100% - 40px),var(--container));max-width:100%}
@media (min-width:901px){
  .home-page .client-strip > .container,
  .home-page .contact-band > .container.contact-grid,
  .home-page .site-footer > .container.footer-grid,
  .home-page .site-footer > .container.footer-bottom{width:min(calc(100% - 96px),1280px)}
}
@media (min-width:901px) and (max-width:1180px){
  .home-page .client-strip > .container,
  .home-page .contact-band > .container.contact-grid,
  .home-page .site-footer > .container.footer-grid,
  .home-page .site-footer > .container.footer-bottom{width:min(calc(100% - 56px),980px)}
}

.search-row input:focus,.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--color-input-focus-border);box-shadow:0 0 0 3px var(--color-input-focus-ring)}
.site-footer .footer-grid h2{color:var(--color-powder-blue)}
.site-footer .social-links a:hover{background:var(--color-brand-primary);color:var(--color-text-light);transform:translateY(-2px)}

/* Mobile header and hero refinement */
@media (max-width:768px){
  .home-page .site-header{
    position:sticky;
    top:0;
    z-index:60;
    padding:12px 0 10px;
    background:var(--color-bg-main);
    color:var(--color-brand-secondary);
    box-shadow:none;
    transform:none!important;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  .home-page .site-header.is-hidden,
  .home-page .site-header.is-scrolled,
  .home-page .site-header.is-open{
    padding:12px 0 10px;
    background:var(--color-bg-main);
    color:var(--color-brand-secondary);
    box-shadow:none;
    transform:none!important;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  .home-page .header-inner{
    width:min(calc(100% - 40px),680px);
    min-height:46px;
    gap:10px;
    transform:none!important;
  }

  .home-page .brand{
    order:1;
    gap:9px;
    min-width:0;
  }

  .home-page .brand-mark{
    width:36px;
    height:36px;
    color:var(--color-button-primary-text);
  }

  .home-page .brand-name{
    color:var(--color-brand-secondary);
    font-size:1.35rem;
    line-height:1;
  }

  .home-page .nav:not(.is-open){
    order:2;
    position:static;
    inset:auto;
    display:flex;
    flex:0 0 auto;
    width:auto;
    max-height:none;
    margin-left:auto;
    padding:0;
    overflow:visible;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  .home-page .nav:not(.is-open) .nav-list{
    display:none;
  }

  .home-page .nav:not(.is-open) .nav-actions{
    display:flex;
    align-items:center;
    gap:8px;
  }

  .home-page .nav:not(.is-open) .header-cta{
    display:none;
  }

  .home-page .icon-button[data-search-open]{
    width:46px;
    height:46px;
    border:0;
    background:var(--color-surface-soft);
    color:var(--color-brand-secondary);
    box-shadow:none;
  }

  .home-page .icon-button[data-search-open]:hover,
  .home-page .icon-button[data-search-open]:focus-visible{
    background:var(--color-button-primary-bg);
    color:var(--color-button-primary-text);
  }

  .home-page .menu-toggle{
    order:3;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:46px;
    height:46px;
    margin-left:0;
    border:0;
    border-radius:50%;
    background:var(--color-brand-secondary);
    color:var(--color-text-light);
    font-size:1.28rem;
    box-shadow:none;
  }

  .home-page .menu-toggle:hover,
  .home-page .menu-toggle:focus-visible{
    background:var(--color-button-primary-bg);
    color:var(--color-button-primary-text);
  }

  .home-page .nav.is-open{
    position:fixed;
    inset:74px 20px auto 20px;
    display:block;
    width:auto;
    max-height:calc(100svh - 92px);
    padding:16px;
    overflow:auto;
    border-radius:20px;
    background:color-mix(in srgb,var(--color-brand-secondary) 94%,transparent);
    box-shadow:var(--shadow-soft);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }

  .home-page .nav.is-open .nav-list{
    display:grid;
    gap:8px;
  }

  .home-page .nav.is-open .nav-actions{
    display:none;
  }

  .home-page .nav.is-open .nav-link{
    width:100%;
    min-height:48px;
    justify-content:space-between;
    color:var(--color-text-light);
  }

  .home-page .nav.is-open .nav-link:hover,
  .home-page .nav.is-open .nav-link.is-active,
  .home-page .nav.is-open .nav-link[aria-current=page]{
    color:var(--color-dropdown-hover-text);
    background:var(--color-dropdown-hover-bg);
  }

  .home-page .hero{
    width:min(calc(100% - 40px),680px);
    max-width:100%;
    min-height:clamp(620px,82svh,760px);
    margin:12px auto 0;
    border-radius:22px;
    overflow:hidden;
    align-items:flex-start;
  }

  .home-page .hero:before,
  .home-page .hero:after,
  .home-page .hero-media,
  .home-page .hero-video-wrap{
    inset:0;
    border-radius:inherit;
  }

  .home-page .hero:after{
    background:transparent;
  }

  .home-page .hero-overlay{
    background:
      linear-gradient(to top,rgba(0,0,0,.48) 0%,rgba(0,0,0,.28) 42%,rgba(0,0,0,.08) 72%,rgba(0,0,0,0) 100%),
      linear-gradient(90deg,rgba(19,36,65,.72) 0%,rgba(19,36,65,.44) 46%,rgba(19,36,65,.16) 100%);
  }

  .home-page .hero-video{
    width:100%;
    max-width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }

  .home-page .hero-content{
    width:100%;
    max-width:100%;
    min-width:0;
    padding:clamp(122px,20svh,170px) 20px 224px;
    align-content:start;
  }

  .home-page .hero-kicker{
    margin-bottom:16px;
    font-size:.76rem;
    letter-spacing:.08em;
  }

  .home-page .hero h1{
    max-width:min(100%,440px);
    margin:0 0 16px;
    font-size:42px;
    line-height:.96;
    letter-spacing:0;
    overflow-wrap:normal;
  }

  .home-page .hero h1 span{
    max-width:100%;
  }

  .home-page .hero-copy{
    max-width:min(100%,440px);
    margin:0 0 22px;
    font-size:.98rem;
    line-height:1.48;
  }

  .home-page .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:min(100%,360px);
    max-width:100%;
  }

  .home-page .hero .btn{
    width:100%;
    min-width:0;
    min-height:50px;
    padding-top:0;
    padding-bottom:0;
    font-size:.86rem;
  }

  .home-page .hero .btn-animated__text,
  .home-page .hero .btn-animated__hover{
    max-width:calc(100% - 12px);
    white-space:nowrap;
  }

  .home-page .hero-tabs{
    left:20px;
    right:20px;
    bottom:24px;
    width:auto;
    min-width:0;
    max-width:none;
    transform:none;
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
  }

  .home-page .hero-tab{
    width:100%;
    min-width:0;
    min-height:36px;
    justify-content:center;
    padding:0 0 12px;
    text-align:center;
    font-size:.68rem;
    line-height:1.1;
    white-space:normal;
  }

  .home-page .hero-tab:before,
  .home-page .hero-tab:after{
    height:4px;
  }

  .home-page .section--flush{
    padding-top:60px;
  }

  .home-page .feature-strip{
    width:min(calc(100% - 40px),680px);
    margin-left:auto;
    margin-right:auto;
  }
}

@media (max-width:480px){
  .home-page .header-inner{
    width:calc(100% - 40px);
    min-height:44px;
  }

  .home-page .brand-mark{
    width:34px;
    height:34px;
  }

  .home-page .brand-name{
    font-size:1.28rem;
  }

  .home-page .icon-button[data-search-open],
  .home-page .menu-toggle{
    width:46px;
    height:46px;
  }

  .home-page .hero{
    width:calc(100% - 40px);
    min-height:clamp(620px,84svh,720px);
    margin-top:10px;
    border-radius:20px;
  }

  .home-page .hero-overlay{
    background:
      linear-gradient(to top,rgba(0,0,0,.5) 0%,rgba(0,0,0,.3) 42%,rgba(0,0,0,.09) 72%,rgba(0,0,0,0) 100%),
      linear-gradient(90deg,rgba(19,36,65,.76) 0%,rgba(19,36,65,.48) 50%,rgba(19,36,65,.18) 100%);
  }

  .home-page .hero-content{
    padding:128px 20px 224px;
  }

  .home-page .hero h1{
    max-width:100%;
    font-size:clamp(2.4rem,10vw,3.4rem);
    line-height:.97;
  }

  .home-page .hero-copy{
    font-size:.94rem;
  }

  .home-page .hero-actions{
    width:100%;
  }

  .home-page .hero-tabs{
    left:20px;
    right:20px;
    bottom:20px;
    gap:11px;
  }
}

@media (min-width:901px){
  .home-page .site-header .nav-list>.nav-item>.nav-link.is-active,
  .home-page .site-header .nav-list>.nav-item>.nav-link[aria-current=page],
  .home-page .site-header .nav-list>.nav-item>.nav-link:hover,
  .home-page .site-header .nav-list>.nav-item>.nav-link:focus-visible,
  .home-page .site-header .nav-list>.nav-item.is-open>.nav-link{
    background:var(--color-brand-primary);
    color:var(--color-text-light);
  }

  .home-page .site-header .nav-list>.nav-item>.nav-link i,
  .home-page .site-header .nav-list>.nav-item>.nav-link:hover i,
  .home-page .site-header .nav-list>.nav-item>.nav-link:focus-visible i,
  .home-page .site-header .nav-list>.nav-item.is-open>.nav-link i{
    color:var(--color-brand-accent);
  }

  .home-page .site-header .header-cta{
    background:var(--color-brand-primary);
    color:var(--color-text-light);
  }
}

/* ============================================== */
/* KLD — SUCCESS STORY CAROUSEL (home page only)  */
/* ============================================== */
.home-page .home-proof [data-slide]{flex:0 0 100%;min-width:100%}
.home-page .home-proof .testimonial-track{transition:transform .6s cubic-bezier(.2,.82,.2,1);cursor:grab;user-select:none}
.home-page .home-proof .testimonial-track.is-dragging{cursor:grabbing}
.home-page .home-proof .proof-dots span{transition:background .25s ease,transform .25s ease}
.home-page .home-proof .proof-dots span.is-active{transform:scale(1.4)}
.home-page .home-proof [data-carousel-meta]{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:40px;gap:18px}
.home-page .home-proof [data-carousel-meta] .proof-dots{grid-column:2;margin-top:0}
.home-page .home-proof [data-carousel-meta] .carousel-controls{grid-column:3;margin-top:0;justify-content:flex-end}

/* ============================================== */
/* KLD — INNER PAGES LIGHT THEME (header + hero)  */
/* ============================================== */

/* PAGE-HERO — neutralize dark image, light theme + 2-col layout (text left, CTA right) */
.page-hero:before,.page-hero:after{display:none}
.page-hero{min-height:auto;color:var(--color-text-main);background:transparent;padding:140px 0 90px;overflow:visible}
.page-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:48px;align-items:end}
.page-hero .hero-kicker{grid-column:1;justify-self:start;display:inline-flex;align-items:center;min-height:32px;margin:0 0 28px;border:1px solid var(--color-border);border-radius:999px;padding:0 18px;color:var(--color-brand-secondary);background:var(--color-bg-main);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.page-hero h1{grid-column:1;margin:0 0 22px;max-width:800px;color:var(--color-brand-secondary);font-size:65px;line-height:1.05;font-weight:500;letter-spacing:-.01em}
.page-hero h1 .accent,.page-hero h1 em{color:var(--color-brand-primary);font-style:normal}
.page-hero-inner p{grid-column:1;margin:0;max-width:640px;color:var(--color-text-muted);font-size:1.08rem;line-height:1.5}
.page-hero-inner .btn,.page-hero-inner .btn-animated{grid-column:2;grid-row:2/4;align-self:end;justify-self:end}
/* PAGE-HERO CTA — mirror home .image-cta-card .btn (lime pill + separate arrow circle) */
body:not(.home-page) .page-hero-inner .btn{--btn-dot-size:0;--btn-dot-gap:0;--btn-pad-right:26px;min-width:192px;min-height:48px;margin-right:58px;padding:0 26px;border:0;border-radius:999px;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);flex:0 0 auto;overflow:visible;position:relative}
body:not(.home-page) .page-hero-inner .btn:after{content:"\ea70";font-family:"remixicon";position:absolute;left:calc(100% + 8px);top:50%;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:1.28rem;line-height:1;transform:translateY(-50%);transition:background-color .3s ease,color .3s ease,transform .3s ease}
body:not(.home-page) .page-hero-inner .btn-animated__bubble{display:block;top:0;left:0;width:100%;height:100%;border-radius:inherit;opacity:0;transform:none;transition:opacity .22s ease}
body:not(.home-page) .page-hero-inner .btn-animated__hover{display:none}
body:not(.home-page) .page-hero-inner .btn-animated:hover .btn-animated__text,body:not(.home-page) .page-hero-inner .btn-animated:focus-visible .btn-animated__text{opacity:1;transform:none;color:var(--color-text-light)}
body:not(.home-page) .page-hero-inner .btn-animated:hover:after,body:not(.home-page) .page-hero-inner .btn-animated:focus-visible:after{background:var(--color-brand-secondary);color:var(--color-text-light);transform:translateY(-50%) translate(2px,-2px)}
body:not(.home-page) .page-hero-inner .btn-animated:hover .btn-animated__bubble,body:not(.home-page) .page-hero-inner .btn-animated:focus-visible .btn-animated__bubble{top:0;left:0;width:100%;height:100%;border-radius:inherit;opacity:1;transform:none}

/* ============================================== */
/* KLD — INNER PAGE: contact toggle + slide panel */
/* ============================================== */
/* Dark circle icon button replacing "Projekt anfragen" pill on inner pages */
body:not(.home-page) .site-header .icon-button.contact-toggle{background:var(--color-brand-secondary);color:var(--color-text-light);border:0}
body:not(.home-page) .site-header .icon-button.contact-toggle:hover,body:not(.home-page) .site-header .icon-button.contact-toggle:focus-visible{background:var(--color-brand-primary);color:var(--color-button-primary-text);transform:translateY(-2px)}

/* Backdrop */
.contact-panel-backdrop{position:fixed;inset:0;z-index:85;background:color-mix(in srgb,var(--color-bg-dark) 50%,transparent);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.contact-panel-backdrop.is-open{opacity:1;visibility:visible}

/* Slide-in contact panel */
.contact-panel{position:fixed;top:0;right:0;bottom:0;z-index:90;width:min(440px,92vw);background:var(--color-bg-main);box-shadow:-18px 0 48px color-mix(in srgb,var(--color-brand-secondary) 22%,transparent);border-top-left-radius:18px;border-bottom-left-radius:18px;transform:translateX(100%);transition:transform .9s cubic-bezier(.2,.82,.2,1),visibility .42s ease;overflow-y:auto;visibility:hidden;display:flex;flex-direction:column;gap:22px;padding:80px 44px 50px}
.contact-panel.is-open{transform:translateX(0);visibility:visible}
.contact-panel__close{position:absolute;top:24px;right:24px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--color-bg-soft);color:var(--color-brand-secondary);cursor:pointer;font-size:1.2rem;transition:background .2s ease,color .2s ease}
.contact-panel__close:hover,.contact-panel__close:focus-visible{background:var(--color-brand-secondary);color:var(--color-text-light)}
.contact-panel__media{align-self:center;width:260px;aspect-ratio:260.44/231.67;height:auto;margin:8px 0 16px;display:block;background:transparent;border:0;border-radius:0;padding:0;-webkit-mask-image:url('../images/koldere-logo.svg');mask-image:url('../images/koldere-logo.svg');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.contact-panel__media img{width:100%;height:100%;object-fit:cover;display:block}
.contact-panel h2{margin:0;color:var(--color-brand-secondary);font-size:1.85rem;line-height:1.1;font-weight:500;letter-spacing:-.01em}
.contact-panel p{margin:0;color:var(--color-text-muted);font-size:1rem;line-height:1.5}
.contact-panel a:not(.btn){color:var(--color-text-muted);text-decoration:none;transition:color .2s ease}
.contact-panel a:not(.btn):hover{color:var(--color-brand-primary)}
.contact-panel .btn{align-self:flex-start;margin:12px 58px 0 0;min-width:192px;min-height:48px;padding:0 26px;border:0;border-radius:999px;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-weight:700;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;transition:transform .2s ease}
.contact-panel .btn:after{content:"\ea70";font-family:"remixicon";position:absolute;left:calc(100% + 8px);top:50%;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--color-brand-secondary);color:var(--color-text-light);font-size:1.28rem;line-height:1;transform:translateY(-50%);transition:background .3s ease,transform .3s ease}
.contact-panel .btn:hover:after{background:var(--color-brand-primary);color:var(--color-button-primary-text);transform:translateY(-50%) translate(2px,-2px)}

/* ============================================== */
/* KLD — PAGE-HERO MEDIA (visual area below text) */
/* ============================================== */
.page-hero-media{padding:0 0 90px}
.page-hero-media .container{width:min(calc(100% - 40px),var(--container))}
.page-hero-media__frame{position:relative;width:100%;aspect-ratio:21/9;border-radius:22px;overflow:hidden;background:var(--color-bg-soft);box-shadow:0 22px 55px color-mix(in srgb,var(--color-brand-secondary) 12%,transparent)}
.page-hero-media__frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.82,.2,1)}
.page-hero-media__frame:hover img{transform:scale(1.02)}
@media (max-width:900px){.page-hero-media{padding:0 0 64px}.page-hero-media__frame{aspect-ratio:16/9;border-radius:16px}}
@media (max-width:620px){.page-hero-media{padding:0 0 40px}.page-hero-media__frame{aspect-ratio:4/3;border-radius:12px}}

/* Branchen — horizontal cards (icon+title left, copy right, plus top-right), 2-column grid */
.kld-branchen-list{padding:60px 0 100px}
.kld-branchen-list__head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:60px;align-items:start;margin-bottom:42px}
.kld-branchen-list__intro{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.kld-branchen-list__eyebrow{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--color-border);border-radius:999px;padding:0 18px;color:var(--color-brand-secondary);background:var(--color-surface);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.kld-branchen-list__intro h2{margin:0;max-width:580px;color:var(--color-brand-secondary);font-size:clamp(2.2rem,3.8vw,3.4rem);line-height:1.08;font-weight:500;letter-spacing:-.01em}
.kld-branchen-list__intro h2 .accent{color:var(--color-brand-primary);font-style:normal}
.kld-branchen-list__lead{margin:0;padding-top:8px;color:var(--color-text-muted);font-size:1rem;line-height:1.55;max-width:500px}
.kld-branchen-list__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.kld-branchen-card{position:relative;isolation:isolate;border-radius:20px;background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden;transition:border-color .3s ease}
.kld-branchen-card>a{position:relative;display:flex;flex-direction:column;gap:16px;padding:30px 30px 30px;color:inherit;text-decoration:none;min-height:200px}
.kld-branchen-card>a>*{position:relative;z-index:1}
.kld-branchen-card::before{content:"";position:absolute;z-index:0;right:28px;bottom:28px;width:14px;height:14px;border-radius:999px;background:var(--color-brand-primary);opacity:0;pointer-events:none;transition:opacity .35s ease,width .9s cubic-bezier(.2,.82,.2,1),height .9s cubic-bezier(.2,.82,.2,1),right .9s cubic-bezier(.2,.82,.2,1),bottom .9s cubic-bezier(.2,.82,.2,1),transform .9s cubic-bezier(.2,.82,.2,1),border-radius .9s cubic-bezier(.2,.82,.2,1)}
.kld-branchen-card:hover::before,.kld-branchen-card:focus-within::before{right:-15%;bottom:-15%;width:140%;height:160%;border-radius:36px;opacity:.98;transform:scale(1.04)}
.kld-branchen-card__plus{position:absolute!important;top:20px!important;right:22px!important;left:auto!important;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--color-brand-primary);color:var(--color-text-light);font-size:1.1rem;line-height:1;transition:background .5s ease,color .5s ease,transform .55s cubic-bezier(.2,.82,.2,1);z-index:2}
.kld-branchen-card:hover .kld-branchen-card__plus,.kld-branchen-card:focus-within .kld-branchen-card__plus{background:var(--color-brand-accent);color:var(--color-brand-secondary);transform:rotate(90deg)}
.kld-branchen-card__main{display:flex;align-items:center;gap:16px;padding-right:40px}
.kld-branchen-card__icon{flex:0 0 auto;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--color-brand-accent);color:var(--color-brand-secondary);font-size:1.25rem;line-height:1;transition:background .5s ease,color .5s ease,transform .55s cubic-bezier(.2,.82,.2,1)}
.kld-branchen-card:hover .kld-branchen-card__icon{background:var(--color-text-light);color:var(--color-brand-primary);transform:translate(2px,-2px)}
.kld-branchen-card__title-block{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}
.kld-branchen-card__title-block h3{margin:0;color:var(--color-brand-secondary);font-size:1.18rem;line-height:1.18;font-weight:700;letter-spacing:-.005em;transition:color .5s ease}
.kld-branchen-card:hover .kld-branchen-card__title-block h3{color:var(--color-text-light)}
.kld-branchen-card__cta{display:inline-flex;align-items:center;gap:6px;color:var(--color-brand-primary);font-size:.82rem;font-weight:700;letter-spacing:.02em;line-height:1;transition:color .5s ease}
.kld-branchen-card:hover .kld-branchen-card__cta{color:var(--color-brand-accent)}
.kld-branchen-card__copy{margin:0;color:var(--color-text-muted);font-size:.92rem;line-height:1.5;transition:color .5s ease}
.kld-branchen-card:hover .kld-branchen-card__copy{color:color-mix(in srgb,var(--color-text-light) 86%,transparent)}
@media (max-width:1120px){
  .kld-branchen-list__head{grid-template-columns:1fr;gap:24px}
}
@media (max-width:620px){
  .kld-branchen-list{padding:48px 0 72px}
  .kld-branchen-list__grid{grid-template-columns:1fr;gap:12px}
  .kld-branchen-card>a{padding:22px 22px 24px;min-height:auto}
  .kld-branchen-card__icon{width:42px;height:42px;font-size:1.1rem}
}

/* Wissen — 6-card insight grid + pagination */
.kld-wissen{padding:70px 0 90px}
.kld-wissen__head{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:38px}
.kld-wissen__eyebrow{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--color-border);border-radius:999px;padding:0 18px;color:var(--color-brand-secondary);background:var(--color-surface);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.kld-wissen__head h2{margin:0;color:var(--color-brand-secondary);font-size:clamp(2.1rem,3.6vw,3.2rem);line-height:1.08;font-weight:500;letter-spacing:-.01em}
.kld-wissen__head h2 .accent{color:var(--color-brand-primary);font-style:normal}
.kld-wissen__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kld-wissen__card{position:relative;isolation:isolate;border-radius:22px;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);transition:border-color .3s ease}
.kld-wissen__card>*{position:relative;z-index:1}
.kld-wissen__card::before{content:"";position:absolute;z-index:0;right:30px;bottom:30px;width:14px;height:14px;border-radius:999px;background:var(--color-brand-primary);opacity:0;pointer-events:none;transition:opacity .35s ease,width .9s cubic-bezier(.2,.82,.2,1),height .9s cubic-bezier(.2,.82,.2,1),right .9s cubic-bezier(.2,.82,.2,1),bottom .9s cubic-bezier(.2,.82,.2,1),transform .9s cubic-bezier(.2,.82,.2,1),border-radius .9s cubic-bezier(.2,.82,.2,1)}
.kld-wissen__card:hover::before,.kld-wissen__card:focus-within::before{right:-18%;bottom:-18%;width:150%;height:150%;border-radius:36px;opacity:.98;transform:scale(1.04)}
.kld-wissen__card>a{display:flex;flex-direction:column;text-decoration:none;color:inherit;height:100%;min-height:560px}
.kld-wissen__media{position:relative;width:100%;padding:18px 18px 0;background:transparent}
.kld-wissen__media-frame{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:var(--color-bg-soft);transition:transform .35s cubic-bezier(.2,.82,.2,1)}
.kld-wissen__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.82,.2,1)}
.kld-wissen__card:hover .kld-wissen__media img{transform:scale(1.05)}
.kld-wissen__body{display:flex;flex-direction:column;gap:14px;padding:24px 24px 68px}
.kld-wissen__category{color:var(--color-brand-primary);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1;transition:color .3s ease}
.kld-wissen__card:hover .kld-wissen__category{color:var(--color-brand-accent)}
.kld-wissen__card h3{margin:0;color:var(--color-brand-secondary);font-size:1.18rem;line-height:1.25;font-weight:700;letter-spacing:-.005em;transition:color .3s ease}
.kld-wissen__card:hover h3{color:var(--color-text-light)}
.kld-wissen__arrow{position:absolute;right:22px;bottom:22px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--color-brand-secondary);color:var(--color-brand-accent);font-size:1rem;line-height:1;transition:background .3s ease,color .3s ease,transform .35s cubic-bezier(.2,.82,.2,1)}
.kld-wissen__card:hover .kld-wissen__arrow{background:var(--color-text-light);color:var(--color-brand-primary);transform:translate(2px,-2px) rotate(8deg)}
.kld-wissen__pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:46px}
.kld-wissen__pages{display:flex;align-items:center;gap:6px}
.kld-wissen__page{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-brand-secondary);font-size:.92rem;font-weight:700;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
.kld-wissen__page:hover{background:var(--color-bg-soft);transform:translateY(-2px)}
.kld-wissen__page.is-active{background:var(--color-brand-primary);color:var(--color-text-light);border-color:var(--color-brand-primary)}
.kld-wissen__page-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-brand-secondary);font-size:1.05rem;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
.kld-wissen__page-arrow:hover:not(:disabled){background:var(--color-brand-primary);color:var(--color-text-light);border-color:var(--color-brand-primary);transform:translateY(-2px)}
.kld-wissen__page-arrow:disabled{opacity:.35;cursor:not-allowed}
@media (max-width:1120px){
  .kld-wissen__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media (max-width:620px){
  .kld-wissen{padding:54px 0 72px}
  .kld-wissen__grid{grid-template-columns:1fr;gap:14px}
  .kld-wissen__card>a{min-height:340px}
  .kld-wissen__body{padding:20px 20px 60px}
  .kld-wissen__page{min-width:36px;height:36px;font-size:.88rem;padding:0 10px}
  .kld-wissen__page-arrow{width:36px;height:36px}
}

/* Feature — image (left) + chartreuse overlay card (right) */
.kld-feature{padding:80px 0 100px}
.kld-feature__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);gap:14px;align-items:stretch;min-height:540px}
.kld-feature__media{position:relative;border-radius:22px;overflow:hidden;background:var(--color-bg-soft)}
.kld-feature__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.82,.2,1)}
.kld-feature__media:hover img{transform:scale(1.03)}
.kld-feature__badge{position:absolute;right:24px;bottom:24px;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:200px;padding:18px 20px 16px;border-radius:16px;background:var(--color-surface);box-shadow:0 18px 40px color-mix(in srgb,var(--color-brand-secondary) 26%,transparent);border:1px solid color-mix(in srgb,var(--color-brand-secondary) 8%,transparent)}
.kld-feature__badge-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--color-brand-accent);color:var(--color-brand-secondary);font-size:1.05rem;line-height:1}
.kld-feature__badge-stats{display:flex;align-items:center;gap:12px;width:100%}
.kld-feature__badge-row{display:flex;flex-direction:column;gap:2px;line-height:1}
.kld-feature__badge-row strong{color:var(--color-brand-secondary);font-size:1.7rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.kld-feature__badge-row em{color:var(--color-text-muted);font-size:.6rem;font-weight:700;font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.kld-feature__badge-divider{color:color-mix(in srgb,var(--color-brand-secondary) 30%,transparent);font-size:1.4rem;font-weight:400;line-height:1;padding:0 2px}
.kld-feature__badge-foot{display:block;width:100%;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--color-brand-secondary) 10%,transparent);color:var(--color-text-muted);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.kld-feature__card{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:24px;padding:36px 36px 32px;border-radius:22px;background:var(--color-brand-accent);color:var(--color-brand-secondary);overflow:hidden}
.kld-feature__card>*{position:relative;z-index:1}
.kld-feature__card::before{content:"";position:absolute;z-index:0;right:36px;bottom:36px;width:14px;height:14px;border-radius:999px;background:var(--color-brand-secondary);opacity:0;pointer-events:none;transition:opacity .35s ease,width .9s cubic-bezier(.2,.82,.2,1),height .9s cubic-bezier(.2,.82,.2,1),right .9s cubic-bezier(.2,.82,.2,1),bottom .9s cubic-bezier(.2,.82,.2,1),transform .9s cubic-bezier(.2,.82,.2,1),border-radius .9s cubic-bezier(.2,.82,.2,1)}
.kld-feature__card:hover::before,.kld-feature__card:focus-within::before{right:-18%;bottom:-18%;width:150%;height:150%;border-radius:36px;opacity:1;transform:scale(1.04)}
.kld-feature__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.kld-feature__eyebrow{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 14px;background:var(--color-brand-secondary);color:var(--color-text-light);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;transition:background .3s ease,color .3s ease}
.kld-feature__card:hover .kld-feature__eyebrow{background:var(--color-brand-accent);color:var(--color-brand-secondary)}
.kld-feature__mark{font-size:1.4rem;color:var(--color-brand-secondary);line-height:1;transition:transform .35s cubic-bezier(.2,.82,.2,1),color .3s ease}
.kld-feature__card:hover .kld-feature__mark{transform:rotate(90deg);color:var(--color-text-light)}
.kld-feature__heading{margin:0;color:var(--color-brand-secondary);font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1.1;font-weight:700;letter-spacing:-.005em;transition:color .3s ease}
.kld-feature__card:hover .kld-feature__heading{color:var(--color-text-light)}
.kld-feature__copy{margin:0;color:color-mix(in srgb,var(--color-brand-secondary) 78%,transparent);font-size:1rem;line-height:1.5;transition:color .3s ease}
.kld-feature__card:hover .kld-feature__copy{color:color-mix(in srgb,var(--color-text-light) 82%,transparent)}
.kld-feature__cta{align-self:flex-start;margin-top:auto;background:var(--color-brand-secondary)!important;color:var(--color-text-light)!important;transition:background .3s ease,color .3s ease,transform .3s ease}
.kld-feature__cta>.btn-animated__text::before{background:var(--color-brand-accent)!important}
.kld-feature__cta:hover,.kld-feature__cta:focus-visible{background:var(--color-text-light)!important;color:var(--color-brand-secondary)!important}
.kld-feature__cta:hover>.btn-animated__text::before,.kld-feature__cta:focus-visible>.btn-animated__text::before{background:var(--color-brand-secondary)!important}
@media (max-width:1120px){
  .kld-feature__grid{grid-template-columns:1fr;min-height:auto}
  .kld-feature__media{min-height:320px}
}
@media (max-width:620px){
  .kld-feature{padding:54px 0 72px}
  .kld-feature__card{padding:28px 24px 26px;gap:18px}
  .kld-feature__badge{right:14px;bottom:14px;min-width:98px;padding:14px 10px}
}

/* Difference — 4 vertical icon cards (icon at top, big empty middle, title+text at bottom) */
.kld-difference{padding:70px 0 100px}
.kld-difference__head{margin-bottom:42px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}
.kld-difference__eyebrow{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--color-border);border-radius:999px;padding:0 18px;color:var(--color-brand-secondary);background:var(--color-surface);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.kld-difference__head h2{margin:0;max-width:880px;color:var(--color-brand-secondary);font-size:clamp(2.1rem,3.6vw,3.2rem);line-height:1.1;font-weight:500;letter-spacing:-.01em}
.kld-difference__head h2 .accent{color:var(--color-brand-primary);font-style:normal}
.kld-difference__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.kld-difference__card{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:420px;padding:26px 24px 26px;border-radius:22px;background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}
.kld-difference__card>*{position:relative;z-index:1}
.kld-difference__card::before{content:"";position:absolute;z-index:0;right:30px;bottom:30px;width:14px;height:14px;border-radius:999px;background:var(--color-brand-primary);opacity:0;pointer-events:none;transition:opacity .35s ease,width .9s cubic-bezier(.2,.82,.2,1),height .9s cubic-bezier(.2,.82,.2,1),right .9s cubic-bezier(.2,.82,.2,1),bottom .9s cubic-bezier(.2,.82,.2,1),transform .9s cubic-bezier(.2,.82,.2,1),border-radius .9s cubic-bezier(.2,.82,.2,1)}
.kld-difference__card:hover::before,.kld-difference__card:focus-within::before{right:-18%;bottom:-18%;width:150%;height:150%;border-radius:36px;opacity:.98;transform:scale(1.04)}
.kld-difference__icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--color-brand-accent);color:var(--color-brand-secondary);font-size:1.4rem;line-height:1;transition:transform .35s cubic-bezier(.2,.82,.2,1),background .3s ease,color .3s ease}
.kld-difference__card:hover .kld-difference__icon{background:var(--color-text-light);color:var(--color-brand-primary);transform:translate(2px,-2px)}
.kld-difference__content{display:flex;flex-direction:column;gap:14px;padding:22px 18px;border-radius:14px;background:var(--color-bg-soft);transition:background .3s ease}
.kld-difference__card:hover .kld-difference__content{background:color-mix(in srgb,var(--color-text-light) 14%,transparent)}
.kld-difference__content h3{margin:0;color:var(--color-brand-secondary);font-size:1.18rem;line-height:1.18;font-weight:700;letter-spacing:-.005em;transition:color .3s ease}
.kld-difference__card:hover .kld-difference__content h3{color:var(--color-text-light)}
.kld-difference__content p{margin:0;color:var(--color-text-muted);font-size:.95rem;line-height:1.48;transition:color .3s ease}
.kld-difference__card:hover .kld-difference__content p{color:color-mix(in srgb,var(--color-text-light) 86%,transparent)}
@media (max-width:1120px){
  .kld-difference__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .kld-difference__card{min-height:340px}
}
@media (max-width:620px){
  .kld-difference{padding:54px 0 72px}
  .kld-difference__grid{grid-template-columns:1fr}
  .kld-difference__card{min-height:280px}
}

/* Careers — dark navy section, intro left + job listings right */
.kld-careers{padding:0;margin:24px 0 0;border-radius:0}
.kld-careers__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:start;padding:80px 60px;background:var(--color-brand-secondary);color:var(--color-text-light);border-radius:24px;position:relative;overflow:hidden}
.kld-careers__grid::before{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;border-radius:50%;background:color-mix(in srgb,var(--color-brand-accent) 12%,transparent);pointer-events:none;z-index:0}
.kld-careers__intro{position:relative;z-index:1;display:flex;flex-direction:column;gap:22px;align-items:flex-start;max-width:520px}
.kld-careers__eyebrow{display:inline-flex;align-items:center;min-height:32px;border-radius:999px;padding:0 18px;background:color-mix(in srgb,var(--color-text-light) 14%,transparent);color:var(--color-text-light);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700;border:1px solid color-mix(in srgb,var(--color-text-light) 22%,transparent)}
.kld-careers__intro h2{margin:0;color:var(--color-text-light);font-size:clamp(2.1rem,3.6vw,3.2rem);line-height:1.08;font-weight:500;letter-spacing:-.01em}
.kld-careers__intro h2 .accent{color:var(--color-brand-accent);font-style:normal}
.kld-careers__intro p{margin:0;color:color-mix(in srgb,var(--color-text-light) 78%,transparent);font-size:1rem;line-height:1.55}
.kld-careers__list{position:relative;z-index:1;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.kld-careers__item{border-bottom:1px solid color-mix(in srgb,var(--color-text-light) 16%,transparent)}
.kld-careers__item:first-child{border-top:1px solid color-mix(in srgb,var(--color-text-light) 16%,transparent)}
.kld-careers__item a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 4px;color:var(--color-text-light);font-size:1.08rem;font-weight:700;text-decoration:none;transition:color .25s ease,padding-left .25s ease}
.kld-careers__item a::after{content:"\ea70";font-family:"remixicon";flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--color-text-light) 12%,transparent);color:var(--color-text-light);font-size:.95rem;transition:background .25s ease,color .25s ease,transform .35s cubic-bezier(.2,.82,.2,1)}
.kld-careers__item a:hover{color:var(--color-brand-accent);padding-left:8px}
.kld-careers__item a:hover::after{background:var(--color-brand-accent);color:var(--color-brand-secondary);transform:translate(2px,-2px) rotate(8deg)}
@media (max-width:1120px){
  .kld-careers__grid{grid-template-columns:1fr;gap:34px;padding:60px 36px}
}
@media (max-width:620px){
  .kld-careers__grid{padding:48px 22px;border-radius:18px}
  .kld-careers__item a{font-size:.98rem;padding:18px 4px}
}

/* Statement — split layout: large heading (left) + multi-paragraph copy (right) */
.kld-statement{padding:80px 0 100px}
.kld-statement__inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:80px;align-items:start}
.kld-statement__intro{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.kld-statement__eyebrow{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--color-border);border-radius:999px;padding:0 18px;color:var(--color-brand-secondary);background:var(--color-surface);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.kld-statement__intro h2{margin:0;max-width:560px;color:var(--color-brand-secondary);font-size:clamp(2.4rem,4.5vw,3.8rem);line-height:1.06;font-weight:500;letter-spacing:-.015em}
.kld-statement__intro h2 .accent{color:var(--color-brand-primary);font-style:normal}
.kld-statement__body{display:flex;flex-direction:column;gap:18px;padding-top:6px}
.kld-statement__body p{margin:0;color:var(--color-text-muted);font-size:1.02rem;line-height:1.55;max-width:520px}
@media (max-width:1120px){
  .kld-statement__inner{grid-template-columns:1fr;gap:32px}
  .kld-statement__body p{max-width:none}
}
@media (max-width:620px){
  .kld-statement{padding:54px 0 72px}
  .kld-statement__inner{gap:24px}
}

/* Recognition — 4-card partner/awards grid with header CTA + dots */
.kld-recognition{padding:80px 0 100px}
.kld-recognition__head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:38px;flex-wrap:wrap}
.kld-recognition__intro{display:flex;flex-direction:column;gap:18px;align-items:flex-start;max-width:680px}
.kld-recognition__eyebrow{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--color-border);border-radius:999px;padding:0 18px;color:var(--color-brand-secondary);background:var(--color-surface);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.kld-recognition__intro h2{margin:0;color:var(--color-brand-secondary);font-size:clamp(2.3rem,4.2vw,3.6rem);line-height:1.08;font-weight:500;letter-spacing:-.01em}
.kld-recognition__intro h2 .accent{color:var(--color-brand-primary);font-style:normal}
.kld-recognition__cta{flex:0 0 auto}
.kld-recognition__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.kld-recognition__card{position:relative;isolation:isolate;border-radius:20px;padding:24px 22px 20px;min-height:auto;background:var(--color-surface);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:18px;overflow:hidden;transition:border-color .3s ease}
.kld-recognition__card>*{position:relative;z-index:1}
.kld-recognition__card::before{content:"";position:absolute;z-index:0;right:24px;bottom:24px;width:14px;height:14px;border-radius:999px;background:var(--color-brand-primary);opacity:0;pointer-events:none;transition:opacity .35s ease,width .9s cubic-bezier(.2,.82,.2,1),height .9s cubic-bezier(.2,.82,.2,1),right .9s cubic-bezier(.2,.82,.2,1),bottom .9s cubic-bezier(.2,.82,.2,1),transform .9s cubic-bezier(.2,.82,.2,1),border-radius .9s cubic-bezier(.2,.82,.2,1)}
.kld-recognition__card:hover::before,.kld-recognition__card:focus-within::before{right:-18%;bottom:-18%;width:150%;height:150%;border-radius:36px;opacity:.98;transform:scale(1.04)}
.kld-recognition__card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--color-border);transition:border-color .3s ease}
.kld-recognition__card:hover .kld-recognition__card-head{border-bottom-color:color-mix(in srgb,var(--color-text-light) 22%,transparent)}
.kld-recognition__brand{font-size:1.15rem;font-weight:800;letter-spacing:-.01em;color:var(--color-brand-secondary);line-height:1;transition:color .3s ease}
.kld-recognition__card:hover .kld-recognition__brand{color:var(--color-text-light)}
.kld-recognition__badge{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 11px;background:var(--color-bg-soft);color:var(--color-brand-secondary);font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1;transition:background .3s ease,color .3s ease}
.kld-recognition__card:hover .kld-recognition__badge{background:color-mix(in srgb,var(--color-text-light) 18%,transparent);color:var(--color-text-light)}
.kld-recognition__title{margin:0;color:var(--color-brand-secondary);font-size:1.02rem;line-height:1.35;font-weight:600;letter-spacing:-.003em;min-height:78px;transition:color .3s ease}
.kld-recognition__card:hover .kld-recognition__title{color:var(--color-text-light)}
.kld-recognition__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:6px}
.kld-recognition__meta{color:var(--color-text-muted);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;transition:color .3s ease}
.kld-recognition__card:hover .kld-recognition__meta{color:color-mix(in srgb,var(--color-text-light) 80%,transparent)}
.kld-recognition__arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--color-brand-secondary);color:var(--color-brand-accent);font-size:.92rem;line-height:1;transition:background .3s ease,color .3s ease,transform .35s cubic-bezier(.2,.82,.2,1)}
.kld-recognition__card:hover .kld-recognition__arrow{background:var(--color-text-light);color:var(--color-brand-primary);transform:translate(2px,-2px) rotate(8deg)}
@media (max-width:1120px){
  .kld-recognition__head{flex-direction:column;align-items:flex-start;gap:24px}
  .kld-recognition__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media (max-width:620px){
  .kld-recognition{padding:54px 0 72px}
  .kld-recognition__grid{grid-template-columns:1fr}
  .kld-recognition__card{min-height:220px;padding:22px 22px}
}

/* Pillars — 3-card "core principles" layout (dark + image + accent) */
.kld-pillars{padding:80px 0 100px}
.kld-pillars__head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:60px;align-items:start;margin-bottom:38px}
.kld-pillars__intro{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.kld-pillars__eyebrow{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--color-border);border-radius:999px;padding:0 18px;color:var(--color-brand-secondary);background:var(--color-surface);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.kld-pillars__intro h2{margin:0;max-width:600px;color:var(--color-brand-secondary);font-size:clamp(2.3rem,4.2vw,3.6rem);line-height:1.08;font-weight:500;letter-spacing:-.01em}
.kld-pillars__intro h2 .accent{color:var(--color-brand-primary);font-style:normal}
.kld-pillars__lead{margin:0;max-width:460px;padding-top:14px;color:var(--color-text-muted);font-size:1.02rem;line-height:1.55}
.kld-pillars__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kld-pillars__card{position:relative;isolation:isolate;border-radius:22px;overflow:hidden;min-height:540px;display:flex;flex-direction:column;padding:30px 30px 32px}
.kld-pillars__card>*{position:relative;z-index:1}
.kld-pillars__card-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.kld-pillars__pill{display:inline-flex;align-items:center;min-height:32px;border-radius:999px;padding:0 16px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;transition:background .3s ease,color .3s ease,border-color .3s ease}
.kld-pillars__mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font-size:1.2rem;line-height:1;transition:transform .35s cubic-bezier(.2,.82,.2,1),background .3s ease,color .3s ease}
.kld-pillars__card:hover .kld-pillars__mark{transform:rotate(90deg)}
.kld-pillars__title{margin:auto 0 18px;font-size:clamp(1.45rem,2vw,1.9rem);line-height:1.12;font-weight:700;letter-spacing:-.005em;transition:color .3s ease}
.kld-pillars__text{margin:0;font-size:1rem;line-height:1.5;transition:color .3s ease}
.kld-pillars__card--dark{background:var(--color-brand-secondary);color:var(--color-text-light)}
.kld-pillars__card--dark .kld-pillars__pill{background:color-mix(in srgb,var(--color-text-light) 14%,transparent);color:var(--color-text-light);border:1px solid color-mix(in srgb,var(--color-text-light) 22%,transparent)}
.kld-pillars__card--dark .kld-pillars__mark{background:var(--color-brand-accent);color:var(--color-brand-secondary)}
.kld-pillars__card--dark .kld-pillars__title{color:var(--color-text-light)}
.kld-pillars__card--dark .kld-pillars__text{color:color-mix(in srgb,var(--color-text-light) 80%,transparent)}
.kld-pillars__card--accent{background:var(--color-brand-accent);color:var(--color-brand-secondary)}
.kld-pillars__card--accent .kld-pillars__pill{background:var(--color-brand-secondary);color:var(--color-text-light)}
.kld-pillars__card--accent .kld-pillars__mark{background:var(--color-brand-secondary);color:var(--color-brand-accent)}
.kld-pillars__card--accent .kld-pillars__title{color:var(--color-brand-secondary)}
.kld-pillars__card--accent .kld-pillars__text{color:color-mix(in srgb,var(--color-brand-secondary) 80%,transparent)}
.kld-pillars__card--media{padding:0;background:var(--color-bg-soft)}
.kld-pillars__card--media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.82,.2,1)}
.kld-pillars__card--media:hover img{transform:scale(1.04)}
.kld-pillars__card--dark::before,.kld-pillars__card--accent::before{content:"";position:absolute;z-index:0;right:30px;bottom:30px;width:14px;height:14px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .35s ease,width .9s cubic-bezier(.2,.82,.2,1),height .9s cubic-bezier(.2,.82,.2,1),right .9s cubic-bezier(.2,.82,.2,1),bottom .9s cubic-bezier(.2,.82,.2,1),transform .9s cubic-bezier(.2,.82,.2,1),border-radius .9s cubic-bezier(.2,.82,.2,1)}
.kld-pillars__card--dark::before{background:var(--color-brand-accent)}
.kld-pillars__card--accent::before{background:var(--color-brand-secondary)}
.kld-pillars__card--dark:hover::before,.kld-pillars__card--accent:hover::before{right:-18%;bottom:-18%;width:150%;height:150%;border-radius:36px;opacity:1;transform:scale(1.04)}
.kld-pillars__card--dark:hover .kld-pillars__title{color:var(--color-brand-secondary)}
.kld-pillars__card--dark:hover .kld-pillars__text{color:color-mix(in srgb,var(--color-brand-secondary) 80%,transparent)}
.kld-pillars__card--dark:hover .kld-pillars__pill{background:var(--color-brand-secondary);color:var(--color-brand-accent);border-color:var(--color-brand-secondary)}
.kld-pillars__card--dark:hover .kld-pillars__mark{background:var(--color-brand-secondary);color:var(--color-brand-accent)}
.kld-pillars__card--accent:hover .kld-pillars__title{color:var(--color-text-light)}
.kld-pillars__card--accent:hover .kld-pillars__text{color:color-mix(in srgb,var(--color-text-light) 80%,transparent)}
.kld-pillars__card--accent:hover .kld-pillars__pill{background:var(--color-brand-accent);color:var(--color-brand-secondary)}
.kld-pillars__card--accent:hover .kld-pillars__mark{background:var(--color-brand-accent);color:var(--color-brand-secondary)}
@media (max-width:1120px){
  .kld-pillars__head{grid-template-columns:1fr;gap:24px}
  .kld-pillars__grid{grid-template-columns:1fr;gap:14px}
  .kld-pillars__card{min-height:380px}
}
@media (max-width:620px){
  .kld-pillars{padding:54px 0 72px}
  .kld-pillars__card{min-height:340px;padding:24px 24px 26px}
  .kld-pillars__title{font-size:1.4rem}
}

/* About — Warum Koldere (Why us) — header + service pills + 3-card grid */
.kld-warum{padding:90px 0 110px}
.kld-warum__inner{display:flex;flex-direction:column;gap:46px}
.kld-warum__head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:60px;align-items:start}
.kld-warum__intro{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.kld-warum__eyebrow{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--color-border);border-radius:999px;padding:0 18px;color:var(--color-brand-secondary);background:var(--color-surface);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.kld-warum__intro h2{margin:0;max-width:560px;color:var(--color-brand-secondary);font-size:clamp(2.3rem,4.2vw,3.6rem);line-height:1.08;font-weight:500;letter-spacing:-.01em}
.kld-warum__intro h2 .accent{color:var(--color-brand-primary);font-style:normal}
.kld-warum__cta{margin-top:6px}
.kld-warum__lead{display:flex;flex-direction:column;gap:22px;align-items:flex-start;padding-top:4px}
.kld-warum__icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--color-brand-primary);color:var(--color-text-light);font-size:1.55rem;line-height:1}
.kld-warum__lead p{margin:0;max-width:500px;color:var(--color-text-muted);font-size:1.02rem;line-height:1.55}
.kld-warum__services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:36px;border-top:1px solid var(--color-border)}
.kld-warum__services a{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:0 22px;border-radius:999px;background:var(--color-bg-soft);color:var(--color-brand-secondary);font-size:.96rem;font-weight:600;text-decoration:none;transition:background .25s ease,color .25s ease,transform .25s ease}
.kld-warum__services a:hover,.kld-warum__services a:focus-visible{background:var(--color-brand-secondary);color:var(--color-text-light);transform:translateY(-2px);outline:0}
.kld-warum__services a i{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--color-brand-secondary);color:var(--color-text-light);font-size:.92rem;transition:background .25s ease,color .25s ease}
.kld-warum__services a:hover i,.kld-warum__services a:focus-visible i{background:var(--color-brand-accent);color:var(--color-brand-secondary)}
.kld-warum__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kld-warum__card{position:relative;isolation:isolate;border-radius:22px;overflow:hidden;min-height:460px;display:flex;flex-direction:column;justify-content:space-between;padding:30px 30px 28px}
.kld-warum__card>*{position:relative;z-index:1}
.kld-warum__card--quote{background:var(--color-brand-accent);color:var(--color-brand-secondary)}
.kld-warum__card--quote::before{content:"";position:absolute;z-index:0;right:30px;bottom:30px;width:14px;height:14px;border-radius:999px;background:var(--color-brand-secondary);opacity:0;pointer-events:none;transition:opacity .35s ease,width .9s cubic-bezier(.2,.82,.2,1),height .9s cubic-bezier(.2,.82,.2,1),right .9s cubic-bezier(.2,.82,.2,1),bottom .9s cubic-bezier(.2,.82,.2,1),transform .9s cubic-bezier(.2,.82,.2,1),border-radius .9s cubic-bezier(.2,.82,.2,1)}
.kld-warum__card--quote:hover::before,.kld-warum__card--quote:focus-within::before{right:-18%;bottom:-18%;width:150%;height:150%;border-radius:36px;opacity:1;transform:scale(1.04)}
.kld-warum__quote-mark{font-size:2rem;line-height:1;color:var(--color-brand-secondary);transition:color .3s ease,transform .35s cubic-bezier(.2,.82,.2,1)}
.kld-warum__card--quote:hover .kld-warum__quote-mark{color:var(--color-text-light);transform:translate(2px,-2px) rotate(-6deg)}
.kld-warum__card--quote p,.kld-warum__card--quote footer strong{transition:color .3s ease}
.kld-warum__card--quote:hover p,.kld-warum__card--quote:hover footer strong{color:var(--color-text-light)}
.kld-warum__card--quote footer span{transition:color .3s ease}
.kld-warum__card--quote:hover footer span{color:color-mix(in srgb,var(--color-text-light) 72%,transparent)}
.kld-warum__avatar{transition:background .3s ease,color .3s ease}
.kld-warum__card--quote:hover .kld-warum__avatar{background:var(--color-brand-accent);color:var(--color-brand-secondary)}
.kld-warum__card--quote p{margin:0;font-size:1.16rem;line-height:1.36;font-weight:600;color:var(--color-brand-secondary)}
.kld-warum__card--quote footer{display:flex;align-items:center;gap:14px}
.kld-warum__avatar{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--color-brand-secondary);color:var(--color-text-light);display:grid;place-items:center;font-weight:700;font-size:.88rem;letter-spacing:.02em}
.kld-warum__card--quote footer strong{display:block;color:var(--color-brand-secondary);font-size:1rem;line-height:1.2;font-weight:700}
.kld-warum__card--quote footer span{display:block;color:color-mix(in srgb,var(--color-brand-secondary) 62%,transparent);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.kld-warum__card--media{padding:0;background:var(--color-bg-soft)}
.kld-warum__card--media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.82,.2,1)}
.kld-warum__card--media:hover img{transform:scale(1.04)}
.kld-warum__card--dark{background:var(--color-brand-secondary);color:var(--color-text-light)}
.kld-warum__card--dark h3{position:relative;z-index:2;margin:0;color:var(--color-text-light);font-size:clamp(1.45rem,2vw,1.7rem);line-height:1.1;font-weight:700;letter-spacing:-.005em}
.kld-warum__dark-shape{position:absolute;right:-60px;bottom:-70px;width:280px;height:280px;border-radius:46% 54% 38% 62% / 50% 36% 64% 50%;background:var(--color-brand-accent);transform:rotate(-18deg);z-index:1;transition:transform .55s cubic-bezier(.2,.82,.2,1)}
.kld-warum__card--dark:hover .kld-warum__dark-shape{transform:rotate(-8deg) scale(1.08)}
.kld-warum__card--dark footer{position:relative;z-index:2;display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:700;color:var(--color-text-light);letter-spacing:.02em}
.kld-warum__card--dark footer i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--color-brand-accent);color:var(--color-brand-secondary);font-size:1rem;line-height:1}
@media (max-width:1120px){
  .kld-warum__head{grid-template-columns:1fr;gap:32px}
  .kld-warum__services{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kld-warum__grid{grid-template-columns:1fr;gap:14px}
  .kld-warum__card{min-height:380px}
}
@media (max-width:620px){
  .kld-warum{padding:60px 0 78px}
  .kld-warum__inner{gap:34px}
  .kld-warum__services{grid-template-columns:1fr}
  .kld-warum__card{min-height:340px;padding:24px 24px 22px}
  .kld-warum__intro h2{font-size:1.95rem}
}

/* About — history timeline (image with overlay card + year tabs) */
.kld-history{padding:80px 0 110px}
.kld-history__head{margin-bottom:42px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.kld-history__eyebrow{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--color-border);border-radius:999px;padding:0 18px;color:var(--color-brand-secondary);background:var(--color-surface);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.kld-history__head h2{margin:0;max-width:880px;color:var(--color-brand-secondary);font-size:clamp(2.4rem,4.5vw,4rem);line-height:1.06;font-weight:500;letter-spacing:-.01em}
.kld-history__head h2 .accent{color:var(--color-brand-primary);font-style:normal}
.kld-history__stage{position:relative;width:min(calc(100% - 40px),var(--container));border-radius:26px;overflow:hidden;isolation:isolate;aspect-ratio:21/10;background:var(--color-brand-secondary)}
.kld-history__media{position:absolute;inset:0;z-index:0}
.kld-history__media img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.9) contrast(1.02) brightness(.78)}
.kld-history__stage:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,color-mix(in srgb,var(--color-brand-secondary) 38%,transparent) 0%,color-mix(in srgb,var(--color-brand-secondary) 18%,transparent) 50%,color-mix(in srgb,var(--color-brand-secondary) 72%,transparent) 100%);pointer-events:none}
.kld-history__card{position:absolute;z-index:2;left:42px;bottom:42px;max-width:460px;display:flex;flex-direction:column;gap:18px;border-radius:22px;padding:26px 28px 28px;background:var(--color-surface);box-shadow:0 22px 50px color-mix(in srgb,var(--color-brand-secondary) 28%,transparent)}
.kld-history__card-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.kld-history__year{display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--color-border);border-radius:999px;padding:0 14px;color:var(--color-brand-secondary);background:var(--color-surface);font-size:.76rem;font-weight:700;letter-spacing:.04em}
.kld-history__mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--color-brand-primary);color:var(--color-text-light);font-size:1.3rem;line-height:1}
.kld-history__mark i{line-height:1}
.kld-history__title{margin:0;color:var(--color-brand-secondary);font-size:1.55rem;line-height:1.15;font-weight:700;letter-spacing:-.005em}
.kld-history__text{margin:0;color:var(--color-text-muted);font-size:.98rem;line-height:1.5}
.kld-history__tabs{position:absolute;z-index:2;right:42px;bottom:42px;display:flex;gap:8px;padding:6px;border-radius:999px;background:color-mix(in srgb,var(--color-surface) 22%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--color-text-light) 24%,transparent)}
.kld-history__tab{min-width:62px;min-height:38px;border:0;border-radius:999px;padding:0 18px;background:transparent;color:color-mix(in srgb,var(--color-text-light) 88%,transparent);font-size:.84rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease}
.kld-history__tab:hover{background:color-mix(in srgb,var(--color-surface) 22%,transparent);color:var(--color-text-light)}
.kld-history__tab.is-active{background:var(--color-surface);color:var(--color-brand-secondary)}
@media (max-width:1120px){
  .kld-history__stage{aspect-ratio:auto;min-height:580px}
  .kld-history__card{left:24px;right:24px;bottom:96px;max-width:none}
  .kld-history__tabs{right:24px;bottom:24px;left:24px;justify-content:center;overflow-x:auto}
}
@media (max-width:620px){
  .kld-history{padding:56px 0 72px}
  .kld-history__head{margin-bottom:28px;gap:14px}
  .kld-history__stage{min-height:540px;border-radius:20px}
  .kld-history__card{left:14px;right:14px;bottom:90px;padding:22px 22px 24px;border-radius:18px;gap:14px}
  .kld-history__title{font-size:1.35rem}
  .kld-history__text{font-size:.92rem}
  .kld-history__tabs{right:14px;bottom:14px;left:14px;padding:5px;gap:4px}
  .kld-history__tab{min-width:0;flex:1;min-height:34px;padding:0 10px;font-size:.78rem}
}

/* About — stats grid below page-hero-media image (Koldere brand colors) */
.about-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:54px;padding-top:32px;border-top:1px solid var(--color-border)}
.about-stats__item{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:6px 32px;border-left:1px solid var(--color-border)}
.about-stats__item:first-child{border-left:0;padding-left:0}
.about-stats__number{display:inline-flex;align-items:center;padding:6px 16px;border-radius:10px;background:var(--color-bg-soft)}
.about-stats__number strong{color:var(--color-brand-primary);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700;line-height:1;letter-spacing:-.02em}
.about-stats__label{color:var(--color-text-muted);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
@media (max-width:900px){.about-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0;margin-top:36px;padding-top:24px}.about-stats__item{padding:0 20px}.about-stats__item:nth-child(2n+1){border-left:0;padding-left:0}}
@media (max-width:520px){.about-stats{grid-template-columns:1fr;gap:20px}.about-stats__item{border-left:0;padding:0}}

/* ============================================== */
/* KLD — INNER PAGE NAV CHEVRON CONTRAST          */
/* ============================================== */
body:not(.home-page) .site-header .nav-list>.nav-item>.nav-link i{color:var(--color-brand-primary)}

/* ============================================== */
/* KLD — APPROACH SECTION (intro + accordion + pills) */
/* ============================================== */
.kld-approach{padding:60px 0 90px}
.kld-approach__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:start}
.kld-approach__intro{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.kld-approach__intro .eyebrow{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--color-border);border-radius:999px;padding:0 18px;color:var(--color-brand-secondary);background:var(--color-bg-main);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.kld-approach__intro h2{margin:0;max-width:480px;color:var(--color-brand-secondary);font-size:clamp(2.1rem,3.4vw,3rem);line-height:1.1;font-weight:500;letter-spacing:-.01em}
.kld-approach__intro h2 .accent{color:var(--color-brand-primary);font-style:normal}
.kld-approach__intro p{margin:0;max-width:480px;color:var(--color-text-muted);font-size:1.02rem;line-height:1.55}
.kld-approach__cta{align-self:flex-start;margin-top:14px;min-width:192px;min-height:48px;padding:0 28px;border:0;border-radius:999px;background:var(--color-brand-secondary);color:var(--color-text-light);font-weight:700;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background .25s ease,transform .25s ease,color .25s ease}
.kld-approach__cta:hover,.kld-approach__cta:focus-visible{background:var(--color-brand-primary);color:var(--color-text-light);transform:translateY(-2px)}
.kld-approach__accordion{display:flex;flex-direction:column}
.kld-approach__accordion .accordion-item{border-bottom:1px solid var(--color-border)}
.kld-approach__accordion .accordion-item:first-child{border-top:1px solid var(--color-border)}
.kld-approach__accordion .accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;border:0;background:transparent;padding:26px 0;color:var(--color-brand-secondary);text-align:left;font-weight:700;font-size:1.05rem;cursor:pointer;line-height:1.3}
.kld-approach__accordion .accordion-trigger i{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--color-bg-soft);color:var(--color-brand-secondary);font-size:1.1rem;transition:transform .25s ease,background .25s ease,color .25s ease}
.kld-approach__accordion .accordion-item.is-open .accordion-trigger i{transform:rotate(45deg);background:var(--color-brand-secondary);color:var(--color-text-light)}
.kld-approach__accordion .accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.kld-approach__accordion .accordion-panel p{min-height:0;overflow:hidden;margin:0;color:var(--color-text-muted);font-size:.98rem;line-height:1.55}
.kld-approach__accordion .accordion-item.is-open .accordion-panel{grid-template-rows:1fr;padding-bottom:24px}
.kld-approach__pills{display:flex;flex-wrap:wrap;gap:12px;margin-top:64px;padding-top:48px;border-top:1px solid var(--color-border);justify-content:center}
.kld-approach__pill{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;border-radius:999px;background:#EDEEF1;color:var(--color-brand-secondary);font-size:.95rem;font-weight:500}
.kld-approach__pill i{color:var(--color-brand-primary);font-size:1.15rem;line-height:1}
@media (max-width:900px){.kld-approach{padding:40px 0 64px}.kld-approach__grid{grid-template-columns:1fr;gap:40px}.kld-approach__pills{margin-top:48px;padding-top:36px}}
@media (max-width:620px){.kld-approach{padding:32px 0 48px}.kld-approach__intro h2{font-size:1.85rem}.kld-approach__accordion .accordion-trigger{font-size:.98rem;padding:22px 0}}

/* ============================================== */
/* KLD — VISION SECTION (image left + lime card right) */
/* ============================================== */
.kld-vision{padding:30px 0 90px}
.kld-vision__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
.kld-vision__media{position:relative;border-radius:24px;overflow:hidden;min-height:560px;background:var(--color-bg-soft)}
.kld-vision__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kld-vision__card{position:relative;isolation:isolate;border-radius:24px;padding:52px 52px 46px;background:linear-gradient(135deg,var(--color-brand-primary) 0%,color-mix(in srgb,var(--color-brand-primary) 82%,var(--color-midnight-blue)) 100%);color:var(--color-text-light);display:flex;flex-direction:column;justify-content:space-between;min-height:560px;gap:24px;overflow:hidden}
.kld-vision__card:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(165deg,color-mix(in srgb,var(--color-text-light) 16%,transparent) 0 50%,color-mix(in srgb,var(--color-midnight-blue) 18%,transparent) 50% 100%);clip-path:polygon(0 0,100% 0,100% 0,82% 44%,0 60%);pointer-events:none}
.kld-vision__card>*{position:relative;z-index:1}
.kld-vision__icon{position:absolute;top:36px;right:36px;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--color-midnight-blue) 76%,var(--color-brand-primary));color:var(--color-text-light);font-size:1.55rem;z-index:2}
.kld-vision__eyebrow{display:inline-flex;align-items:center;width:max-content;min-height:32px;border:1px solid color-mix(in srgb,var(--color-text-light) 34%,transparent);border-radius:999px;padding:0 22px;color:var(--color-text-light);background:color-mix(in srgb,var(--color-midnight-blue) 12%,transparent);font-size:.72rem;line-height:1;letter-spacing:0;text-transform:uppercase;font-weight:800}
.kld-vision__heading{margin:18px 56px 0 0;max-width:420px;font-size:clamp(2.1rem,3.2vw,3rem);line-height:1.1;font-weight:600;letter-spacing:0;color:var(--color-text-light)}
.kld-vision__copy{margin:0;max-width:480px;color:color-mix(in srgb,var(--color-text-light) 86%,transparent);font-size:1rem;line-height:1.55}
@media (max-width:900px){.kld-vision{padding:20px 0 64px}.kld-vision__grid{grid-template-columns:1fr;gap:20px}.kld-vision__media,.kld-vision__card{min-height:auto}.kld-vision__media{aspect-ratio:4/3}.kld-vision__card{padding:40px 36px}}
@media (max-width:620px){.kld-vision{padding:16px 0 48px}.kld-vision__card{padding:30px 26px}.kld-vision__icon{top:24px;right:24px;width:52px;height:52px;font-size:1.3rem}}

/* ============================================== */
/* KLD — PROCESS SECTION (centered header + 4 step cards + CTA) */
/* ============================================== */
.kld-process{padding:30px 0 90px}
.kld-process__header{text-align:center;max-width:820px;margin:0 auto 60px;display:flex;flex-direction:column;align-items:center;gap:24px}
.kld-process__header .eyebrow{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--color-border);border-radius:999px;padding:0 18px;color:var(--color-brand-secondary);background:var(--color-bg-main);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.kld-process__header h2{margin:0;color:var(--color-brand-secondary);font-size:clamp(2.3rem,3.6vw,3.4rem);line-height:1.12;font-weight:500;letter-spacing:-.01em}
.kld-process__header h2 .accent{color:var(--color-brand-primary);font-style:normal}
.kld-process__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.kld-process__card{position:relative;isolation:isolate;background:var(--color-bg-main);border:1px solid var(--color-border);border-radius:22px;min-height:440px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.kld-process__card:before{content:"";position:absolute;z-index:0;right:30px;bottom:30px;width:14px;height:14px;border-radius:999px;background:var(--color-brand-primary);opacity:0;pointer-events:none;transition:opacity .35s ease,width .9s cubic-bezier(.2,.82,.2,1),height .9s cubic-bezier(.2,.82,.2,1),right .9s cubic-bezier(.2,.82,.2,1),bottom .9s cubic-bezier(.2,.82,.2,1),transform .9s cubic-bezier(.2,.82,.2,1),border-radius .9s cubic-bezier(.2,.82,.2,1)}
.kld-process__card>*{position:relative;z-index:1}
.kld-process__card:hover:before,.kld-process__card:focus-within:before{right:-18%;bottom:-18%;width:150%;height:150%;border-radius:36px;opacity:.98;transform:scale(1.04)}
.kld-process__number{position:absolute;top:28px;left:28px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:.92rem;font-weight:700;letter-spacing:.04em;transition:background .3s ease,color .3s ease,transform .3s ease}
.kld-process__card:hover .kld-process__number,.kld-process__card:focus-within .kld-process__number{background:var(--color-text-light);color:var(--color-brand-primary);transform:translate(2px,-2px)}
.kld-process__content{background:var(--color-bg-soft);border-radius:14px;padding:22px 20px;display:flex;flex-direction:column;gap:14px;min-height:210px;transition:background .3s ease}
.kld-process__card:hover .kld-process__content,.kld-process__card:focus-within .kld-process__content{background:color-mix(in srgb,var(--color-text-light) 14%,transparent)}
.kld-process__content h3{margin:0;color:var(--color-brand-secondary);font-size:1.18rem;line-height:1.2;font-weight:600;transition:color .3s ease}
.kld-process__card:hover .kld-process__content h3,.kld-process__card:focus-within .kld-process__content h3{color:var(--color-text-light)}
.kld-process__content p{margin:0;color:var(--color-text-muted);font-size:.92rem;line-height:1.45;transition:color .3s ease}
.kld-process__card:hover .kld-process__content p,.kld-process__card:focus-within .kld-process__content p{color:color-mix(in srgb,var(--color-text-light) 86%,transparent)}
.kld-process__cta-wrap{display:flex;justify-content:center;margin-top:56px}
.kld-process__cta{position:relative;min-height:48px;padding:0 28px;border:0;border-radius:999px;background:var(--color-brand-secondary);color:var(--color-text-light);font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-right:58px;text-decoration:none;transition:background .25s ease,transform .25s ease,color .25s ease}
.kld-process__cta:after{content:"\ea70";font-family:"remixicon";position:absolute;left:calc(100% + 8px);top:50%;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--color-brand-secondary);color:var(--color-text-light);font-size:1.28rem;line-height:1;transform:translateY(-50%);transition:background .3s ease,transform .3s ease,color .3s ease}
.kld-process__cta:hover,.kld-process__cta:focus-visible{background:var(--color-brand-primary);color:var(--color-text-light);transform:translateY(-2px)}
.kld-process__cta:hover:after{background:var(--color-brand-primary);transform:translateY(-50%) translate(2px,-2px)}
@media (max-width:1120px){.kld-process__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.kld-process{padding:20px 0 64px}.kld-process__header{margin-bottom:48px}.kld-process__card{min-height:360px;padding:24px}.kld-process__number{top:24px;left:24px;width:42px;height:42px}.kld-process__cta-wrap{margin-top:40px}}
@media (max-width:620px){.kld-process__grid{grid-template-columns:1fr;gap:14px}.kld-process__card{min-height:0;padding-top:84px}.kld-process__cta{margin-right:54px;min-width:0}}

/* ============================================== */
/* KLD — WHY-US SECTION (full image + overlay card) */
/* ============================================== */
.kld-why-us{padding:90px 0 90px}
.kld-why-us__inner{position:relative;width:min(calc(100% - 40px),var(--container));margin:0 auto;border-radius:28px;overflow:hidden;aspect-ratio:21/10;background:var(--color-bg-soft)}
.kld-why-us__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kld-why-us__card{position:absolute;left:40px;bottom:40px;max-width:440px;background:color-mix(in srgb,var(--color-bg-main) 96%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:24px;padding:30px 34px 28px;display:flex;flex-direction:column;gap:18px}
.kld-why-us__head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.kld-why-us__eyebrow{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--color-border);border-radius:999px;padding:0 18px;color:var(--color-brand-secondary);background:var(--color-bg-main);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.kld-why-us__badge{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);font-size:1.55rem;line-height:1;font-weight:700;flex:0 0 auto}
.kld-why-us__heading{margin:4px 0 0;color:var(--color-brand-secondary);font-size:clamp(1.7rem,2.2vw,2.1rem);line-height:1.15;font-weight:600;letter-spacing:-.01em}
.kld-why-us__heading .accent{background:var(--color-button-primary-bg);color:var(--color-button-primary-text);padding:2px 10px;border-radius:8px;font-style:normal;display:inline-block;margin:2px 0;line-height:1.15}
.kld-why-us__row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:6px}
.kld-why-us__copy{margin:0;color:var(--color-text-muted);font-size:.92rem;line-height:1.45;max-width:240px}
.kld-why-us__cta{flex:0 0 auto;min-height:46px;padding:0 24px;border:0;border-radius:999px;background:var(--color-brand-secondary);color:var(--color-text-light);font-weight:700;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background .25s ease,transform .25s ease,color .25s ease}
.kld-why-us__cta:hover,.kld-why-us__cta:focus-visible{background:var(--color-brand-primary);color:var(--color-text-light);transform:translateY(-2px)}
@media (max-width:900px){.kld-why-us{padding:0 0 64px}.kld-why-us__inner{aspect-ratio:4/3;border-radius:22px}.kld-why-us__card{left:20px;right:20px;bottom:20px;max-width:none;padding:24px 26px}.kld-why-us__row{flex-direction:column;align-items:flex-start;gap:14px}.kld-why-us__copy{max-width:none}}
@media (max-width:620px){.kld-why-us{padding:0 0 48px}.kld-why-us__inner{aspect-ratio:3/4}.kld-why-us__card{padding:22px}.kld-why-us__heading{font-size:1.4rem}}
@media (max-width:900px){.page-hero{padding:120px 0 64px}.page-hero-inner{grid-template-columns:minmax(0,1fr)}.page-hero-inner .btn,.page-hero-inner .btn-animated{grid-column:1;grid-row:auto;align-self:start;justify-self:start;margin-top:28px}}
@media (max-width:620px){.page-hero{padding:100px 0 48px}}

/* SITE-HEADER on inner pages — always show solid light state (no transparent over dark image) */
body:not(.home-page) .site-header{background:var(--color-bg-main);color:var(--color-text-main);box-shadow:0 1px 0 var(--color-border)}
body:not(.home-page) .site-header .nav-link{color:var(--color-text-main)}
body:not(.home-page) .site-header .nav-link:hover,body:not(.home-page) .site-header .nav-link.is-active,body:not(.home-page) .site-header .nav-link[aria-current=page]{color:var(--color-dropdown-hover-text);background:var(--color-dropdown-hover-bg)}
body:not(.home-page) .site-header .menu-toggle,body:not(.home-page) .site-header .icon-button{color:var(--color-text-main);border-color:var(--color-border);background:transparent}
body:not(.home-page) .site-header .icon-button:hover{background:var(--color-brand-primary);color:var(--color-text-light)}
body:not(.home-page) .site-header .site-logo__img--light{display:none}
body:not(.home-page) .site-header .site-logo__img--dark{display:block}

/* ============================================== */
/* KLD — GLOBAL LAYOUT SAFETY (1280px cap)        */
/* ============================================== */
html,body{overflow-x:clip;max-width:100vw}
.container{max-width:min(var(--container),100%)}

/* ============================================== */
/* KLD — INNER PAGE NAV (mirror home page menu)   */
/* ============================================== */
/* Cap header-inner to the same 1280px container width as page content */
body:not(.home-page) .header-inner{width:min(calc(100% - 40px),var(--container))}

/* All home-page nav/dropdown/mega-menu styling replicated for inner pages */
@media (min-width:1121px){
  /* Nav layout: grid with center-justified nav-list (mirrors home line 264-265) */
  body:not(.home-page) .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:34px;width:auto;min-width:0;flex:1 1 auto}
  body:not(.home-page) .nav-list{justify-self:center;gap:24px;min-width:0;max-width:100%}
  /* Nav-link pill base (mirrors home line 267, 270) */
  body:not(.home-page) .nav-link{min-height:38px;padding:0 14px;background:transparent;border-radius:999px;font-size:.9rem;font-weight:700;transition:color .18s ease,background-color .18s ease}
  body:not(.home-page) .nav-link i{color:var(--color-brand-accent);font-size:.92rem;transition:transform .18s ease,color .18s ease}
  body:not(.home-page) .nav-item.is-open>.nav-link i{transform:rotate(180deg)}
  body:not(.home-page) .nav-actions{gap:16px}
  /* Dropdown — refined style (mirrors home line 289-296) */
  body:not(.home-page) .dropdown{top:calc(100% + 28px);min-width:250px;border-radius:17px 17px 20px 20px;padding:0;overflow:hidden;box-shadow:0 22px 55px color-mix(in srgb,var(--color-brand-secondary) 18%,transparent)}
  body:not(.home-page) .nav-item.has-panel:not(.has-mega)::after{content:"";position:absolute;left:-24px;width:300px;top:100%;height:30px;pointer-events:none}
  body:not(.home-page) .nav-item.is-open.has-panel:not(.has-mega)::after{pointer-events:auto}
  body:not(.home-page) .dropdown a{display:flex;align-items:center;min-height:40px;border-radius:0;padding:8px 20px;color:var(--color-brand-secondary);font-size:.92rem;font-weight:500;position:relative}
  body:not(.home-page) .dropdown a:hover{background:var(--color-dropdown-hover-bg);color:var(--color-dropdown-hover-text)}
  body:not(.home-page) .dropdown a:hover:after{content:"\ea70";font-family:"remixicon";position:absolute;right:16px;top:50%;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-dark-bg);color:var(--color-button-dark-text);font-size:.85rem;transform:translateY(-50%)}
  body:not(.home-page) .dropdown a:last-child{min-height:52px;background:var(--color-brand-secondary);color:var(--color-text-light);font-weight:700}
  body:not(.home-page) .dropdown a:last-child:after{content:"\ea70";font-family:"remixicon";position:absolute;right:18px;top:50%;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--color-brand-accent);color:var(--color-midnight-blue);font-size:.82rem;transform:translateY(-50%)}
  body:not(.home-page) .dropdown a:last-child:hover{background:var(--color-brand-secondary);color:var(--color-text-light)}
  /* Mega-menu (mirrors home line 297-315) */
  body:not(.home-page) .mega-menu{top:100%;left:50%;width:min(1280px,calc(100% - 116px));max-width:100%;min-width:0;grid-template-columns:292px minmax(0,1fr);gap:38px;border-radius:22px;padding:40px;background:var(--color-surface);box-shadow:0 28px 70px color-mix(in srgb,var(--color-brand-secondary) 18%,transparent)}
  body:not(.home-page) .site-header.is-scrolled .dropdown,body:not(.home-page) .site-header.is-open .dropdown{top:calc(100% + 40px)}
  body:not(.home-page) .site-header.is-scrolled .nav-item.has-panel:not(.has-mega)::after,body:not(.home-page) .site-header.is-open .nav-item.has-panel:not(.has-mega)::after{height:40px}
  body:not(.home-page) .site-header.is-scrolled .mega-menu,body:not(.home-page) .site-header.is-open .mega-menu{top:calc(100% + 18px)}
  body:not(.home-page) .mega-menu:before{content:"";position:absolute;left:0;right:0;top:-42px;height:42px}
  body:not(.home-page) .mega-promo{position:relative;min-height:333px;border-radius:18px;padding:24px 20px;overflow:hidden;background:var(--color-brand-secondary)}
  body:not(.home-page) .mega-promo:after{content:"";position:absolute;right:-80px;bottom:-86px;width:220px;height:220px;border-radius:48px;background:var(--color-brand-accent);transform:rotate(-20deg)}
  body:not(.home-page) .mega-promo strong{position:relative;z-index:1;color:var(--color-text-light);font-size:1.18rem;line-height:1.25}
  body:not(.home-page) .mega-promo a{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;color:var(--color-brand-accent);font-size:.9rem;font-weight:700}
  body:not(.home-page) .mega-promo a i{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--color-brand-accent);color:var(--color-midnight-blue)}
  body:not(.home-page) .mega-grid{align-self:start;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:78px;row-gap:42px}
  body:not(.home-page) .mega-column{display:flex;flex-direction:column;gap:10px}
  body:not(.home-page) .mega-column h3{margin:0 0 6px;color:var(--color-text-muted);font-size:.68rem;font-weight:800;letter-spacing:0;text-transform:uppercase}
  body:not(.home-page) .mega-column a{position:relative;isolation:isolate;min-height:30px;display:flex;align-items:center;border-radius:4px;padding:0 44px 0 0;margin:0;color:var(--color-brand-secondary);font-size:.95rem;line-height:1.42;font-weight:400;transition:color .16s ease}
  body:not(.home-page) .mega-column a:before{content:"";position:absolute;inset:-6px 0 -6px -18px;border-radius:4px;background:var(--color-dropdown-hover-bg);opacity:0;z-index:-1;transition:opacity .16s ease}
  body:not(.home-page) .mega-column a:after{content:"\ea70";font-family:"remixicon";position:absolute;right:10px;top:50%;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--color-button-dark-bg);color:var(--color-button-dark-text);font-size:.84rem;opacity:0;transform:translateY(-50%) scale(.88);transition:opacity .16s ease,transform .16s ease}
  body:not(.home-page) .mega-column a:hover{color:var(--color-dropdown-hover-text)}
  body:not(.home-page) .mega-column a:hover:before{opacity:1}
  body:not(.home-page) .mega-column a:hover:after{opacity:1;transform:translateY(-50%) scale(1)}
}

@media (min-width:901px){
  /* BLUE pill on active/hover/open (mirrors home line 1192-1212) */
  body:not(.home-page) .site-header .nav-list>.nav-item>.nav-link.is-active,
  body:not(.home-page) .site-header .nav-list>.nav-item>.nav-link[aria-current=page],
  body:not(.home-page) .site-header .nav-list>.nav-item>.nav-link:hover,
  body:not(.home-page) .site-header .nav-list>.nav-item>.nav-link:focus-visible,
  body:not(.home-page) .site-header .nav-list>.nav-item.is-open>.nav-link{background:var(--color-brand-primary);color:var(--color-text-light)}
  body:not(.home-page) .site-header .nav-list>.nav-item>.nav-link i,
  body:not(.home-page) .site-header .nav-list>.nav-item>.nav-link:hover i,
  body:not(.home-page) .site-header .nav-list>.nav-item>.nav-link:focus-visible i,
  body:not(.home-page) .site-header .nav-list>.nav-item.is-open>.nav-link i{color:var(--color-brand-accent)}
  body:not(.home-page) .site-header .header-cta{background:var(--color-brand-primary);color:var(--color-text-light)}
}

/* ===== Cinematic dark hero overlay (Layer A vertical + Layer B horizontal) ===== */
/* Neutralize the legacy mild rgba(0,0,0,...) overlay so the new warm-anthracite layers do all the work without compounding darkness. */
.home-page .hero-overlay{background:transparent}

.hero-overlay-vertical,
.hero-overlay-horizontal{
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
}

.hero-overlay-vertical{
  z-index:1;
  background:linear-gradient(
    to top,
    rgba(12,14,18,0.82) 0%,
    rgba(12,14,18,0.55) 35%,
    rgba(12,14,18,0.18) 70%,
    rgba(12,14,18,0)    100%
  );
}

.hero-overlay-horizontal{
  z-index:2;
  background:linear-gradient(
    to right,
    rgba(12,14,18,0.55) 0%,
    rgba(12,14,18,0.32) 38%,
    rgba(12,14,18,0.08) 72%,
    rgba(12,14,18,0)    100%
  );
}

/* Lift text and slide indicator above the two gradient layers */
.home-page .hero-content{z-index:3}
.home-page .hero-tabs{z-index:4}

/* ============================================== */
/* KLD — SERVICES PAGE LAYOUT                      */
/* Migrated from inline <style> in services.html.  */
/* Page-specific layout for services.html's        */
/* approach stats variant + services grid + CTA    */
/* card. Self-contained, no global side effects.   */
/* ============================================== */

.kld-approach--stats .kld-approach__copy {
  display: flex;
  flex-direction: column;
  gap: 18px;
  color: var(--color-text-muted)
}

.kld-approach--stats .kld-approach__copy p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55
}

.kld-approach--stats .kld-approach__stats {
  margin-top: 56px;
  padding-top: 48px;
  border-top: 1px solid var(--color-border);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px
}

.kld-approach--stats .kld-approach__stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px
}

.kld-approach--stats .kld-approach__stat strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  padding: 0 28px;
  border-radius: 14px;
  background: var(--color-card-bg-neutral, #EDEEF1);
  color: var(--color-brand-primary);
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.01em
}

.kld-approach--stats .kld-approach__stat span {
  color: var(--color-text-muted);
  font-size: .74rem;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700
}

@media (max-width:900px) {
  .kld-approach--stats .kld-approach__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px
  }
}

@media (max-width:560px) {
  .kld-approach--stats .kld-approach__stats {
    grid-template-columns: 1fr
  }
}

/* Services grid section (services.html only) */
.kld-services__header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.kld-services__header .eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  padding: 0 22px;
  color: var(--color-brand-secondary);
  font-size: .72rem;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}

.kld-services__header h2 {
  margin: 0;
  color: var(--color-brand-secondary);
  font-size: clamp(2rem, 3vw, 2.8rem);
  line-height: 1.18;
  font-weight: 500;
  letter-spacing: 0;
}

.kld-services__header h2 .accent {
  color: var(--color-brand-primary);
}

/* Mirrors home-page .service-card structure & hover (expanding blue wash) */
.kld-services {
  --service-surface: var(--color-card-bg-neutral, #EDEEF1);
  --service-text: var(--color-brand-secondary);
  --service-accent: var(--color-brand-primary);
  --service-hover-bg: var(--service-accent);
  --service-hover-color: var(--color-text-light);
  --service-hover-icon-bg: var(--color-text-light);
  --service-hover-icon-color: var(--service-accent);
  --service-action-bg: var(--color-surface);
}

.kld-services__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.kld-services__card {
  --service-image-height: 400px;
  --service-footer-height: 100px;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: minmax(0, var(--service-image-height)) var(--service-footer-height);
  height: calc(var(--service-image-height) + var(--service-footer-height));
  border: 1px solid transparent;
  border-radius: 22px;
  background: var(--service-surface);
  box-shadow: none;
  overflow: hidden;
  text-decoration: none;
  color: var(--service-text);
  transition: transform .34s cubic-bezier(.2, .82, .2, 1), box-shadow .34s ease, border-color .3s ease;
}

.kld-services__card img {
  position: relative;
  z-index: 1;
  grid-row: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .9s cubic-bezier(.2,.82,.2,1);
}

.kld-services__card-body {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  z-index: 3;
  grid-row: 2;
  display: grid;
  grid-template-columns: 1fr 54px;
  align-items: center;
  gap: 18px;
  min-height: var(--service-footer-height);
  padding: 22px 20px;
  background: var(--service-surface);
  transition: background-color .3s ease;
}

.kld-services__card-body::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: 20px;
  bottom: 20px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--service-hover-bg);
  opacity: 0;
  transition: opacity .35s ease, width .9s cubic-bezier(.2,.82,.2,1), height .9s cubic-bezier(.2,.82,.2,1), right .9s cubic-bezier(.2,.82,.2,1), bottom .9s cubic-bezier(.2,.82,.2,1), border-radius .9s cubic-bezier(.2,.82,.2,1);
}

.kld-services__card-body>* {
  position: relative;
  z-index: 1;
}

.kld-services__card h3 {
  grid-column: 1;
  margin: 0;
  color: var(--service-text);
  font-size: 1.25rem;
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: 0;
  transition: color .3s ease;
}

.kld-services__icon {
  grid-column: 2;
  justify-self: end;
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--service-action-bg);
  color: var(--service-text);
  font-size: 1.25rem;
  line-height: 1;
  transition: background-color .3s ease, color .3s ease, transform .3s ease;
}

.kld-services__card:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--service-accent) 72%, transparent);
  outline-offset: 5px;
}

.kld-services__card:hover,
.kld-services__card:focus-visible {
  border-color: var(--color-brand-primary);
}

.kld-services__card:hover .kld-services__card-body::before,
.kld-services__card:focus-visible .kld-services__card-body::before {
  right: -24%;
  bottom: -42%;
  width: 172%;
  height: 220%;
  border-radius: 34px;
  opacity: 1;
}

.kld-services__card:hover h3,
.kld-services__card:focus-visible h3 {
  color: var(--service-hover-color);
}

.kld-services__card:hover .kld-services__icon,
.kld-services__card:focus-visible .kld-services__icon {
  background: var(--service-hover-icon-bg);
  color: var(--service-hover-icon-color);
}

@media (max-width:1180px) {
  .kld-services__card {
    --service-image-height: 332px;
    --service-footer-height: 98px;
  }

  .kld-services__card h3 {
    font-size: 1.05rem;
  }
}

@media (max-width:1024px) {
  .kld-services__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
}

@media (max-width:760px) {
  .kld-services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .kld-services__card {
    --service-image-height: 290px;
    --service-footer-height: 90px;
  }
}

@media (max-width:480px) {
  .kld-services__grid {
    grid-template-columns: 1fr;
  }

  .kld-services__card {
    --service-image-height: 332px;
    --service-footer-height: 98px;
  }
}

/* CTA variant — full blue card with contact action (mirrors kld-vision tone) */
.kld-services__card--cta {
  display: flex;
  flex-direction: column;
  grid-template-rows: none;
  padding: 30px;
  background: var(--color-brand-primary);
  border-color: var(--color-brand-primary);
  color: var(--color-text-light);
  overflow: hidden;
  position: relative;
}

.kld-services__card--cta::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(135deg, transparent 0% 56%, color-mix(in srgb, var(--color-text-light) 8%, transparent) 56% 100%);
  pointer-events: none;
}

.kld-services__card--cta>* {
  position: relative;
  z-index: 1;
}

.kld-services__card--cta:hover,
.kld-services__card--cta:focus-visible {
  border-color: var(--color-brand-primary);
  transform: translateY(-4px);
  box-shadow: 0 24px 60px color-mix(in srgb, var(--color-brand-secondary) 26%, transparent);
}

.kld-services__cta-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.kld-services__cta-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--color-text-light) 38%, transparent);
  color: var(--color-text-light);
  background: transparent;
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}

.kld-services__cta-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-brand-secondary);
  color: var(--color-text-light);
  font-size: 1.2rem;
  flex: 0 0 auto;
}

.kld-services__card--cta h3 {
  margin: auto 0 18px;
  color: var(--color-text-light);
  font-size: clamp(1.4rem, 1.8vw, 1.7rem);
  line-height: 1.18;
  font-weight: 700;
  letter-spacing: 0;
  max-width: 100%;
}

.kld-services__cta-copy {
  margin: 0 0 24px;
  color: color-mix(in srgb, var(--color-text-light) 86%, transparent);
  font-size: .92rem;
  line-height: 1.5;
}

.kld-services__cta-action {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  align-self: flex-start;
  min-height: 46px;
  padding: 0 6px 0 22px;
  border-radius: 999px;
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: 0;
  transition: transform .3s ease, background-color .3s ease, color .3s ease;
}

.kld-services__cta-action i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-brand-secondary);
  color: var(--color-brand-accent);
  font-size: 1rem;
  margin-left: 8px;
  transition: background-color .3s ease, color .3s ease, transform .3s ease;
}

.kld-services__card--cta:hover .kld-services__cta-action,
.kld-services__card--cta:focus-visible .kld-services__cta-action {
  background: var(--color-brand-secondary);
  color: var(--color-text-light);
}

.kld-services__card--cta:hover .kld-services__cta-action i,
.kld-services__card--cta:focus-visible .kld-services__cta-action i {
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
  transform: translate(2px, -2px);
}

/* ============================================== */
/* KLD — INDUSTRIES PAGE LAYOUT                    */
/* 6-section hub layout for industries.html        */
/* Hero + dark overview + segments + trio + grid + */
/* experts. Self-contained, no global side effects.*/
/* ============================================== */

/* 1. Industry hero — light neutral bg, eyebrow+H1+CTA top, stats row bottom */
.industry-hero {
  background: var(--color-card-bg-neutral, #EDEEF1);
  padding: 160px 0 70px;
}
.industry-hero__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 32px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--color-border);
}
.industry-hero .eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  padding: 0 18px;
  margin-bottom: 24px;
  color: var(--color-brand-secondary);
  background: var(--color-bg-main);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}
.industry-hero h1 {
  margin: 0 0 18px;
  color: var(--color-brand-secondary);
  font-size: clamp(2.6rem, 5vw, 4.2rem);
  line-height: 1.04;
  font-weight: 600;
  letter-spacing: -.01em;
}
.industry-hero__head p {
  margin: 0;
  max-width: 480px;
  color: var(--color-text-muted);
  font-size: 1.05rem;
  line-height: 1.55;
}
.industry-hero__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 6px 0 22px;
  border-radius: 999px;
  background: var(--color-brand-secondary);
  color: var(--color-text-light);
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  transition: background-color .3s ease, transform .3s ease;
}
.industry-hero__cta:hover,
.industry-hero__cta:focus-visible {
  background: var(--color-brand-primary);
  transform: translateY(-2px);
}
.industry-hero__cta-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-brand-accent);
  flex: 0 0 auto;
}
.industry-hero__cta-text {
  margin-right: 6px;
}
.industry-hero__cta-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-text-light);
  color: var(--color-brand-secondary);
  font-size: 1rem;
  flex: 0 0 auto;
  transition: background-color .3s ease, color .3s ease, transform .3s ease;
}
.industry-hero__cta:hover .industry-hero__cta-icon,
.industry-hero__cta:focus-visible .industry-hero__cta-icon {
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
  transform: translate(2px, -2px);
}
.industry-hero__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  padding-top: 36px;
}
.industry-hero__stats article {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.industry-hero__stats strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-height: 64px;
  padding: 0 28px;
  border-radius: 14px;
  background: var(--color-surface);
  color: var(--color-brand-primary);
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.01em;
}
.industry-hero__stats span {
  color: var(--color-text-muted);
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}

/* 2. Dark navy overview block — inset, rounded, with soft radial pattern */
.industry-overview-wrap {
  background: var(--color-card-bg-neutral, #EDEEF1);
  padding-bottom: 30px;
}
.industry-overview {
  position: relative;
  margin: 0 12px;
  padding: 130px 0;
  border-radius: 32px;
  overflow: hidden;
  background-color: var(--color-brand-secondary);
  background-image:
    radial-gradient(ellipse 90% 80% at 0% 100%, rgba(255, 255, 255, .055), transparent 60%),
    radial-gradient(ellipse 80% 90% at 100% 0%, rgba(255, 255, 255, .045), transparent 60%),
    radial-gradient(ellipse 60% 50% at 50% 50%, rgba(255, 255, 255, .025), transparent 65%);
  color: var(--color-text-light);
}
.industry-overview__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 80px;
  align-items: stretch;
  min-height: 380px;
}
.industry-overview__inner > div:first-child {
  display: flex;
  flex-direction: column;
}
.industry-overview__eyebrow {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  border: 1px solid color-mix(in srgb, var(--color-text-light) 28%, transparent);
  border-radius: 999px;
  padding: 0 18px;
  margin-bottom: 26px;
  color: var(--color-text-light);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}
.industry-overview h2 {
  margin: 0 0 32px;
  color: var(--color-text-light);
  font-size: clamp(2.2rem, 4vw, 3.6rem);
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: -.01em;
}
.industry-overview h2 .accent {
  color: var(--color-brand-accent);
  font-style: normal;
}
.industry-overview__cta {
  align-self: flex-start;
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 999px;
  background: var(--color-bg-main);
  color: var(--color-brand-secondary);
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  transition: background-color .3s ease;
}
.industry-overview__cta:hover,
.industry-overview__cta:focus-visible {
  background: var(--color-brand-accent);
}
.industry-overview__body p {
  margin: 0 0 18px;
  color: color-mix(in srgb, var(--color-text-light) 82%, transparent);
  font-size: .96rem;
  line-height: 1.55;
}
.industry-overview__body p:last-child {
  margin-bottom: 0;
}

/* 3. Who we serve intro + pills */
.industry-segments {
  padding: 120px 0;
}
.industry-segments__head {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 80px;
  align-items: start;
  margin-bottom: 48px;
}
.industry-segments__head .eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  padding: 0 18px;
  margin-bottom: 24px;
  color: var(--color-brand-secondary);
  background: var(--color-bg-main);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}
.industry-segments h2 {
  margin: 0 0 28px;
  color: var(--color-brand-secondary);
  font-size: clamp(1.8rem, 2.8vw, 2.5rem);
  line-height: 1.18;
  font-weight: 600;
}
.industry-segments__cta {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 999px;
  background: var(--color-brand-secondary);
  color: var(--color-text-light);
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  transition: background-color .3s ease, transform .3s ease;
}
.industry-segments__cta:hover,
.industry-segments__cta:focus-visible {
  background: var(--color-brand-primary);
  transform: translateY(-2px);
}
.industry-segments__copy {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: flex-start;
}
.industry-segments__icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
  font-size: 1.3rem;
}
.industry-segments__copy p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 1rem;
  line-height: 1.55;
}
.industry-segments__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 32px;
  border-top: 1px solid var(--color-border);
}
.industry-segments__pill {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--color-card-bg-neutral, #EDEEF1);
  color: var(--color-brand-secondary);
  font-size: .9rem;
  font-weight: 600;
}

/* 4. Three-card feature row (accent / photo / dark) */
.industry-trio {
  padding: 36px 0 90px;
}
.industry-trio__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
}
.industry-trio__card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 34px 32px;
  border-radius: 22px;
  min-height: 480px;
  transition: color .3s ease;
}
.industry-trio__card::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: 28px;
  bottom: 28px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--color-brand-primary);
  opacity: 0;
  transition: opacity .35s ease, width .9s cubic-bezier(.2,.82,.2,1), height .9s cubic-bezier(.2,.82,.2,1), right .9s cubic-bezier(.2,.82,.2,1), bottom .9s cubic-bezier(.2,.82,.2,1), border-radius .9s cubic-bezier(.2,.82,.2,1);
  pointer-events: none;
}
.industry-trio__card:hover::before,
.industry-trio__card:focus-within::before {
  right: -24%;
  bottom: -32%;
  width: 172%;
  height: 200%;
  border-radius: 38px;
  opacity: 1;
}
.industry-trio__card > * {
  position: relative;
  z-index: 1;
}

/* Accent card hover: dark text → light */
.industry-trio__card--accent:hover,
.industry-trio__card--accent:focus-within {
  color: var(--color-text-light);
}
.industry-trio__card--accent:hover .industry-trio__eyebrow,
.industry-trio__card--accent:focus-within .industry-trio__eyebrow {
  color: var(--color-text-light);
  border-color: color-mix(in srgb, var(--color-text-light) 42%, transparent);
}
.industry-trio__card--accent:hover .industry-trio__cta,
.industry-trio__card--accent:focus-within .industry-trio__cta {
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
}
.industry-trio__card--accent {
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
}
.industry-trio__card--dark {
  background: var(--color-brand-secondary);
  color: var(--color-text-light);
}
.industry-trio__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 36px;
}
.industry-trio__eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--color-brand-secondary) 30%, transparent);
  background: transparent;
  color: var(--color-brand-secondary);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: color .3s ease, border-color .3s ease;
}
.industry-trio__eyebrow--light {
  border-color: color-mix(in srgb, var(--color-text-light) 34%, transparent);
  color: var(--color-text-light);
}
.industry-trio__badge {
  font-size: 1.4rem;
  line-height: 1;
  color: inherit;
}
.industry-trio__card h3 {
  margin: 0 0 22px;
  font-size: 1.5rem;
  line-height: 1.18;
  font-weight: 700;
  color: inherit;
  letter-spacing: 0;
}
.industry-trio__card p {
  margin: 0 0 28px;
  font-size: .95rem;
  line-height: 1.5;
  color: inherit;
  opacity: .86;
}
.industry-trio__stats {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-bottom: 32px;
}
.industry-trio__stats article {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.industry-trio__stats strong {
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
}
.industry-trio__stats span {
  font-size: .88rem;
  line-height: 1.4;
  color: inherit;
  opacity: .8;
}
.industry-trio__cta {
  align-self: flex-start;
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 999px;
  background: var(--color-brand-secondary);
  color: var(--color-text-light);
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  transition: background-color .3s ease, transform .3s ease;
}
.industry-trio__cta:hover,
.industry-trio__cta:focus-visible {
  background: var(--color-brand-primary);
  transform: translateY(-2px);
}
.industry-trio__cta--outline {
  background: var(--color-bg-main);
  color: var(--color-brand-secondary);
  border: 0;
}
.industry-trio__cta--outline:hover,
.industry-trio__cta--outline:focus-visible {
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
}
.industry-trio__cta i {
  font-size: 1rem;
}
.industry-trio__photo {
  overflow: hidden;
  border-radius: 22px;
  background: var(--color-card-bg-neutral, #EDEEF1);
  min-height: 480px;
  display: block;
}
.industry-trio__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 5. Industry detail grid (4-card with check icons) */
.industry-detail {
  padding: 110px 0 90px;
}
.industry-detail__head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}
.industry-detail__head .eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  padding: 0 18px;
  color: var(--color-brand-secondary);
  background: var(--color-bg-main);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}
.industry-detail h2 {
  margin: 0;
  color: var(--color-brand-secondary);
  font-size: clamp(2rem, 3.2vw, 2.8rem);
  line-height: 1.18;
  font-weight: 600;
}
.industry-detail h2 .accent {
  color: var(--color-brand-primary);
  font-style: normal;
}
.industry-detail__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.industry-detail__card {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px;
  border: 1px solid var(--color-border);
  border-radius: 22px;
  background: var(--color-bg-main);
  min-height: 450px;
  overflow: hidden;
}
.industry-detail__card::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: 28px;
  bottom: 28px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--color-brand-primary);
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease, width .9s cubic-bezier(.2,.82,.2,1), height .9s cubic-bezier(.2,.82,.2,1), right .9s cubic-bezier(.2,.82,.2,1), bottom .9s cubic-bezier(.2,.82,.2,1), transform .9s cubic-bezier(.2,.82,.2,1), border-radius .9s cubic-bezier(.2,.82,.2,1);
}
.industry-detail__card > * {
  position: relative;
  z-index: 1;
}
.industry-detail__card:hover::before,
.industry-detail__card:focus-within::before {
  right: -18%;
  bottom: -18%;
  width: 150%;
  height: 150%;
  border-radius: 36px;
  opacity: .98;
  transform: scale(1.04);
}
.industry-detail__number {
  position: absolute;
  top: 28px;
  left: 28px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
  font-size: .92rem;
  font-weight: 700;
  letter-spacing: .04em;
  transition: background .3s ease, color .3s ease, transform .3s ease;
}
.industry-detail__card:hover .industry-detail__number,
.industry-detail__card:focus-within .industry-detail__number {
  background: var(--color-text-light);
  color: var(--color-brand-primary);
  transform: translate(2px, -2px);
}
.industry-detail__content {
  background: var(--color-bg-soft);
  border-radius: 14px;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 250px;
  transition: background .3s ease;
}
.industry-detail__card:hover .industry-detail__content,
.industry-detail__card:focus-within .industry-detail__content {
  background: color-mix(in srgb, var(--color-text-light) 14%, transparent);
}
.industry-detail__content h3 {
  margin: 0;
  color: var(--color-brand-secondary);
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.22;
  transition: color .3s ease;
}
.industry-detail__card:hover .industry-detail__content h3,
.industry-detail__card:focus-within .industry-detail__content h3 {
  color: var(--color-text-light);
}
.industry-detail__content p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: .92rem;
  line-height: 1.5;
  transition: color .3s ease;
}
.industry-detail__card:hover .industry-detail__content p,
.industry-detail__card:focus-within .industry-detail__content p {
  color: color-mix(in srgb, var(--color-text-light) 86%, transparent);
}
.industry-detail__cta {
  display: flex;
  justify-content: center;
  margin-top: 48px;
}

/* 6. Experts closing — photo + accent card */
.industry-experts {
  padding: 0 0 90px;
}
.industry-experts__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 36px;
}
.industry-experts__head .eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  padding: 0 18px;
  margin-bottom: 18px;
  color: var(--color-brand-secondary);
  background: var(--color-bg-main);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}
.industry-experts h2 {
  margin: 0;
  color: var(--color-brand-secondary);
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  line-height: 1.18;
  font-weight: 600;
}
.industry-experts h2 .accent {
  color: var(--color-brand-primary);
  font-style: normal;
}
.industry-experts__viewall {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 20px;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  background: var(--color-bg-main);
  color: var(--color-brand-secondary);
  font-weight: 700;
  font-size: .85rem;
  text-decoration: none;
  transition: background-color .3s ease, color .3s ease;
}
.industry-experts__viewall:hover,
.industry-experts__viewall:focus-visible {
  background: var(--color-brand-primary);
  color: var(--color-text-light);
  border-color: var(--color-brand-primary);
}
.industry-experts__grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 18px;
}
.industry-experts__photo {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  min-height: 540px;
  display: block;
}
.industry-experts__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.industry-experts__photo-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 120px 48px 48px;
  background: linear-gradient(to top, rgba(19, 36, 65, .94) 0%, rgba(19, 36, 65, .82) 40%, rgba(19, 36, 65, .42) 70%, rgba(19, 36, 65, 0) 100%);
  color: var(--color-text-light);
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.industry-experts__photo-tag {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  min-height: 30px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--color-text-light) 28%, transparent);
  background: transparent;
  color: var(--color-brand-accent);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  line-height: 1;
}
.industry-experts__photo-overlay h3 {
  margin: 0;
  color: var(--color-text-light);
  font-size: clamp(1.35rem, 2.1vw, 1.85rem);
  line-height: 1.32;
  font-weight: 500;
  letter-spacing: -.005em;
  max-width: 90%;
}
.industry-experts__photo-overlay p {
  margin: 4px 0 0;
  color: color-mix(in srgb, var(--color-text-light) 76%, transparent);
  font-size: .96rem;
  line-height: 1.6;
  max-width: 82%;
  font-weight: 400;
}
.industry-experts__card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 36px 32px;
  border-radius: 22px;
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
  transition: color .3s ease;
}
.industry-experts__card::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: 28px;
  bottom: 28px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--color-brand-primary);
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease, width .9s cubic-bezier(.2,.82,.2,1), height .9s cubic-bezier(.2,.82,.2,1), right .9s cubic-bezier(.2,.82,.2,1), bottom .9s cubic-bezier(.2,.82,.2,1), border-radius .9s cubic-bezier(.2,.82,.2,1);
}
.industry-experts__card:hover::before,
.industry-experts__card:focus-within::before {
  right: -24%;
  bottom: -32%;
  width: 172%;
  height: 200%;
  border-radius: 38px;
  opacity: 1;
}
.industry-experts__card > * {
  position: relative;
  z-index: 1;
}
.industry-experts__card:hover,
.industry-experts__card:focus-within {
  color: var(--color-text-light);
}
.industry-experts__card:hover .industry-experts__eyebrow,
.industry-experts__card:focus-within .industry-experts__eyebrow {
  color: var(--color-text-light);
  border-color: color-mix(in srgb, var(--color-text-light) 42%, transparent);
}
.industry-experts__card:hover .industry-experts__cta,
.industry-experts__card:focus-within .industry-experts__cta {
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
}
.industry-experts__head-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: auto;
  padding-bottom: 28px;
}
.industry-experts__eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--color-brand-secondary) 30%, transparent);
  color: var(--color-brand-secondary);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: color .3s ease, border-color .3s ease;
}
.industry-experts__badge {
  font-size: 1.4rem;
  line-height: 1;
}
.industry-experts__card h3 {
  margin: 0 0 18px;
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 700;
  color: inherit;
}
.industry-experts__card p {
  margin: 0 0 28px;
  font-size: .95rem;
  line-height: 1.5;
  opacity: .86;
}
.industry-experts__cta {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--color-brand-secondary);
  color: var(--color-text-light);
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  transition: background-color .3s ease, transform .3s ease;
}
.industry-experts__cta:hover,
.industry-experts__cta:focus-visible {
  background: var(--color-brand-primary);
  transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 1024px) {
  .industry-hero__head { grid-template-columns: 1fr; }
  .industry-overview__inner { grid-template-columns: 1fr; gap: 36px; }
  .industry-segments__head { grid-template-columns: 1fr; gap: 36px; }
  .industry-trio__grid { grid-template-columns: 1fr; }
  .industry-trio__card,
  .industry-trio__photo { min-height: 420px; }
  .industry-detail__grid { grid-template-columns: repeat(2, 1fr); }
  .industry-experts__grid { grid-template-columns: 1fr; }
  .industry-experts__photo { min-height: 360px; }
}
@media (max-width: 620px) {
  .industry-hero { padding: 120px 0 50px; }
  .industry-hero__stats { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .industry-overview { padding: 60px 0; }
  .industry-segments { padding: 60px 0; }
  .industry-detail__grid { grid-template-columns: 1fr; }
  .industry-experts__head { flex-direction: column; align-items: flex-start; }
}

/* ============================================== */
/* KLD — SUBSCRIBE BAND (global, all pages)       */
/* Sits between contact-band and footer on navy   */
/* ============================================== */

.subscribe-band {
  background: var(--color-brand-secondary);
  padding: 40px 0 60px;
  color: var(--color-text-light);
}
.subscribe-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  gap: 40px;
}
.subscribe-band__text {
  margin: 0;
  color: var(--color-text-light);
  font-size: 1.05rem;
  line-height: 1.45;
  max-width: 520px;
}
.subscribe-band__form {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 6px 6px 4px;
  border-radius: 999px;
  background: var(--color-text-light);
}
.subscribe-band__form input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  padding: 0 20px;
  min-height: 42px;
  color: var(--color-brand-secondary);
  font-size: .95rem;
  font-family: inherit;
}
.subscribe-band__form input::placeholder {
  color: var(--color-text-muted);
}
.subscribe-band__cta {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
  font-size: 1.05rem;
  cursor: pointer;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.subscribe-band__cta:hover,
.subscribe-band__cta:focus-visible {
  background: var(--color-brand-primary);
  color: var(--color-text-light);
  transform: translate(2px, -2px);
  outline: 0;
}
@media (max-width: 760px) {
  .subscribe-band {
    padding: 32px 0 40px;
  }
  .subscribe-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
}

/* ============================================== */
/* KLD — ABOUT VALUES SECTION (about.html only)   */
/* Eyebrow + H2 + lead + 4-card values grid with  */
/* chartreuse icon badge + cream content panel    */
/* ============================================== */

.about-values {
  padding: 110px 0;
}
.about-values__head {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 64px;
}
.about-values__eyebrow {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  min-height: 32px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  padding: 0 18px;
  margin-bottom: 28px;
  color: var(--color-brand-secondary);
  background: var(--color-bg-main);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}
.about-values__intro h2 {
  margin: 0;
  color: var(--color-brand-secondary);
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: 1.08;
  font-weight: 600;
  letter-spacing: -.01em;
}
.about-values__intro h2 .accent {
  color: var(--color-brand-primary);
  font-style: normal;
}
.about-values__lead {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 1.02rem;
  line-height: 1.55;
  max-width: 480px;
}
.about-values__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.about-values__card {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px;
  border: 1px solid var(--color-border);
  border-radius: 22px;
  background: var(--color-bg-main);
  min-height: 420px;
  overflow: hidden;
}
.about-values__card::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: 28px;
  bottom: 28px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--color-brand-primary);
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease, width .9s cubic-bezier(.2,.82,.2,1), height .9s cubic-bezier(.2,.82,.2,1), right .9s cubic-bezier(.2,.82,.2,1), bottom .9s cubic-bezier(.2,.82,.2,1), transform .9s cubic-bezier(.2,.82,.2,1), border-radius .9s cubic-bezier(.2,.82,.2,1);
}
.about-values__card > * {
  position: relative;
  z-index: 1;
}
.about-values__card:hover::before,
.about-values__card:focus-within::before {
  right: -18%;
  bottom: -18%;
  width: 150%;
  height: 150%;
  border-radius: 36px;
  opacity: .98;
  transform: scale(1.04);
}
.about-values__icon {
  position: absolute;
  top: 28px;
  left: 28px;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
  font-size: 1.4rem;
  transition: background .3s ease, color .3s ease, transform .3s ease;
}
.about-values__card:hover .about-values__icon,
.about-values__card:focus-within .about-values__icon {
  background: var(--color-text-light);
  color: var(--color-brand-primary);
  transform: translate(2px, -2px);
}
.about-values__content {
  background: var(--color-bg-soft);
  border-radius: 14px;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 220px;
  transition: background .3s ease;
}
.about-values__card:hover .about-values__content,
.about-values__card:focus-within .about-values__content {
  background: color-mix(in srgb, var(--color-text-light) 14%, transparent);
}
.about-values__content h3 {
  margin: 0;
  color: var(--color-brand-secondary);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.22;
  transition: color .3s ease;
}
.about-values__card:hover .about-values__content h3,
.about-values__card:focus-within .about-values__content h3 {
  color: var(--color-text-light);
}
.about-values__content p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: .92rem;
  line-height: 1.5;
  transition: color .3s ease;
}
.about-values__card:hover .about-values__content p,
.about-values__card:focus-within .about-values__content p {
  color: color-mix(in srgb, var(--color-text-light) 86%, transparent);
}
@media (max-width: 1024px) {
  .about-values { padding: 80px 0; }
  .about-values__head { grid-template-columns: 1fr; gap: 28px; align-items: start; }
  .about-values__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .about-values__grid { grid-template-columns: 1fr; }
  .about-values__card { min-height: 340px; }
}

/* ============================================================ */
/* KLD — FOOTER LAYOUT FIX                                      */
/* Unified navy block: contact-band (rounded card) → partner    */
/*   → newsletter → footer-grid (4 equal cols) → bottom strip   */
/* ============================================================ */

/* Contact band: gradient white-top to navy-bottom so card "rises out" of navy */
.contact-band{background:var(--color-surface)!important;padding:70px 0 77px!important;margin:0!important;position:relative!important;isolation:isolate}
.contact-band::before{display:none}
.contact-band::after{content:""!important;display:block!important;position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:240px!important;background:var(--color-brand-secondary)!important;border-radius:25px 25px 0 0!important;z-index:0!important;pointer-events:none}
.contact-band>.container{position:relative;z-index:1}
.contact-grid{width:min(calc(100% - 80px),1280px)!important;border-radius:22px!important;overflow:hidden!important;box-shadow:none!important}
.contact-form{margin:0!important;border-radius:0!important;padding:56px 50px 44px!important;background:var(--color-bg-soft)!important}
.contact-media{min-height:auto!important;border-radius:0!important;background:var(--color-bg-soft)}

/* Partner & Hersteller strip: now on navy bg, between contact-band and newsletter */
.client-strip{background:var(--color-brand-secondary)!important;color:var(--color-text-light)!important;padding:36px 0 28px!important;margin:0!important}
.client-divider{margin-bottom:28px!important}
.client-divider:before{background:color-mix(in srgb,var(--color-text-light) 14%,transparent)!important}
.client-divider span{background:var(--color-brand-secondary)!important;color:var(--color-text-light)!important;border-color:color-mix(in srgb,var(--color-text-light) 22%,transparent)!important}
.client-logos{color:color-mix(in srgb,var(--color-text-light) 90%,transparent)!important}
.client-logos img{filter:brightness(0) invert(1) opacity(.82);transition:opacity .25s ease}
.client-logos img:hover{opacity:1}
.client-logos span{color:color-mix(in srgb,var(--color-text-light) 90%,transparent)!important}
.client-logos i{color:var(--color-brand-accent)!important}

/* Newsletter row: navy bg, clean centered grid */
.subscribe-band{background:var(--color-brand-secondary)!important;padding:30px 0 36px!important;margin:0!important;border-top:1px solid color-mix(in srgb,var(--color-text-light) 12%,transparent)}
.subscribe-grid{width:min(calc(100% - 80px),1280px)!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,460px)!important;gap:40px!important;align-items:center!important;margin:0 auto!important}
.subscribe-band__text{margin:0;color:color-mix(in srgb,var(--color-text-light) 86%,transparent);font-size:1.05rem;line-height:1.45;max-width:520px}
.subscribe-band__form{display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:10px;align-items:center}
.subscribe-band__form input{min-height:50px;border:0;border-radius:999px;padding:0 24px;background:var(--color-surface);color:var(--color-text-main);font-size:.95rem}
.subscribe-band__form input:focus{outline:3px solid color-mix(in srgb,var(--color-brand-primary) 32%,transparent);outline-offset:2px}
.subscribe-band__cta{width:60px;height:50px;border:0;border-radius:999px;background:var(--color-brand-accent);color:var(--color-brand-secondary);font-size:1.2rem;display:grid;place-items:center;cursor:pointer;transition:transform .2s ease,background .2s ease}
.subscribe-band__cta:hover{transform:translateY(-2px);background:var(--color-brand-accent-hover,var(--color-brand-accent))}

/* Site footer: navy, no negative margin, 4 equal cols */
.site-footer{background:var(--color-brand-secondary)!important;margin:0!important;padding:107px 0 18px!important;border-top:1px solid color-mix(in srgb,var(--color-text-light) 12%,transparent)}
.footer-grid{width:min(calc(100% - 80px),1280px)!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:40px!important;margin:0 auto!important;padding:0!important}
.footer-grid h2{margin:0 0 22px!important;color:var(--color-powder-blue,#9CB8D6)!important;font-size:.78rem!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.footer-grid a,.footer-grid p{margin:0 0 12px!important;color:color-mix(in srgb,var(--color-text-light) 80%,transparent)!important;font-size:.98rem!important;line-height:1.45!important;display:block}
.footer-grid a:hover{color:var(--color-brand-accent)!important}
.footer-brand{margin-bottom:24px!important}
.footer-grid .footer-cta{margin-top:24px!important;color:var(--color-button-primary-text)!important;font-size:.95rem!important;line-height:1!important;display:inline-flex!important}
.footer-grid .footer-cta:hover{color:var(--color-button-primary-text)!important}
.footer-grid .footer-cta .btn-animated__text{color:var(--color-button-primary-text)!important}

/* Footer bottom: thin separator, compact */
.footer-bottom{width:min(calc(100% - 80px),1280px)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;margin:36px auto 0!important;padding:22px 0 8px!important;border-top:1px solid color-mix(in srgb,var(--color-text-light) 12%,transparent)!important;color:color-mix(in srgb,var(--color-text-light) 70%,transparent)!important}
.footer-bottom span{font-size:.82rem!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.footer-bottom .social-links{display:flex;gap:18px}
.footer-bottom .social-links a{width:auto;height:auto;background:transparent;color:var(--color-text-light);font-size:1.1rem;transition:color .2s ease}
.footer-bottom .social-links a:hover{color:var(--color-brand-accent);background:transparent;transform:translateY(-2px)}
/* Clavis Global credit link in footer-bottom right side */
.footer-credit{display:inline-flex;align-items:center;color:color-mix(in srgb,var(--color-text-light) 60%,transparent)!important;font-size:.82rem!important;font-weight:600!important;letter-spacing:.02em!important;text-decoration:none;transition:color .2s ease;text-transform:none!important}
.footer-credit:hover{color:var(--color-brand-accent)!important}
/* Social icons in first footer column (under the CTA button) */
.footer-social{display:flex;gap:14px;margin-top:26px}
.footer-social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--color-text-light) 10%,transparent)!important;border:1px solid color-mix(in srgb,var(--color-text-light) 18%,transparent);color:var(--color-text-light);font-size:1.25rem;line-height:1;transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease;margin:0!important}
.footer-social a:hover{color:var(--color-brand-secondary)!important;background:var(--color-brand-accent)!important;border-color:var(--color-brand-accent);transform:translateY(-2px)}

/* Mobile responsive */
@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr!important;width:min(calc(100% - 40px),720px)!important}
  .contact-form{padding:40px 30px 32px!important}
  .contact-media{min-height:280px!important}
  .subscribe-grid{grid-template-columns:1fr!important;width:min(calc(100% - 40px),720px)!important;gap:20px!important}
  .footer-grid{width:min(calc(100% - 40px),720px)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px!important}
  .footer-bottom{width:min(calc(100% - 40px),720px)!important;flex-direction:column;align-items:flex-start!important;gap:18px!important}
}
@media (max-width:620px){
  .footer-grid{grid-template-columns:1fr!important;gap:28px!important}
  .contact-form{padding:32px 22px 26px!important}
}


/* ============================================== */
/* KLD — SCROLL PROGRESS INDICATOR                  */
/* Sticky right-side vertical bar that fills as     */
/* user scrolls. Top label "SCROLL" toggles to      */
/* "BACK TO TOP" near page bottom. Click resets.    */
/* ============================================== */

.kld-scroll-progress {
  position: fixed;
  right: 24px;
  top: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  z-index: 90;
  pointer-events: auto;
  cursor: pointer;
  visibility: hidden;
  transform: translate(70px, -50%);
  transition: transform 0.45s cubic-bezier(0.2, 0.82, 0.2, 1), visibility 0s linear 0.45s;
  mix-blend-mode: difference;
}
.kld-scroll-progress.is-visible {
  visibility: visible;
  transform: translate(0, -50%);
  transition: transform 0.45s cubic-bezier(0.2, 0.82, 0.2, 1), visibility 0s linear 0s;
}

.kld-scroll-progress__label {
  font-size: 0.65rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: #fff;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  user-select: none;
  pointer-events: auto;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.kld-scroll-progress__label:hover {
  opacity: 0.7;
}

.kld-scroll-progress__track {
  width: 2px;
  height: 120px;
  background: rgba(255, 255, 255, 0.32);
  border-radius: 2px;
  overflow: hidden;
  position: relative;
}

.kld-scroll-progress__fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  background: #fff;
  transition: height 0.1s linear;
}

/* Hide on mobile */
@media (max-width: 1024px) {
  .kld-scroll-progress {
    display: none;
  }
}


/* ============================================== */
/* KLD — Branchen photo card: icon-only mark        */
/* Used on branchen.html industry-experts photo     */
/* card to replace overlay text with a circular     */
/* icon in the top-right corner.                    */
/* ============================================== */
.industry-experts__photo-mark {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 1;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-text-light) 92%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 8px 24px rgba(19, 36, 65, 0.18);
  color: var(--color-brand-secondary);
  font-size: 1.6rem;
  line-height: 1;
  pointer-events: none;
}
.industry-experts__photo-mark i {
  display: block;
}
@media (max-width: 768px) {
  .industry-experts__photo-mark {
    top: 18px;
    right: 18px;
    width: 52px;
    height: 52px;
    font-size: 1.35rem;
  }
}


/* ============================================== */
/* KLD — Branchen contact CTA card variant          */
/* Used on branchen.html as the final grid cell to  */
/* nudge visitors toward a project inquiry.         */
/* ============================================== */
.kld-branchen-card.kld-branchen-card--contact {
  background: var(--color-brand-primary);
  border-color: var(--color-brand-primary);
}
.kld-branchen-card.kld-branchen-card--contact::before {
  background: var(--color-brand-accent);
}
.kld-branchen-card.kld-branchen-card--contact .kld-branchen-card__title-block h3 {
  color: var(--color-text-light);
}
.kld-branchen-card.kld-branchen-card--contact .kld-branchen-card__copy {
  color: color-mix(in srgb, var(--color-text-light) 86%, transparent);
}
.kld-branchen-card.kld-branchen-card--contact .kld-branchen-card__plus {
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
}
.kld-branchen-card.kld-branchen-card--contact .kld-branchen-card__icon {
  background: var(--color-text-light);
  color: var(--color-brand-primary);
}
.kld-branchen-card.kld-branchen-card--contact .kld-branchen-card__cta {
  color: var(--color-brand-accent);
}
.kld-branchen-card.kld-branchen-card--contact:hover .kld-branchen-card__plus,
.kld-branchen-card.kld-branchen-card--contact:focus-within .kld-branchen-card__plus {
  transform: rotate(45deg);
  background: var(--color-brand-secondary);
  color: var(--color-text-light);
}
.kld-branchen-card.kld-branchen-card--contact:hover .kld-branchen-card__icon,
.kld-branchen-card.kld-branchen-card--contact:focus-within .kld-branchen-card__icon {
  transform: translate(2px, -2px);
  background: var(--color-brand-secondary);
  color: var(--color-brand-accent);
}
.kld-branchen-card.kld-branchen-card--contact:hover .kld-branchen-card__title-block h3,
.kld-branchen-card.kld-branchen-card--contact:focus-within .kld-branchen-card__title-block h3 {
  color: var(--color-brand-secondary);
}
.kld-branchen-card.kld-branchen-card--contact:hover .kld-branchen-card__copy,
.kld-branchen-card.kld-branchen-card--contact:focus-within .kld-branchen-card__copy {
  color: color-mix(in srgb, var(--color-brand-secondary) 86%, transparent);
}
.kld-branchen-card.kld-branchen-card--contact:hover .kld-branchen-card__cta,
.kld-branchen-card.kld-branchen-card--contact:focus-within .kld-branchen-card__cta {
  color: var(--color-brand-secondary);
}
/* Hover'da mavi border'i chartreuse'a uyarla (mavi çizgi gözükmesin) */
.kld-branchen-card.kld-branchen-card--contact:hover,
.kld-branchen-card.kld-branchen-card--contact:focus-within {
  border-color: var(--color-brand-accent);
}


/* ==========================================================================
   KLD — MOBILE HERO REFINEMENT
   --------------------------------------------------------------------------
   Mobile-only (max-width: 1024px):
   - Hide text-based .hero-tabs (PROJEKTPLANUNG / MONTAGE / ALUMINIUM)
   - Show vertical .hero-dots indicator at top-right corner
   - Active dot fills with brand-primary blue across slide duration (8s)
   - Hero content (kicker + h1 + copy + buttons) aligns to BOTTOM of hero
   - Applies to .hero (index slider) and .page-hero (Leistungen static)
   - Desktop layout untouched
   ========================================================================== */

/* ----- Dot indicator: hidden on desktop, shown only on mobile ----- */
.hero-dots {
  display: none;
}

.hero-dot {
  appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}

@media (max-width: 1024px) {

  /* Hide text-based tab indicator on mobile */
  .hero-tabs,
  .home-page .hero-tabs {
    display: none !important;
  }

  /* Show vertical dot indicator at hero top-right corner */
  .hero-dots {
    display: flex !important;
    position: absolute;
    top: 28px;
    right: 24px;
    flex-direction: column;
    gap: 14px;
    z-index: 6;
    pointer-events: none;
  }

  .hero-dot {
    position: relative;
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, 0.55);
    background: transparent;
    overflow: hidden;
    cursor: pointer;
    pointer-events: auto;
    transition: border-color 0.3s ease;
  }

  .hero-dot::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--color-brand-primary);
    transform: scale(0);
    transform-origin: center;
  }

  .hero-dot.is-active {
    border-color: rgba(255, 255, 255, 0.9);
  }

  .hero-dot.is-active::after {
    animation: kld-hero-dot-progress 8000ms linear forwards;
  }

  @keyframes kld-hero-dot-progress {
    from { transform: scale(0); }
    to   { transform: scale(1); }
  }

  /* ===== Hero content bottom alignment (index .hero) ===== */
  .home-page .hero {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
  }
  .home-page .hero-content {
    align-self: stretch;
    margin-top: auto !important;
    padding-top: 24px !important;
    padding-bottom: 32px !important;
  }

  /* ===== Hero content bottom alignment (Leistungen .page-hero) ===== */
  .page-hero {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
  }
  .page-hero .page-hero-inner,
  .page-hero .container {
    margin-top: auto !important;
    padding-top: 56px !important;
    padding-bottom: 32px !important;
  }
}

@media (max-width: 620px) {
  .hero-dots {
    top: 22px;
    right: 18px;
    gap: 12px;
  }
  .hero-dot {
    width: 11px;
    height: 11px;
  }
}


/* ==========================================================================
   KLD — Hamburger menu toggle (subtle, minimal animation)
   --------------------------------------------------------------------------
   3-line hamburger icon. No X morph (drawer has its own dedicated X close).
   - Hover: top/bot lines stagger slightly outward
   - Active (aria-expanded="true"): lines compress toward center +
     accent color shift — minimal "this is active" indication.
   - Position-fix: non-home pages mobile header buttons reordered so
     menu-toggle is rightmost and search icon sits to its left.
   ========================================================================== */

.menu-toggle .menu-toggle__icon {
  display: block;
  width: 22px;
  height: 22px;
  pointer-events: none;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.menu-toggle .menu-toggle__line {
  transform-origin: center;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), stroke 0.25s ease;
}

/* Default (hamburger) — three evenly spaced horizontal lines */
.menu-toggle .menu-toggle__line--top {
  transform: translateY(-6px);
}
.menu-toggle .menu-toggle__line--mid {
  transform: translateY(0);
}
.menu-toggle .menu-toggle__line--bot {
  transform: translateY(6px);
}

/* Hover (only hover-capable devices): lines spread slightly outward */
@media (hover: hover) and (pointer: fine) {
  .menu-toggle:hover .menu-toggle__line--top {
    transform: translateY(-8px);
  }
  .menu-toggle:hover .menu-toggle__line--bot {
    transform: translateY(8px);
  }
}

/* Active state (aria-expanded="true") — lines compress toward center +
   stroke shifts to brand-accent. Subtle, premium, not a full X morph. */
.menu-toggle[aria-expanded="true"] .menu-toggle__line--top {
  transform: translateY(-3px);
  stroke: var(--color-brand-accent);
}
.menu-toggle[aria-expanded="true"] .menu-toggle__line--mid {
  transform: translateY(0) scaleX(0.5);
  stroke: var(--color-brand-accent);
}
.menu-toggle[aria-expanded="true"] .menu-toggle__line--bot {
  transform: translateY(3px);
  stroke: var(--color-brand-accent);
}

/* Non-home pages mobile: reorder header buttons.
   Layout: brand (left) | nav with search icon (middle/right) | menu-toggle (far right) */
@media (max-width: 1120px) {
  body:not(.home-page) .site-header:not(.is-open) .brand {
    order: 1;
  }
  body:not(.home-page) .site-header:not(.is-open) .nav {
    order: 2;
  }
  body:not(.home-page) .site-header:not(.is-open) .menu-toggle {
    order: 3;
    margin-left: -10px;
  }
}


/* ==========================================================================
   KLD — KONTAKT PAGE (Finovate-inspired layout, adapted to Koldere brand)
   --------------------------------------------------------------------------
   Sections:
   1. .kld-kontakt-intro       — heading + 3 contact info columns
   2. .kld-kontakt-form-section— form card + media (images + callout)
   3. .kld-kontakt-offices     — HQ card + 5 service-region cards
   4. .kld-kontakt-bottom      — image + lime CTA card
   ========================================================================== */

/* ====================== Section 1: Intro ====================== */
.kld-kontakt-intro {
  background: var(--color-bg-soft, #f5f6f8);
  padding: 140px 0 56px;
}
.kld-kontakt-intro__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
}
.kld-kontakt-intro__pill {
  display: inline-flex;
  align-items: center;
  padding: 9px 22px;
  border-radius: 999px;
  border: 1px solid rgba(19, 36, 65, 0.16);
  background: #ffffff;
  color: var(--color-brand-secondary);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 28px;
  box-shadow: 0 2px 8px rgba(19, 36, 65, 0.04);
}
.kld-kontakt-intro__title {
  margin: 0 0 18px;
  font-size: clamp(2.8rem, 5.5vw, 4.6rem);
  line-height: 1.02;
  font-weight: 400;
  letter-spacing: -0.015em;
  color: var(--color-brand-secondary);
}
.kld-kontakt-intro__title .accent {
  color: var(--color-brand-primary);
  font-weight: 400;
}
.kld-kontakt-intro__subtitle {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 1.05rem;
  line-height: 1.5;
}
.kld-kontakt-intro__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.kld-kontakt-info {
  display: flex;
  align-items: center;
  gap: 18px;
}
.kld-kontakt-info__icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--color-brand-secondary);
  color: var(--color-text-light);
  font-size: 1.4rem;
}
.kld-kontakt-info__body {
  min-width: 0;
}
.kld-kontakt-info__label {
  margin: 0 0 4px;
  color: var(--color-text-muted);
  font-size: 0.82rem;
  font-weight: 600;
}
.kld-kontakt-info__value {
  margin: 0;
  color: var(--color-brand-secondary);
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.35;
}
.kld-kontakt-info__value a {
  color: inherit;
  text-decoration: none;
}
.kld-kontakt-info__value a:hover {
  color: var(--color-brand-primary);
}

/* ====================== Section 2: Form section ====================== */
.kld-kontakt-form-section {
  padding: 64px 0;
}
.kld-kontakt-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 0;
  border-radius: 24px;
  overflow: hidden;
  background: var(--color-bg-soft, #f5f6f8);
  align-items: stretch;
}
.kld-kontakt-form-card {
  padding: 44px 44px 40px;
  background: var(--color-bg-soft, #f5f6f8);
}
.kld-kontakt-form-card__pill {
  display: inline-flex;
  align-items: center;
  padding: 9px 22px;
  border-radius: 999px;
  border: 1px solid rgba(19, 36, 65, 0.16);
  background: #ffffff;
  color: var(--color-brand-secondary);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 22px;
  box-shadow: 0 2px 8px rgba(19, 36, 65, 0.04);
}
.kld-kontakt-form-card__title {
  margin: 0 0 14px;
  font-size: clamp(1.8rem, 2.6vw, 2.4rem);
  line-height: 1.1;
  font-weight: 500;
  color: var(--color-brand-secondary);
  letter-spacing: -0.005em;
}
.kld-kontakt-form-card__intro {
  margin: 0 0 28px;
  color: var(--color-text-muted);
  font-size: 0.96rem;
  line-height: 1.5;
}
.kld-kontakt-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.kld-kontakt-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.kld-kontakt-form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.kld-kontakt-form__field--wide {
  width: 100%;
}
.kld-kontakt-form__label {
  color: var(--color-text-muted);
  font-size: 0.85rem;
  font-weight: 600;
}
.kld-kontakt-form__input,
.kld-kontakt-form__textarea {
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 12px 14px;
  background: var(--color-surface);
  color: var(--color-brand-secondary);
  font-size: 0.95rem;
  font-family: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.kld-kontakt-form__input:focus,
.kld-kontakt-form__textarea:focus {
  outline: none;
  border-color: var(--color-brand-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-primary) 18%, transparent);
}
.kld-kontakt-form__textarea {
  resize: vertical;
  min-height: 110px;
}
.kld-kontakt-form__submit {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 28px;
  border: 0;
  border-radius: 10px;
  background: var(--color-brand-secondary);
  color: var(--color-text-light);
  font-size: 0.92rem;
  font-weight: 700;
  cursor: pointer;
  margin-top: 8px;
  transition: background 0.2s ease, transform 0.2s ease;
}
.kld-kontakt-form__submit:hover {
  background: var(--color-brand-primary);
  transform: translateY(-1px);
}

.kld-kontakt-form-media {
  position: relative;
  background: var(--color-bg-soft, #f5f6f8);
  min-height: 480px;
  overflow: hidden;
}
.kld-kontakt-form-media__images {
  position: absolute;
  inset: 0;
  display: block;
  height: 100%;
  width: 100%;
  overflow: hidden;
}
.kld-kontakt-form-media__images img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.kld-kontakt-form-media__callout {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 22px 14px 14px;
  border-radius: 999px;
  background: var(--color-surface);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.16);
}
.kld-kontakt-form-media__callout-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--color-brand-secondary);
  color: var(--color-text-light);
  font-size: 1.1rem;
}
.kld-kontakt-form-media__callout-text {
  margin: 0;
  color: var(--color-brand-secondary);
  font-size: 0.84rem;
  line-height: 1.4;
  font-weight: 500;
}
.kld-kontakt-form-media__callout-text a {
  color: var(--color-brand-primary);
  text-decoration: none;
  font-weight: 700;
}

/* ====================== Section 3: Offices grid ====================== */
.kld-kontakt-offices {
  padding: 48px 0 80px;
}
.kld-kontakt-offices__title {
  margin: 0 0 32px;
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  line-height: 1.1;
  font-weight: 500;
  color: var(--color-brand-secondary);
  letter-spacing: -0.005em;
}
.kld-kontakt-offices__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
/* KLD — Kontakt legal-only variant: 2 cards full width, no horizontal margin */
.kld-kontakt-offices__grid--legal {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.kld-kontakt-offices__grid--legal .kld-kontakt-office {
  min-height: 240px;
}
.kld-kontakt-office {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 26px 26px 26px;
  border-radius: 20px;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  min-height: 220px;
  transition: border-color 0.25s ease;
}
.kld-kontakt-office:hover {
  border-color: var(--color-brand-primary);
}
.kld-kontakt-office__badge {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  padding: 5px 14px;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-brand-secondary);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.kld-kontakt-office__badge--dark {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.32);
  color: var(--color-text-light);
}
.kld-kontakt-office__name {
  margin: 0 0 8px;
  color: var(--color-text-light);
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: -0.005em;
}
.kld-kontakt-office__city {
  margin: 0 0 2px;
  color: var(--color-brand-secondary);
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: -0.005em;
}
.kld-kontakt-office__address {
  margin: 0 0 6px;
  color: var(--color-text-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}
.kld-kontakt-office__meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 6px 0 0;
  color: var(--color-text-muted);
  font-size: 0.86rem;
}
.kld-kontakt-office__meta i {
  color: var(--color-brand-primary);
  font-size: 1.05rem;
}
.kld-kontakt-office__direction {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 10px;
  color: var(--color-brand-secondary);
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s ease;
}
.kld-kontakt-office__direction i {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--color-surface-soft, #f0f1f4);
  color: var(--color-brand-secondary);
  font-size: 0.92rem;
  transition: background 0.2s ease, color 0.2s ease;
}
.kld-kontakt-office__direction:hover {
  color: var(--color-brand-primary);
}
.kld-kontakt-office__direction:hover i {
  background: var(--color-brand-primary);
  color: var(--color-text-light);
}
.kld-kontakt-office__direction--accent i {
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
}

/* HQ card — dark variant with abstract shape */
.kld-kontakt-office--hq {
  background: var(--color-brand-secondary);
  border-color: var(--color-brand-secondary);
  color: var(--color-text-light);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 360px;
}
.kld-kontakt-office--hq:hover {
  border-color: var(--color-brand-secondary);
  box-shadow: 0 28px 60px color-mix(in srgb, var(--color-brand-secondary) 22%, transparent);
}
.kld-kontakt-office--hq .kld-kontakt-office__hq-top {
  position: relative;
  z-index: 2;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.kld-kontakt-office--hq .kld-kontakt-office__hq-bottom {
  position: relative;
  z-index: 2;
  padding-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: auto;
}
.kld-kontakt-office--hq .kld-kontakt-office__city {
  color: var(--color-text-light);
}
.kld-kontakt-office--hq .kld-kontakt-office__address {
  color: color-mix(in srgb, var(--color-text-light) 72%, transparent);
}
.kld-kontakt-office--hq .kld-kontakt-office__direction {
  color: var(--color-text-light);
  margin-top: 12px;
}
.kld-kontakt-office__shape {
  position: absolute;
  right: -40px;
  top: 30%;
  width: 240px;
  height: 240px;
  background: var(--color-brand-accent);
  clip-path: polygon(15% 0, 100% 25%, 85% 100%, 0 75%);
  opacity: 0.85;
  pointer-events: none;
  z-index: 1;
}

/* ====================== Section 4: Bottom CTA ====================== */
.kld-kontakt-bottom {
  padding: 32px 0 88px;
}
.kld-kontakt-bottom__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
}
.kld-kontakt-bottom__image {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  min-height: 380px;
}
.kld-kontakt-bottom__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.kld-kontakt-bottom__card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 44px 44px 44px;
  border-radius: 24px;
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
  overflow: hidden;
}
.kld-kontakt-bottom__badge {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  padding: 6px 16px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--color-brand-secondary) 24%, transparent);
  background: transparent;
  color: var(--color-brand-secondary);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 22px;
}
.kld-kontakt-bottom__asterisk {
  position: absolute;
  top: 32px;
  right: 36px;
  font-size: 1.6rem;
  color: var(--color-brand-secondary);
  opacity: 0.85;
}
.kld-kontakt-bottom__title {
  margin: 0 0 auto;
  font-size: clamp(1.7rem, 2.6vw, 2.2rem);
  line-height: 1.15;
  font-weight: 500;
  color: var(--color-brand-secondary);
  letter-spacing: -0.005em;
}
.kld-kontakt-bottom__button {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 14px;
  margin-top: 36px;
  padding: 14px 22px 14px 26px;
  border-radius: 999px;
  background: var(--color-brand-secondary);
  color: var(--color-text-light);
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.25s ease, background 0.25s ease;
}
.kld-kontakt-bottom__button i {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-text-light);
  color: var(--color-brand-secondary);
  font-size: 1rem;
}
.kld-kontakt-bottom__button:hover {
  transform: translateY(-2px);
  background: color-mix(in srgb, var(--color-brand-secondary) 88%, #000);
}

/* ====================== Responsive ====================== */
@media (max-width: 1024px) {
  .kld-kontakt-form-grid {
    grid-template-columns: 1fr;
  }
  .kld-kontakt-form-media__images {
    grid-template-rows: 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .kld-kontakt-form-media__images img {
    min-height: 180px;
  }
  .kld-kontakt-offices__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .kld-kontakt-offices__grid--legal {
    max-width: 100%;
  }
  .kld-kontakt-bottom__grid {
    grid-template-columns: 1fr;
  }
  .kld-kontakt-bottom__image {
    min-height: 280px;
  }
}
@media (max-width: 768px) {
  .kld-kontakt-intro {
    padding: 56px 0 40px;
  }
  .kld-kontakt-intro__cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .kld-kontakt-form-section {
    padding: 40px 0;
  }
  .kld-kontakt-form-card {
    padding: 30px 22px 28px;
  }
  .kld-kontakt-form__row {
    grid-template-columns: 1fr;
  }
  .kld-kontakt-form-media__images {
    grid-template-columns: 1fr;
  }
  .kld-kontakt-form-media__callout {
    position: static;
    margin: -16px 16px 16px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
  }
  .kld-kontakt-offices {
    padding: 32px 0 56px;
  }
  .kld-kontakt-offices__grid {
    grid-template-columns: 1fr;
  }
  .kld-kontakt-offices__grid--legal {
    grid-template-columns: 1fr;
    max-width: 100%;
  }
  .kld-kontakt-office--hq {
    min-height: 280px;
  }
  .kld-kontakt-bottom {
    padding: 16px 0 64px;
  }
  .kld-kontakt-bottom__card {
    padding: 30px 26px 30px;
  }
  .kld-kontakt-bottom__asterisk {
    top: 22px;
    right: 24px;
    font-size: 1.4rem;
  }
}


/* ==========================================================================
   KLD — Kontakt page: Legal cards variant (Impressum / Datenschutz)
   --------------------------------------------------------------------------
   Visual diff from Einsatzgebiet cards: subtle accent badge + hover.
   ========================================================================== */
.kld-kontakt-office--legal {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(19, 36, 65, 0.10);
  transition: border-color 0.35s ease;
}
.kld-kontakt-office--legal > * {
  position: relative;
  z-index: 1;
}
/* Standart KLD hover: bottom-right dot growing into a blue paint */
.kld-kontakt-office--legal::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: 28px;
  bottom: 28px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--color-brand-primary);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease,
              width 0.9s cubic-bezier(0.2, 0.82, 0.2, 1),
              height 0.9s cubic-bezier(0.2, 0.82, 0.2, 1),
              right 0.9s cubic-bezier(0.2, 0.82, 0.2, 1),
              bottom 0.9s cubic-bezier(0.2, 0.82, 0.2, 1),
              transform 0.9s cubic-bezier(0.2, 0.82, 0.2, 1),
              border-radius 0.9s cubic-bezier(0.2, 0.82, 0.2, 1);
}
.kld-kontakt-office--legal:hover::before,
.kld-kontakt-office--legal:focus-within::before {
  right: -18%;
  bottom: -18%;
  width: 150%;
  height: 150%;
  border-radius: 36px;
  opacity: 0.98;
  transform: scale(1.04);
}
.kld-kontakt-office--legal:hover,
.kld-kontakt-office--legal:focus-within {
  border-color: var(--color-brand-primary);
}
/* Badge */
.kld-kontakt-office__badge--legal {
  background: color-mix(in srgb, var(--color-brand-accent) 18%, transparent);
  border-color: color-mix(in srgb, var(--color-brand-accent) 60%, transparent);
  color: var(--color-brand-secondary);
  transition: background 0.4s ease, border-color 0.4s ease, color 0.4s ease;
}
.kld-kontakt-office--legal:hover .kld-kontakt-office__badge--legal,
.kld-kontakt-office--legal:focus-within .kld-kontakt-office__badge--legal {
  background: var(--color-brand-accent);
  border-color: var(--color-brand-accent);
  color: var(--color-brand-secondary);
}
/* Text colors (light on blue paint) */
.kld-kontakt-office--legal .kld-kontakt-office__city,
.kld-kontakt-office--legal .kld-kontakt-office__address,
.kld-kontakt-office--legal .kld-kontakt-office__meta,
.kld-kontakt-office--legal .kld-kontakt-office__direction {
  transition: color 0.45s ease;
}
.kld-kontakt-office--legal .kld-kontakt-office__meta i {
  color: var(--color-brand-secondary);
  transition: color 0.45s ease;
}
.kld-kontakt-office--legal:hover .kld-kontakt-office__city,
.kld-kontakt-office--legal:focus-within .kld-kontakt-office__city {
  color: var(--color-text-light);
}
.kld-kontakt-office--legal:hover .kld-kontakt-office__address,
.kld-kontakt-office--legal:focus-within .kld-kontakt-office__address {
  color: color-mix(in srgb, var(--color-text-light) 86%, transparent);
}
.kld-kontakt-office--legal:hover .kld-kontakt-office__meta,
.kld-kontakt-office--legal:focus-within .kld-kontakt-office__meta {
  color: color-mix(in srgb, var(--color-text-light) 86%, transparent);
}
.kld-kontakt-office--legal:hover .kld-kontakt-office__meta i,
.kld-kontakt-office--legal:focus-within .kld-kontakt-office__meta i {
  color: var(--color-brand-accent);
}
.kld-kontakt-office--legal:hover .kld-kontakt-office__direction,
.kld-kontakt-office--legal:focus-within .kld-kontakt-office__direction {
  color: var(--color-text-light);
}
.kld-kontakt-office--legal:hover .kld-kontakt-office__direction i,
.kld-kontakt-office--legal:focus-within .kld-kontakt-office__direction i {
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
}
/* Stretched link — whole card becomes clickable */
.kld-kontakt-office--legal {
  cursor: pointer;
}
.kld-kontakt-office--legal .kld-kontakt-office__direction {
  position: static;
}
.kld-kontakt-office--legal .kld-kontakt-office__direction::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
}


/* ==========================================================================
   KLD — Kontakt FAQ section (Pentageni-style 2-column layout)
   --------------------------------------------------------------------------
   Left: pill + heading + subtitle + 2 stat bars + circular badge
   Right: 5 native <details>/<summary> accordion items
   ========================================================================== */
.kld-faq {
  padding: 72px 0 88px;
}
.kld-faq__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 56px;
  align-items: start;
}

/* ====================== LEFT COLUMN ====================== */
.kld-faq__intro {
  position: relative;
}
.kld-faq__pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: 999px;
  border: 1px solid rgba(19, 36, 65, 0.14);
  background: var(--color-surface);
  color: var(--color-brand-secondary);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  margin-bottom: 28px;
}
.kld-faq__pill-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-brand-primary);
}
.kld-faq__title {
  margin: 0 0 18px;
  font-size: clamp(1.9rem, 3.2vw, 2.6rem);
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--color-brand-secondary);
}
.kld-faq__subtitle {
  margin: 0 0 36px;
  color: var(--color-text-muted);
  font-size: 1.02rem;
  line-height: 1.55;
  max-width: 500px;
}

/* Stats */
.kld-faq__stats {
  display: flex;
  flex-direction: column;
  gap: 22px;
  max-width: 380px;
  margin-bottom: 40px;
}
.kld-faq__stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.kld-faq__stat-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
.kld-faq__stat-label {
  color: var(--color-brand-secondary);
  font-size: 0.98rem;
  font-weight: 600;
}
.kld-faq__stat-value {
  color: var(--color-text-muted);
  font-size: 0.95rem;
  font-weight: 600;
}
.kld-faq__stat-bar {
  height: 6px;
  border-radius: 999px;
  background: rgba(19, 36, 65, 0.10);
  overflow: hidden;
}
.kld-faq__stat-bar span {
  display: block;
  height: 100%;
  background: var(--color-brand-secondary);
  border-radius: 999px;
}

/* Circular badge */
.kld-faq__badge {
  position: relative;
  width: 140px;
  height: 140px;
  margin-top: 8px;
}
.kld-faq__badge-svg {
  width: 100%;
  height: 100%;
  animation: kld-faq-badge-spin 22s linear infinite;
}
.kld-faq__badge-text {
  fill: var(--color-brand-secondary);
  font-family: inherit;
  font-weight: 700;
  text-transform: uppercase;
}
.kld-faq__badge-icon {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
}
.kld-faq__badge-icon i {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-brand-secondary);
  color: var(--color-brand-accent);
  font-size: 1.7rem;
}
@keyframes kld-faq-badge-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ====================== RIGHT COLUMN: FAQ ITEMS ====================== */
.kld-faq__questions {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.kld-faq__item {
  background: var(--color-surface);
  border: 1px solid rgba(19, 36, 65, 0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.kld-faq__item[open] {
  border-color: rgba(19, 36, 65, 0.16);
  box-shadow: 0 12px 32px rgba(19, 36, 65, 0.06);
}
.kld-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.kld-faq__q::-webkit-details-marker {
  display: none;
}
.kld-faq__q::marker {
  display: none;
}
.kld-faq__q-text {
  color: var(--color-brand-secondary);
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.005em;
  flex: 1 1 auto;
}
.kld-faq__q-num {
  color: var(--color-brand-primary);
  font-weight: 700;
  margin-right: 6px;
}
.kld-faq__chevron {
  flex: 0 0 auto;
  position: relative;
  width: 22px;
  height: 22px;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.kld-faq__chevron::before,
.kld-faq__chevron::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  background: var(--color-brand-secondary);
  border-radius: 1px;
  transform-origin: center;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.kld-faq__chevron::before {
  transform: translate(-7px, -50%) rotate(45deg);
}
.kld-faq__chevron::after {
  transform: translate(-1px, -50%) rotate(-45deg);
}
.kld-faq__item[open] .kld-faq__chevron::before {
  transform: translate(-7px, -50%) rotate(-45deg);
}
.kld-faq__item[open] .kld-faq__chevron::after {
  transform: translate(-1px, -50%) rotate(45deg);
}
.kld-faq__a {
  padding: 0;
  overflow: hidden;
  transition: height 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}
.kld-faq__a p {
  margin: 0;
  padding: 0 24px 22px;
  color: var(--color-text-muted);
  font-size: 0.96rem;
  line-height: 1.6;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.28s ease 0.06s, transform 0.32s cubic-bezier(0.4, 0, 0.2, 1) 0.06s;
}
.kld-faq__item[open] .kld-faq__a p {
  opacity: 1;
  transform: translateY(0);
}

/* ====================== Responsive ====================== */
@media (max-width: 1024px) {
  .kld-faq__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .kld-faq__badge {
    margin: 8px auto 0;
  }
}
@media (max-width: 768px) {
  .kld-faq {
    padding: 48px 0 64px;
  }
  .kld-faq__stats {
    max-width: 100%;
  }
  .kld-faq__q {
    padding: 18px 18px;
  }
  .kld-faq__a p {
    padding: 0 18px 18px;
  }
  .kld-faq__q-text {
    font-size: 0.96rem;
  }
}

/* ============================================== */
/* KLD — IMPRESSUM PAGE LAYOUT (impressum.html)    */
/* Editorial / magazine style — no card frames,    */
/* flowing typography, subtle dividers             */
/* ============================================== */

.impressum-page {
  padding: 96px 0 120px;
  background: var(--color-bg-main);
}
.impressum-page__inner {
  width: 100%;
}

/* --- Company header block (semantic dl/dt/dd) --- */
.impressum-company {
  margin-bottom: 72px;
}
.impressum-company__tag {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 16px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.impressum-company__name {
  margin: 0 0 38px;
  color: var(--color-brand-secondary);
  font-size: clamp(2rem, 3.6vw, 2.9rem);
  line-height: 1.12;
  font-weight: 600;
  letter-spacing: -.015em;
}
.impressum-company__list {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 40px;
  row-gap: 6px;
}
.impressum-company__row {
  display: grid;
  grid-template-columns: 150px 1fr;
  align-items: baseline;
  gap: 24px;
  padding: 16px 0;
  border-top: 1px solid color-mix(in srgb, var(--color-brand-secondary) 10%, transparent);
}
.impressum-company__row:first-child,
.impressum-company__row:nth-child(2) {
  border-top: 0;
}
.impressum-company__row dt {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: var(--color-text-muted);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.impressum-company__row dt i {
  font-size: 1rem;
  color: var(--color-brand-primary);
}
.impressum-company__row dd {
  margin: 0;
  color: var(--color-brand-secondary);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.45;
  word-break: break-word;
}
.impressum-company__row dd a {
  color: var(--color-brand-secondary);
  text-decoration: none;
  background-image: linear-gradient(var(--color-brand-primary), var(--color-brand-primary));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
  transition: color .25s ease, background-size .3s ease;
}
.impressum-company__row dd a:hover {
  color: var(--color-brand-primary);
  background-size: 100% 2px;
}

/* --- Divider between company block and legal prose --- */
.impressum-page__divider {
  height: 1px;
  margin: 0 0 56px;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--color-brand-secondary) 30%, transparent) 0%,
    color-mix(in srgb, var(--color-brand-secondary) 10%, transparent) 60%,
    transparent 100%);
}

/* --- Legal prose: editorial flowing text --- */
.impressum-prose {
  display: flex;
  flex-direction: column;
  gap: 56px;
}
.impressum-prose__item {
  position: relative;
  padding-left: 0;
}
.impressum-prose__index {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--color-brand-primary);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
}
.impressum-prose__item h3 {
  margin: 0 0 18px;
  color: var(--color-brand-secondary);
  font-size: clamp(1.3rem, 2vw, 1.55rem);
  font-weight: 600;
  letter-spacing: -.005em;
  line-height: 1.22;
}
.impressum-prose__item h4 {
  margin: 26px 0 10px;
  color: var(--color-brand-secondary);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
}
.impressum-prose__item h4:first-of-type {
  margin-top: 14px;
}
.impressum-prose__item p {
  margin: 0 0 14px;
  color: var(--color-text-muted);
  font-size: 1.04rem;
  line-height: 1.72;
}
.impressum-prose__list {
  margin: 0 0 16px;
  padding: 0 0 0 20px;
  list-style: disc;
}
.impressum-prose__list li {
  margin: 0 0 8px;
  color: var(--color-text-muted);
  font-size: 1.04rem;
  line-height: 1.72;
}
.impressum-prose__list li::marker {
  color: var(--color-brand-primary);
}
.impressum-prose__item p:last-child {
  margin-bottom: 0;
}
.impressum-prose__item a {
  color: var(--color-brand-secondary);
  text-decoration: none;
  background-image: linear-gradient(var(--color-brand-primary), var(--color-brand-primary));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
  transition: color .25s ease, background-size .3s ease;
}
.impressum-prose__item a:hover {
  color: var(--color-brand-primary);
  background-size: 100% 2px;
}
.impressum-prose__item strong {
  color: var(--color-brand-secondary);
  font-weight: 600;
}

/* --- Responsive --- */
@media (max-width: 900px) {
  .impressum-page { padding: 64px 0 88px; }
  .impressum-company { margin-bottom: 56px; }
  .impressum-company__list { grid-template-columns: 1fr; column-gap: 0; }
  .impressum-company__row { grid-template-columns: 1fr; gap: 6px; padding: 14px 0; }
  .impressum-company__row:nth-child(2) {
    border-top: 1px solid color-mix(in srgb, var(--color-brand-secondary) 10%, transparent);
  }
  .impressum-page__divider { margin-bottom: 44px; }
  .impressum-prose { gap: 44px; }
}
@media (max-width: 620px) {
  .impressum-page { padding: 52px 0 72px; }
  .impressum-company__name { margin-bottom: 28px; }
  .impressum-prose__item p { font-size: 1rem; line-height: 1.68; }
}

/* ============================================== */
/* KLD — WISSEN ARTIKEL DETAIL PAGE                */
/* (wissen-stahlzargen-din-18111.html template — blog detail)    */
/* ============================================== */

.kld-artikel {
  background: var(--color-bg-main);
  padding: 180px 0 72px;
}

/* ---- 1. Hero ---- */
.kld-artikel__hero {
  padding: 0 0 40px;
}
.kld-artikel__hero-inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.kld-artikel__kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 18px;
  margin-bottom: 24px;
  border: 1px solid color-mix(in srgb, var(--color-brand-secondary) 18%, transparent);
  border-radius: 999px;
  background: var(--color-bg-main);
  color: var(--color-brand-secondary);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.kld-artikel__title {
  margin: 0 0 24px;
  color: var(--color-brand-secondary);
  font-size: clamp(1.8rem, 3.4vw, 2.6rem);
  line-height: 1.18;
  font-weight: 600;
  letter-spacing: -.015em;
}
.kld-artikel__date {
  margin: 0;
  color: var(--color-text-muted);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* ---- 2. Cover image ---- */
.kld-artikel__cover {
  margin: 0 0 56px;
}
.kld-artikel__cover .container {
  border-radius: 24px;
  overflow: hidden;
}
.kld-artikel__cover img {
  display: block;
  width: 100%;
  height: clamp(280px, 42vw, 520px);
  object-fit: cover;
  border-radius: 24px;
}

/* ---- 3-9. Body wrapper ---- */
.kld-artikel__body {
  padding: 0;
}
.kld-artikel__body-inner {
  max-width: 760px;
  margin: 0 auto;
}

/* ---- 3. Lead ---- */
.kld-artikel__lead {
  margin: 0 0 48px;
  color: var(--color-brand-secondary);
  font-size: 1.08rem;
  line-height: 1.7;
  font-weight: 500;
}

/* ---- 4 & 6 & 8. H2 ---- */
.kld-artikel__h2 {
  margin: 0 0 22px;
  color: var(--color-brand-secondary);
  font-size: clamp(1.35rem, 2.2vw, 1.7rem);
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.25;
}

/* ---- 4 & 6 & 8. Prose ---- */
.kld-artikel__prose {
  margin: 0 0 56px;
}
.kld-artikel__prose p {
  margin: 0 0 16px;
  color: var(--color-text-muted);
  font-size: 1rem;
  line-height: 1.78;
}
.kld-artikel__prose p:last-child {
  margin-bottom: 0;
}
.kld-artikel__prose strong {
  color: var(--color-brand-secondary);
  font-weight: 600;
}
.kld-artikel__prose a {
  color: var(--color-brand-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ---- 5. Promo (2-card row) ---- */
.kld-artikel__promo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 0 0 56px;
}
.kld-artikel__promo-card {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 320px;
  padding: 36px 32px;
  border-radius: 22px;
  overflow: hidden;
  text-decoration: none;
}

/* ---- Dark card with image (navy bg + image, zoom hover) ---- */
.kld-artikel__promo-card--dark {
  background: var(--color-brand-secondary);
  padding: 0;
}
.kld-artikel__promo-card--dark img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  border-radius: 22px;
  display: block;
  transition: transform .9s cubic-bezier(0.2, 0.82, 0.2, 1);
}
.kld-artikel__promo-card--dark:hover img,
.kld-artikel__promo-card--dark:focus-visible img {
  transform: scale(1.06);
}

/* ---- Accent card (chartreuse with CTA, standard blue-paint hover) ---- */
.kld-artikel__promo-card--accent {
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
}
/* Bottom-right dot grows into blue paint on hover */
.kld-artikel__promo-card--accent::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: 26px;
  bottom: 26px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--color-brand-primary);
  opacity: 0;
  transition: right .9s cubic-bezier(0.2, 0.82, 0.2, 1),
              bottom .9s cubic-bezier(0.2, 0.82, 0.2, 1),
              width .9s cubic-bezier(0.2, 0.82, 0.2, 1),
              height .9s cubic-bezier(0.2, 0.82, 0.2, 1),
              opacity .35s ease,
              border-radius .9s cubic-bezier(0.2, 0.82, 0.2, 1);
}
.kld-artikel__promo-card--accent:hover::before,
.kld-artikel__promo-card--accent:focus-within::before {
  right: -22%;
  bottom: -32%;
  width: 160%;
  height: 180%;
  border-radius: 34px;
  opacity: 1;
}
.kld-artikel__promo-card--accent > * {
  position: relative;
  z-index: 1;
}

.kld-artikel__promo-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: auto;
}
.kld-artikel__promo-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--color-brand-secondary);
  color: var(--color-brand-accent);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: background .35s ease, color .35s ease;
}
.kld-artikel__promo-card--accent:hover .kld-artikel__promo-eyebrow,
.kld-artikel__promo-card--accent:focus-within .kld-artikel__promo-eyebrow {
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
}
.kld-artikel__promo-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--color-brand-secondary);
  font-size: 1.3rem;
  line-height: 1;
  transition: color .35s ease;
}
.kld-artikel__promo-card--accent:hover .kld-artikel__promo-badge,
.kld-artikel__promo-card--accent:focus-within .kld-artikel__promo-badge {
  color: var(--color-brand-accent);
}
.kld-artikel__promo-title {
  margin: 24px 0 28px;
  color: var(--color-brand-secondary);
  font-size: clamp(1.2rem, 1.8vw, 1.4rem);
  font-weight: 600;
  letter-spacing: -.005em;
  line-height: 1.25;
  transition: color .35s ease;
}
.kld-artikel__promo-card--accent:hover .kld-artikel__promo-title,
.kld-artikel__promo-card--accent:focus-within .kld-artikel__promo-title {
  color: var(--color-text-light);
}
.kld-artikel__promo-cta {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  border-radius: 999px;
  background: var(--color-brand-secondary);
  color: var(--color-text-light);
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: .01em;
  text-decoration: none;
  transition: background .35s ease, color .35s ease;
}
.kld-artikel__promo-card--accent:hover .kld-artikel__promo-cta,
.kld-artikel__promo-card--accent:focus-within .kld-artikel__promo-cta {
  background: var(--color-brand-accent);
  color: var(--color-brand-secondary);
}

/* ---- 7. Quote ---- */
.kld-artikel__quote {
  margin: 0 0 56px;
  padding: 44px 48px;
  border-radius: 24px;
  background: var(--color-card-bg-neutral, #EDEEF1);
  text-align: center;
}
.kld-artikel__quote-text {
  margin: 0 auto 24px;
  max-width: 560px;
  color: var(--color-brand-secondary);
  font-size: 1.08rem;
  line-height: 1.65;
  font-weight: 500;
  font-style: italic;
}
.kld-artikel__quote-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.kld-artikel__quote-author {
  color: var(--color-brand-secondary);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.kld-artikel__quote-share {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: var(--color-brand-secondary);
  font-size: 1rem;
  text-decoration: none;
  transition: color .25s ease;
}
.kld-artikel__quote-share:hover {
  color: var(--color-brand-primary);
}

/* ---- 8. Code list ---- */
.kld-artikel__codelist {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}
.kld-artikel__codelist li {
  margin: 0 0 8px;
  color: var(--color-text-muted);
  font-size: 1rem;
  line-height: 1.7;
}
.kld-artikel__codelist li strong {
  color: var(--color-brand-secondary);
  font-weight: 600;
}

/* ---- 9. Tags ---- */
.kld-artikel__tags {
  margin: 0 0 56px;
  text-align: center;
  color: var(--color-text-muted);
  font-size: .9rem;
}
.kld-artikel__tags span {
  margin-right: 6px;
  font-weight: 600;
  color: var(--color-brand-secondary);
}
.kld-artikel__tags a {
  color: var(--color-brand-primary);
  text-decoration: none;
  margin-right: 4px;
  transition: color .25s ease;
}
.kld-artikel__tags a:not(:last-child)::after {
  content: ",";
  color: var(--color-text-muted);
  margin-left: 0;
}
.kld-artikel__tags a:hover {
  color: var(--color-brand-secondary);
  text-decoration: underline;
}

/* ---- 10. Comments CTA ---- */
.kld-artikel__comments {
  padding: 40px 32px;
  border-radius: 22px;
  background: var(--color-card-bg-neutral, #EDEEF1);
  text-align: center;
}
.kld-artikel__comments-title {
  margin: 0 0 14px;
  color: var(--color-brand-secondary);
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: -.005em;
}
.kld-artikel__comments-link {
  display: inline-block;
  color: var(--color-text-muted);
  font-size: .92rem;
  text-decoration: none;
  transition: color .25s ease;
}
.kld-artikel__comments-link:hover {
  color: var(--color-brand-primary);
  text-decoration: underline;
}

/* ---- 11. Related articles ---- */
.kld-artikel-related {
  padding: 80px 0 100px;
  background: var(--color-card-bg-neutral, #EDEEF1);
}
.kld-artikel-related__head {
  margin: 0 0 40px;
}
.kld-artikel-related__pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 18px;
  margin-bottom: 18px;
  border: 1px solid color-mix(in srgb, var(--color-brand-secondary) 18%, transparent);
  border-radius: 999px;
  background: var(--color-bg-main);
  color: var(--color-brand-secondary);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.kld-artikel-related__title {
  margin: 0;
  color: var(--color-brand-secondary);
  font-size: clamp(1.7rem, 2.8vw, 2.2rem);
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.18;
}
.kld-artikel-related__title .accent {
  color: var(--color-brand-primary);
}
.kld-artikel-related__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
/* Modeled 1:1 on .kld-wissen__card (wissen.html listing) */
.kld-artikel-related__card {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  min-height: 560px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 22px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: border-color .3s ease;
}
.kld-artikel-related__card > *:not(.kld-artikel-related__arrow):not(::before) {
  position: relative;
  z-index: 1;
}
.kld-artikel-related__card::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: 30px;
  bottom: 30px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--color-brand-primary);
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease,
              width .9s cubic-bezier(.2, .82, .2, 1),
              height .9s cubic-bezier(.2, .82, .2, 1),
              right .9s cubic-bezier(.2, .82, .2, 1),
              bottom .9s cubic-bezier(.2, .82, .2, 1),
              transform .9s cubic-bezier(.2, .82, .2, 1),
              border-radius .9s cubic-bezier(.2, .82, .2, 1);
}
.kld-artikel-related__card:hover::before,
.kld-artikel-related__card:focus-within::before {
  right: -18%;
  bottom: -18%;
  width: 150%;
  height: 150%;
  border-radius: 36px;
  opacity: .98;
  transform: scale(1.04);
}

.kld-artikel-related__media {
  position: relative;
  width: 100%;
  padding: 18px 18px 0;
  background: transparent;
}
.kld-artikel-related__media-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 14px;
  background: var(--color-bg-soft);
}
.kld-artikel-related__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .55s cubic-bezier(.2, .82, .2, 1);
}
.kld-artikel-related__card:hover .kld-artikel-related__media img {
  transform: scale(1.05);
}

.kld-artikel-related__body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px 24px 68px;
}
.kld-artikel-related__category {
  color: var(--color-brand-primary);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1;
  transition: color .3s ease;
}
.kld-artikel-related__card:hover .kld-artikel-related__category {
  color: var(--color-brand-accent);
}
.kld-artikel-related__body h3 {
  margin: 0;
  color: var(--color-brand-secondary);
  font-size: 1.18rem;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -.005em;
  transition: color .3s ease;
}
.kld-artikel-related__card:hover .kld-artikel-related__body h3 {
  color: var(--color-text-light);
}

.kld-artikel-related__arrow {
  position: absolute;
  right: 22px;
  bottom: 22px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--color-brand-secondary);
  color: var(--color-brand-accent);
  font-size: 1rem;
  line-height: 1;
  z-index: 2;
  transition: background .3s ease,
              color .3s ease,
              transform .35s cubic-bezier(.2, .82, .2, 1);
}
.kld-artikel-related__card:hover .kld-artikel-related__arrow {
  background: var(--color-text-light);
  color: var(--color-brand-primary);
  transform: translate(2px, -2px) rotate(8deg);
}

/* ---- Responsive ---- */
@media (max-width: 900px) {
  .kld-artikel { padding: 140px 0 48px; }
  .kld-artikel__cover img { height: clamp(220px, 40vw, 360px); border-radius: 18px; }
  .kld-artikel__promo { grid-template-columns: 1fr; gap: 18px; }
  .kld-artikel__promo-card { min-height: 260px; }
  .kld-artikel__promo-card--dark img { min-height: 260px; }
  .kld-artikel__quote { padding: 36px 28px; }
  .kld-artikel-related { padding: 60px 0 80px; }
  .kld-artikel-related__grid { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 620px) {
  .kld-artikel { padding: 120px 0 36px; }
  .kld-artikel__hero { padding-bottom: 28px; }
  .kld-artikel__cover { margin-bottom: 40px; }
  .kld-artikel__lead { font-size: 1.02rem; margin-bottom: 36px; }
  .kld-artikel__prose { margin-bottom: 40px; }
  .kld-artikel__quote { padding: 30px 22px; }
  .kld-artikel__quote-text { font-size: 1rem; }
  .kld-artikel__comments { padding: 30px 22px; }
  .kld-artikel__comments-title { font-size: 1.15rem; }
}

/* ====================================================================== */
/* KLD — SITE-WIDE IMAGE ZOOM HOVER STANDARD                              */
/* ---------------------------------------------------------------------- */
/* All "content" images (inside cards, media frames, covers) zoom         */
/* gently on parent hover. Standard: scale(1.04), 0.6s easing.            */
/*                                                                        */
/* EXCLUDED:                                                              */
/*  - logos (site-logo, mobile-nav__logo, footer-brand, client-logos)     */
/*  - sidebar banner in contact-band (.contact-media img)                 */
/*  - masked SVG-style icons (.contact-panel__media)                      */
/*  - background-bleed images (.kld-history__media, .kld-vision__media)   */
/*  - decorative hero kapatı (.industry-experts__photo-mark)              */
/* ====================================================================== */

/* 1. Service cards (alle-leistungen.html grid) */
.kld-services__card img {
  transition: transform .6s cubic-bezier(.2, .82, .2, 1);
}
.kld-services__card:hover img,
.kld-services__card:focus-visible img {
  transform: scale(1.03);
}

/* 2. Wissen article cover (top hero image of article detail) */
.kld-artikel__cover {
  cursor: default;
}
.kld-artikel__cover img {
  transition: transform .6s cubic-bezier(.2, .82, .2, 1);
}
.kld-artikel__cover:hover img {
  transform: scale(1.03);
}

/* 3. Wissen related article cards (re-add zoom after blue-paint refactor) */
.kld-artikel-related__media img {
  transition: transform .6s cubic-bezier(.2, .82, .2, 1);
}
.kld-artikel-related__card:hover .kld-artikel-related__media img,
.kld-artikel-related__card:focus-visible .kld-artikel-related__media img {
  transform: scale(1.03);
}

/* 4. Industries trio photo (industries.html section) */
.industry-trio__photo img {
  transition: transform .6s cubic-bezier(.2, .82, .2, 1);
}
.industry-trio__photo:hover img {
  transform: scale(1.03);
}

/* 5. Industries experts photo */
.industry-experts__photo img {
  transition: transform .6s cubic-bezier(.2, .82, .2, 1);
}
.industry-experts__photo:hover img {
  transform: scale(1.03);
}

/* 6. Kontakt page form media */
.kld-kontakt-form-media__images img {
  transition: transform .6s cubic-bezier(.2, .82, .2, 1);
}
.kld-kontakt-form-media__images:hover img {
  transform: scale(1.03);
}

/* 7. Kontakt page bottom image */
.kld-kontakt-bottom__image img {
  transition: transform .6s cubic-bezier(.2, .82, .2, 1);
}
.kld-kontakt-bottom__image:hover img {
  transform: scale(1.03);
}

/* 8. Normalize existing zoom hovers to the site standard (1.03)         */
/*    Below selectors already define their own transition; we just align */
/*    the scale value so the whole site feels consistent.                */
.page-hero-media__frame:hover img { transform: scale(1.03); }
.kld-feature__media:hover img { transform: scale(1.03); }
.kld-wissen__card:hover .kld-wissen__media img { transform: scale(1.03); }
.kld-artikel__promo-card--dark:hover img,
.kld-artikel__promo-card--dark:focus-visible img { transform: scale(1.03); }
.home-page .feature-card:focus-within img,
.home-page .feature-card:hover img { transform: scale(1.03); }
.kld-artikel-related__card:hover .kld-artikel-related__media img { transform: scale(1.03); }


/* ==========================================================================
   KLD — Impressum page section
   --------------------------------------------------------------------------
   Layout: 3-col card grid (company + 2 side cards) + 2-col legal texts.
   ========================================================================== */
.kld-impressum{padding:80px 0 90px;background:var(--color-bg-soft,#f8f8f6)}
.kld-impressum__head{max-width:720px;margin:0 auto 48px;text-align:center}
.kld-impressum__eyebrow{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--color-border);border-radius:999px;padding:0 16px;color:var(--color-brand-secondary);background:var(--color-surface);font-size:.72rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin-bottom:16px}
.kld-impressum__title{margin:0 0 14px;color:var(--color-brand-secondary);font-size:clamp(2rem,3.5vw,3rem);line-height:1.08;font-weight:500;letter-spacing:-.01em}
.kld-impressum__subtitle{margin:0;color:var(--color-text-muted);font-size:1rem;line-height:1.55}
.kld-impressum__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:22px;margin-bottom:56px}
.kld-impressum__card{padding:30px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;display:flex;flex-direction:column;gap:10px}
.kld-impressum__card--company{gap:16px}
.kld-impressum__badge{display:inline-flex;align-self:flex-start;align-items:center;padding:5px 14px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-soft,#f8f8f6);color:var(--color-brand-secondary);font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.kld-impressum__company{margin:0 0 10px;color:var(--color-brand-secondary);font-size:1.4rem;font-weight:600;letter-spacing:-.005em}
.kld-impressum__contact{display:flex;flex-direction:column;gap:14px;margin:0}
.kld-impressum__row{display:grid;grid-template-columns:130px 1fr;align-items:start;gap:12px}
.kld-impressum__row dt{display:inline-flex;align-items:center;gap:8px;color:var(--color-text-muted);font-size:.85rem;font-weight:600;margin:0}
.kld-impressum__row dt i{color:var(--color-brand-primary);font-size:1.05rem}
.kld-impressum__row dd{margin:0;color:var(--color-brand-secondary);font-size:.95rem;line-height:1.5}
.kld-impressum__row dd a{color:var(--color-brand-secondary);text-decoration:none;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
.kld-impressum__row dd a:hover{color:var(--color-brand-primary);border-bottom-color:var(--color-brand-primary)}
.kld-impressum__label{margin:8px 0 4px;color:var(--color-text-muted);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.kld-impressum__label:first-of-type{margin-top:0}
.kld-impressum__value{margin:0;color:var(--color-brand-secondary);font-size:1.05rem;font-weight:600}
.kld-impressum__texts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}
.kld-impressum__text{padding:26px 28px 22px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px}
.kld-impressum__text h3{margin:0 0 10px;color:var(--color-brand-secondary);font-size:1.05rem;font-weight:700;letter-spacing:-.005em}
.kld-impressum__text p{margin:0 0 10px;color:var(--color-text-muted);font-size:.92rem;line-height:1.6}
.kld-impressum__text p:last-child{margin-bottom:0}
.kld-impressum__text a{color:var(--color-brand-primary);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--color-brand-primary) 40%,transparent);transition:color .2s ease,border-color .2s ease}
.kld-impressum__text a:hover{color:var(--color-brand-secondary);border-bottom-color:var(--color-brand-secondary)}
.kld-impressum__text strong{color:var(--color-brand-secondary);font-weight:700}
@media(max-width:1024px){
  .kld-impressum__grid{grid-template-columns:1fr 1fr}
  .kld-impressum__card--company{grid-column:1/-1}
  .kld-impressum__texts{grid-template-columns:1fr}
}
@media(max-width:620px){
  .kld-impressum{padding:56px 0 64px}
  .kld-impressum__grid{grid-template-columns:1fr;gap:16px;margin-bottom:36px}
  .kld-impressum__card{padding:24px 22px}
  .kld-impressum__row{grid-template-columns:1fr;gap:4px}
  .kld-impressum__text{padding:22px 20px 20px}
}

/* ============================================================
   KLD HYPHENATION — German long compound words
   Added: prevents overflow of Ausschreibungsunterstützung etc.
   Pure typographic rule, no visual side effects.
   ============================================================ */
h1, h2, h3, h4,
p,
[class*="__title"],
[class*="__heading"],
[class*="__copy"],
[class*="__name"] {
  hyphens: auto;
  -webkit-hyphens: auto;
  overflow-wrap: break-word;
}

/* ============================================================
   KLD ACTIVE NAV STATE — current page indicator
   Highlights active page in desktop nav, dropdown, and mobile nav.
   Uses existing hover colors — no new palette.
   ============================================================ */
@media (min-width: 1024px) {
  .home-page .dropdown a.is-active,
  body:not(.home-page) .dropdown a.is-active {
    background: var(--color-dropdown-hover-bg);
    color: var(--color-dropdown-hover-text);
  }
  .home-page .dropdown a.is-active:after,
  body:not(.home-page) .dropdown a.is-active:after {
    content: "\ea70";
    font-family: "remixicon";
    position: absolute;
    right: 16px;
    top: 50%;
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--color-button-dark-bg);
    color: var(--color-button-dark-text);
    font-size: .85rem;
    transform: translateY(-50%);
  }
  .home-page .dropdown a.is-active:last-child,
  body:not(.home-page) .dropdown a.is-active:last-child {
    background: var(--color-brand-secondary);
    color: var(--color-text-light);
  }

  .home-page .mega-column a.is-active,
  body:not(.home-page) .mega-column a.is-active {
    color: var(--color-dropdown-hover-text);
  }
  .home-page .mega-column a.is-active:before,
  body:not(.home-page) .mega-column a.is-active:before {
    opacity: 1;
  }
  .home-page .mega-column a.is-active:after,
  body:not(.home-page) .mega-column a.is-active:after {
    opacity: 1;
    transform: translateY(-50%) scale(1);
  }
}

.kld-mobile-nav__sublink.is-active {
  color: rgba(255, 255, 255, 1);
  background: rgba(255, 255, 255, 0.06);
  border-left: 2px solid var(--color-brand-accent);
  padding-left: 26px;
  font-weight: 600;
}
