@font-face{font-family:Poppins;src:url("../../assets/fonts/poppins-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("../../assets/fonts/poppins-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("../../assets/fonts/poppins-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("../../assets/fonts/poppins-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("../../assets/fonts/poppins-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("../../assets/fonts/poppins-900.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:Sora;src:url("../../assets/fonts/sora-variable.woff2") format("woff2");font-weight:100 800;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../../assets/fonts/dm-sans-variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
    --container:1400px;
    --hero-container:1600px;
    --brand:#e8a407;
    --brand-bright:#f1b51c;
    --brand-deep:#b97800;
    --ink:#171817;
    --graphite:#232522;
    --graphite-2:#30332f;
    --paper:#f7f5ef;
    --white:#fff;
    --muted:#666a64;
    --line:rgba(23,24,23,.15);
    --shadow:0 24px 70px rgba(16,17,16,.14);
    --surface-bg:var(--paper);
    --surface-fg:var(--ink);
    --surface-muted:#5c605a;
    --surface-line:rgba(23,24,23,.16);
    --interactive-bg:var(--ink);
    --interactive-fg:var(--white);
    --interactive-accent:var(--brand);
    --dark-section-background:radial-gradient(circle at 23% 22%,rgba(255,255,255,.045),transparent 31%),linear-gradient(118deg,#444444 0%,#201e1e 55%,#111415 100%);
    --header-height:82px;
    --section-space-y:125px;
    --side-pad:36px;
    --font-section-title:Sora,Poppins,Arial,sans-serif;
    --font-section-copy:Poppins,Arial,sans-serif;
    --type-section-title:46px;
    --type-section-title-weight:760;
    --type-section-title-line-height:1.12;
    --type-section-title-letter-spacing:-1.4px;
    --type-section-copy:16px;
    --type-section-copy-weight:500;
    --type-section-copy-line-height:1.5;
    --type-section-copy-letter-spacing:0;
    --type-card-title:18px;
    --type-compact-title:16px;
    --type-cta-copy:16px;
    --type-action:16px;
    --section-cta-height:88px;
    --section-cta-height-roomy:92px;
    --radius-ui:3px;
}

*,*::before,*::after{box-sizing:border-box}
html{width:var(--viewport-width,100%);min-width:100%;overflow-x:hidden;scroll-behavior:smooth;background:var(--ink);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;min-width:0;margin:0;background:var(--paper);color:var(--ink);font-family:Poppins,Arial,sans-serif;font-size:18px;line-height:1.68;overflow-x:hidden}
.legal-page{--type-section-copy:18px}
html{scrollbar-width:thin;scrollbar-color:var(--brand) #0b0d0e}
html::-webkit-scrollbar{width:12px}
html::-webkit-scrollbar-track{background:linear-gradient(180deg,#080a0b,#1b1d1c);border-left:1px solid rgba(244,176,0,.18)}
html::-webkit-scrollbar-thumb{min-height:72px;background:linear-gradient(180deg,#ffc228 0%,#f4b000 55%,#d78f00 100%);border:3px solid #0b0d0e;border-radius:2px}
html::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffd05a 0%,#ffba12 100%)}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
svg.icon{display:block;width:24px;height:24px;flex:0 0 24px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
p,h1,h2,h3,h4,ul,ol,figure{margin-top:0}
p:last-child{margin-bottom:0}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:16px;top:12px;z-index:10000;background:var(--brand);color:var(--ink);padding:12px 18px;transform:translateY(-150%);transition:transform .2s ease;font-size:16px;font-weight:700}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--brand-bright);outline-offset:4px}

[data-surface-tone="light"],[data-theme="light"]{
    --surface-bg:var(--paper);--surface-fg:var(--ink);--surface-muted:#5c605a;--surface-line:rgba(23,24,23,.16);
    --interactive-bg:var(--ink);--interactive-fg:var(--white);--interactive-accent:var(--brand-deep)
}
[data-surface-tone="dark"],[data-theme="dark"]{
    --surface-bg:var(--ink);--surface-fg:var(--paper);--surface-muted:#c8c8c0;--surface-line:rgba(255,255,255,.18);
    --interactive-bg:var(--brand);--interactive-fg:var(--ink);--interactive-accent:var(--brand-bright)
}
[data-surface-tone="accent"],[data-theme="accent"]{
    --surface-bg:var(--brand);--surface-fg:var(--ink);--surface-muted:#302a1a;--surface-line:rgba(23,24,23,.26);
    --interactive-bg:var(--ink);--interactive-fg:var(--white);--interactive-accent:var(--white)
}

h1,h2,h3,h4{font-family:Sora,Poppins,sans-serif;color:inherit;line-height:1.15;text-wrap:balance}
.hero h1{font-size:50px;font-weight:760;letter-spacing:-1.6px;max-width:900px;margin-bottom:0;overflow-wrap:break-word;word-break:normal;hyphens:auto}
.content-section h2{font-family:var(--font-section-title);font-size:var(--type-section-title);font-weight:var(--type-section-title-weight);line-height:var(--type-section-title-line-height);letter-spacing:var(--type-section-title-letter-spacing);margin-bottom:20px}
.content-section .section-h1{font-family:var(--font-section-title);font-size:var(--type-section-title);font-weight:var(--type-section-title-weight);line-height:var(--type-section-title-line-height);letter-spacing:var(--type-section-title-letter-spacing);margin-bottom:20px}
.module-card h3,.reference-card h2{font-size:var(--type-card-title);font-weight:700;line-height:1.3;letter-spacing:-.2px;margin-bottom:12px}
.footer-links h2{font-size:21px;font-weight:700;line-height:1.3;letter-spacing:-.2px;margin-bottom:12px}
.module-card h3,.reference-card h2{max-width:100%;overflow-wrap:break-word;word-break:normal;hyphens:auto}
.reference-card h2{font-family:Sora,Poppins,sans-serif}
.section-lead{font-family:var(--font-section-copy);font-size:var(--type-section-copy);font-weight:var(--type-section-copy-weight);line-height:var(--type-section-copy-line-height);letter-spacing:var(--type-section-copy-letter-spacing)}
.hero-copy-zone p,.footer-brand p,.footer-links a,.footer-links span,.contact-form{font-size:18px}
.section-cta p{font-size:var(--type-cta-copy)}
.module-card p,.legal-page .module-card p{font-size:var(--type-section-copy)}
.section-lead{color:var(--surface-muted);max-width:820px;margin-bottom:0}

.header-container,.footer-container,.section-inner{width:min(100%,var(--container));margin-inline:auto;padding-inline:var(--side-pad)}
.hero-grid{width:min(100%,var(--hero-container));margin-inline:auto;padding-inline:var(--side-pad)}
.section-inner,.hero-grid,.footer-container{padding-right:88px}

.site-header{position:relative;z-index:100;width:100%;max-width:none;background:var(--white);color:var(--surface-fg);border-bottom:0}
.site-header.is-sticky{position:sticky;top:0}
.header-main{width:100%;max-width:none;background:var(--white);color:var(--surface-fg)}
.header-main .header-container{min-height:var(--header-height);display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr) 210px;align-items:center;gap:32px}
.brand{display:flex;align-items:center;justify-self:start;width:min(100%,320px);min-width:0;color:inherit}
.brand-logo{display:block;width:clamp(250px,19vw,320px);height:auto;overflow:visible;color:inherit}
.brand-logo__mark-part{transform-box:fill-box;transform-origin:center;will-change:clip-path,opacity,filter}
.brand-logo__mark-upper{animation:brand-logo-mark-upper .72s cubic-bezier(.22,1,.36,1) .08s both}
.brand-logo__mark-lower{animation:brand-logo-mark-lower .72s cubic-bezier(.22,1,.36,1) .44s both}
.brand-logo__reveal{transform-box:fill-box;transform-origin:left center;animation:brand-logo-reveal 1.7s cubic-bezier(.22,1,.36,1) 1.16s both}
.brand-logo__wordmark{transform-box:fill-box;transform-origin:left center;animation:brand-logo-wordmark 1.7s cubic-bezier(.22,1,.36,1) 1.16s both}
.brand-logo__light-sweep{pointer-events:none;mix-blend-mode:screen}
.primary-nav{min-width:0;width:100%;justify-self:stretch}
.nav-rail{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:16px;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.nav-rail::-webkit-scrollbar{display:none}
.nav-service{display:flex;flex:0 0 auto}
.nav-link{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 15px;border:0;border-radius:var(--radius-ui);background:transparent;color:inherit;font-family:Poppins,sans-serif;font-size:13px;font-weight:600;letter-spacing:.1px;white-space:nowrap;flex:0 0 auto}
.nav-link::after{content:"";position:absolute;left:15px;right:15px;bottom:6px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:right;transition:transform .25s ease}
.nav-link:hover::after,.nav-link.is-active::after,.nav-service.is-active .nav-link::after{transform:scaleX(1);transform-origin:left}
.nav-link:hover{color:var(--interactive-accent)}
.nav-chevron{width:11px!important;height:11px!important;flex-basis:11px!important;transform:rotate(90deg);transition:transform .25s ease}
.nav-service-toggle[aria-expanded="true"] .nav-chevron{transform:rotate(-90deg)}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--surface-line);border-radius:var(--radius-ui);background:transparent;align-items:center;justify-content:center}
.nav-toggle__close{display:none}
.nav-toggle[aria-expanded="true"] .nav-toggle__open{display:none}
.nav-toggle[aria-expanded="true"] .nav-toggle__close{display:block}
.header-cta{justify-self:end;flex:0 0 auto}
.header-cta .btn__icon{width:30px;height:30px}
.header-cta .btn__icon svg{width:14px;height:14px}
.service-submenu{position:absolute;left:0;right:0;top:100%;z-index:90;background:var(--ink);color:var(--paper);border-top:1px solid rgba(255,255,255,.12);box-shadow:0 34px 60px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(-14px);transition:opacity .24s ease,transform .24s ease,visibility .24s}
.service-submenu.is-open{opacity:1;visibility:visible;transform:none}
html:not(.js) .service-submenu{position:relative;top:auto;opacity:1;visibility:visible;transform:none}
.submenu-shell{width:min(100%,var(--container));margin:auto;padding:34px var(--side-pad) 38px;display:grid;grid-template-columns:260px 1fr;gap:34px}
.submenu-intro{border-right:1px solid rgba(255,255,255,.18);padding-right:28px}
.submenu-intro strong{display:block;color:var(--brand);font-family:Sora,sans-serif;font-size:21px;line-height:1.35;margin-bottom:10px}
.submenu-intro p{font-size:15px;line-height:1.55;color:#c9cbc6}
.submenu-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.submenu-links>a{display:grid;grid-template-columns:42px 1fr 20px;align-items:start;gap:12px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-ui);background:rgba(255,255,255,.025);min-width:0;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.submenu-links>a:hover{background:rgba(232,164,7,.12);border-color:var(--brand);transform:translateY(-2px)}
.submenu-icon{display:grid;place-items:center;width:42px;height:42px;background:var(--brand);color:var(--ink);clip-path:none;border-radius:0}
.submenu-links strong{display:block;font-size:15px;line-height:1.35;margin-bottom:5px}
.submenu-links small{display:block;font-size:12px;line-height:1.45;color:#bfc2bc;white-space:normal}
.submenu-arrow{width:18px!important;height:18px!important;flex-basis:18px!important;margin-top:12px;color:var(--brand)}

.btn{--btn-bg:var(--interactive-bg);--btn-fg:var(--interactive-fg);--btn-accent:var(--interactive-accent);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:50px;padding:6px 4px 6px 18px;border:0;border-radius:var(--radius-ui);background:transparent;color:var(--surface-fg);font-family:Poppins,sans-serif;font-size:14px;font-weight:700;line-height:1.2;overflow:hidden;clip-path:none;transition:color .25s ease,transform .18s ease,box-shadow .25s ease}
.btn__light-sweep{position:absolute;z-index:3;top:-60%;bottom:-60%;left:-55%;width:38%;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 0%,rgba(255,224,126,.08) 22%,rgba(255,248,220,.78) 50%,rgba(255,202,48,.18) 78%,transparent 100%);filter:blur(4px);transform:translate3d(-220%,0,0) skewX(-18deg);mix-blend-mode:screen}
.btn__label,.btn__icon{position:relative;z-index:2}
.btn__icon{width:36px;height:36px;display:grid;place-items:center;background:transparent;color:var(--btn-accent);transition:transform .25s ease,color .25s ease}
.btn__icon svg{width:19px;height:19px}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.16)}
.btn:hover>.btn__light-sweep{animation:brand-button-light-sweep 1.2s cubic-bezier(.35,0,.2,1) 1}
.btn:hover .btn__icon{transform:translateX(4px)}
.btn:active{transform:translateY(1px)}
.btn--secondary{--btn-bg:transparent;--btn-fg:var(--surface-fg);border-color:var(--surface-line)}
.btn--secondary .btn__icon{background:transparent;color:var(--interactive-accent)}
.btn--card{margin-top:18px;min-height:44px;padding:8px 14px 8px 17px;font-size:14px}
.content-section .btn,.content-section .btn--card{font-size:var(--type-action)}
.btn--card .btn__icon{width:26px;height:26px}
.button-row{display:flex;flex-wrap:wrap;gap:12px}

.hero{position:relative;min-height:720px;background:var(--ink);color:var(--paper);overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media picture,.hero-image{width:100%;height:100%}
.hero-image{object-fit:cover;object-position:center}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,16,15,.92) 0%,rgba(15,16,15,.72) 42%,rgba(15,16,15,.15) 75%),linear-gradient(0deg,rgba(15,16,15,.56),transparent 50%)}
.hero-grid{position:relative;z-index:2;min-height:720px;padding-top:100px;padding-bottom:92px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);grid-template-areas:"title title" "copy benefits" "cta benefits";align-content:center;gap:28px 60px}
.hero-grid>*{min-width:0}
.hero-title-zone{grid-area:title;max-width:950px}
.hero-copy-zone{grid-area:copy;max-width:720px}
.hero-copy-zone p{line-height:1.7;color:#ecece6;margin:0}
.hero-benefits{grid-area:benefits;align-self:center;list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hero-benefits li{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;background:rgba(23,24,23,.7);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-ui);backdrop-filter:blur(10px);font-size:16px;line-height:1.45}
.hero-benefits svg{width:19px;height:19px;flex-basis:19px;color:var(--brand);margin-top:2px}
.hero-cta{grid-area:cta;max-width:760px}
.hero-cta>p{line-height:1.65;color:#d2d4ce;margin-bottom:22px}

.content-section{position:relative;padding:var(--section-space-y) 0;background:var(--surface-bg);color:var(--surface-fg);overflow:hidden}
.content-section[data-theme="dark"]{background:var(--dark-section-background)}
.content-section[data-theme="accent"]{background:var(--brand)}
.section-paint{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(90deg,var(--surface-line) 1px,transparent 1px);background-size:120px 100%;mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent);opacity:.24}
.section-layout{position:relative;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);grid-template-areas:"head head" "media modules" "cta cta";gap:54px 64px;align-items:start}
.section-heading{grid-area:head;max-width:960px}
.section-media{grid-area:media;min-width:0;position:relative;overflow:hidden;box-shadow:var(--shadow);clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%)}
.section-media::after{content:"";position:absolute;inset:auto 0 0;height:7px;background:var(--brand)}
.section-image{width:100%;aspect-ratio:4/3;object-fit:cover}
.section-modules{grid-area:modules;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-width:0}
.module-card{position:relative;min-width:0;background:color-mix(in srgb,var(--surface-bg) 92%,var(--surface-fg) 8%);border:1px solid var(--surface-line);border-radius:var(--radius-ui);overflow:hidden}
.module-body{padding:24px}
.module-image{overflow:hidden;margin:0;border-bottom:1px solid var(--surface-line)}
.card-image{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.module-card:has(a):hover .card-image{transform:scale(1.035)}
.module-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:22px;background:var(--brand);color:var(--ink);clip-path:none;border-radius:0}
.module-icon svg{width:24px;height:24px}
.module-meta{display:block;font-family:Sora,sans-serif;font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.7px;text-transform:uppercase;color:var(--brand-deep);margin-bottom:12px}
[data-theme="dark"] .module-meta{color:var(--brand)}
.module-card p{color:var(--surface-muted);line-height:1.65;margin-bottom:0;white-space:pre-line}
.section-cta{grid-area:cta;position:relative;display:grid;grid-template-columns:240px minmax(0,1fr) minmax(280px,320px);align-items:center;gap:0;min-height:var(--section-cta-height);padding:0;overflow:hidden;border:0;border-radius:var(--radius-ui);background:linear-gradient(105deg,#121617 0%,#080b0c 100%);color:#fff}
.section-cta__mark{position:relative;align-self:stretch;display:grid;place-items:center;min-width:0;overflow:hidden;color:var(--brand)}
.section-cta__mark::before{content:"";position:absolute;inset:0 auto 0 0;width:128px;background:linear-gradient(135deg,#ffc11f,var(--brand));clip-path:polygon(0 0,100% 0,48% 100%,0 100%)}
.section-cta__mark::after{content:"";position:absolute;top:-43px;right:26px;width:2px;height:190px;background:var(--brand);transform:rotate(31deg);transform-origin:center}
.section-cta__mark-icon{position:absolute;z-index:1;top:50%;left:64px;display:block;width:32px;height:32px;color:#111516;transform:translate(-50%,-50%)}
.section-cta p{max-width:780px;margin:0;padding:18px 34px;color:#f2f2ed;line-height:1.45}
.section-cta>.btn{min-height:54px;margin:16px 18px 16px 0;padding:8px 18px 8px 26px;border:0;border-radius:var(--radius-ui);background:linear-gradient(135deg,#ffc11f,var(--brand));color:#121514;font-size:var(--type-action)}
.section-cta>.btn .btn__icon{color:#121514}

/* Horizontale Section-CTA-Leisten: rahmenlose Aktionsbuttons und klarer Blitzkontrast. */
.section-cta>.btn,
.reference-projects__cta-band .reference-projects__button,
.about-reference__cta .about-reference__cta-button,
.advantages-reference__cta .advantages-reference__cta-button,
.process-reference__cta .process-reference__cta-button,
.services-reference__cta .services-reference__cta-button,
.partners-productworlds__cta .partners-productworlds__cta-button,
.reviews-reference__cta .reviews-reference__cta-button,
.contact-project-reference__cta-band .contact-project-reference__cta-button{
    border:0;
}

.section-cta .section-cta__mark-icon,
.reference-projects__cta-band .reference-projects__cta-zap,
.about-reference__cta .about-reference__cta-icon,
.about-reference__cta .about-reference__zap,
.advantages-reference__cta .advantages-reference__cta-zap,
.process-reference__cta .process-reference__cta-icon,
.services-reference__cta .services-reference__cta-mark .icon,
.partners-productworlds__cta .partners-productworlds__cta-zap,
.partners-productworlds__cta .partners-productworlds__cta-zap .icon,
.reviews-reference__cta .reviews-reference__cta-zap,
.reviews-reference__cta .reviews-reference__cta-zap-icon,
.contact-project-reference__cta-band .contact-project-reference__cta-icon{
    color:#111516;
}
.section--about .section-modules,.section--quick-benefits .section-modules,.section--values .section-modules{grid-template-columns:repeat(2,minmax(0,1fr))}
.section--services .section-layout,.section--references .section-layout,.section--process .section-layout,.section--advantages .section-layout,.section--reviews .section-layout,.section--legal .section-layout,.section--reference-gallery .section-layout,.section--form .section-layout{grid-template-columns:1fr;grid-template-areas:"head" "modules" "cta"}
.section--services .section-modules{grid-template-columns:repeat(3,minmax(0,1fr))}
.section--references .section-modules{grid-template-columns:repeat(4,minmax(0,1fr))}
.section--references .module-body{padding:21px}
.section--process .section-modules{grid-template-columns:repeat(5,minmax(0,1fr));counter-reset:step}
.section--process .module-card{background:rgba(23,24,23,.94);color:var(--paper);border-color:rgba(23,24,23,.3)}
.section--process .module-meta{font-size:32px;color:var(--brand);margin-bottom:40px}
.section--process .module-card p{color:#d4d4ce}
.section--advantages .section-modules{grid-template-columns:repeat(3,minmax(0,1fr))}
.section--service-details .section-modules{grid-template-columns:repeat(2,minmax(0,1fr))}
.section--reviews .section-modules{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:14px}
.section--reviews .module-card{flex:0 0 min(420px,84vw);scroll-snap-align:start}
.section--reviews .module-icon{background:transparent;color:var(--brand);clip-path:none;width:auto;height:auto;justify-content:start}
.section--reviews .module-icon svg{fill:var(--brand)}
.section--contact .section-modules,.section--contact-intro .section-modules{grid-template-columns:repeat(2,minmax(0,1fr))}
.section--contact-intro .section-modules{grid-template-columns:repeat(3,minmax(0,1fr))}
.section--legal .section-modules{grid-template-columns:repeat(2,minmax(0,1fr))}
.section--legal .module-card{min-height:260px}

.section--partners{background:var(--dark-section-background);color:var(--paper)}
.section--partners .section-layout{grid-template-columns:1fr;grid-template-areas:"head" "modules" "cta"}
.partner-grid{grid-area:modules;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.partner-logo{min-height:112px;display:grid;place-items:center;padding:19px;background:var(--paper);border:1px solid rgba(255,255,255,.14);clip-path:none;border-radius:var(--radius-ui)}
.partner-logo img{width:100%;height:70px;object-fit:contain;filter:grayscale(1);transition:filter .25s ease,transform .25s ease}
.partner-logo:hover img{filter:none;transform:scale(1.04)}
.partner-logo span{display:block;margin-top:9px;color:var(--ink);font-size:12px;font-weight:700;line-height:1.25}

.module-select{position:absolute;z-index:5;right:10px;top:10px;width:38px;height:38px;padding:0;border:1px solid var(--surface-line);border-radius:var(--radius-ui);background:var(--surface-bg);color:var(--surface-fg);display:grid;place-items:center;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}
.module-select svg{width:17px;height:17px}
.module-select:hover,.module-select[aria-pressed="true"]{background:var(--brand);color:var(--ink);border-color:var(--brand)}
.module-select:hover{transform:translateY(-2px)}
.module-card.is-selected{border-color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand)}
.section-explorer{grid-area:explorer;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:stretch;border:1px solid var(--surface-line);border-radius:var(--radius-ui);background:color-mix(in srgb,var(--surface-bg) 92%,var(--surface-fg) 8%);padding:18px}
.section-explorer__controls{display:flex;align-items:center;align-content:flex-start;flex-wrap:wrap;gap:8px;min-width:142px}
.section-explorer__position{font-family:Sora,sans-serif;font-size:13px;font-weight:750;letter-spacing:.7px;min-width:62px;text-align:center}
.rail-control{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--surface-line);border-radius:var(--radius-ui);background:transparent;color:var(--surface-fg);transition:background .2s ease,color .2s ease,transform .2s ease}
.rail-control svg{width:17px;height:17px}
.rail-control:hover{background:var(--brand);color:var(--ink);border-color:var(--brand);transform:translateY(-2px)}
.explorer-action{min-height:40px;padding:7px 13px;border:1px solid var(--surface-line);border-radius:var(--radius-ui);background:transparent;color:var(--surface-fg);font-size:11px;font-weight:700;transition:background .2s ease,color .2s ease}
.explorer-action:hover{background:var(--surface-fg);color:var(--surface-bg)}
.section-explorer__copy{min-width:0;border-left:1px solid var(--surface-line);padding:4px 8px 4px 24px}
.section-explorer__copy strong{display:block;font-family:Sora,sans-serif;font-size:var(--type-card-title);line-height:1.3;margin-bottom:8px}
.section-explorer__copy p{color:var(--surface-muted);font-size:var(--type-section-copy);line-height:1.65;margin:0}
.section-explorer__copy small{display:block;color:var(--surface-muted);font-size:14px;line-height:1.5;margin-top:10px}
.section-explorer.is-updating .section-explorer__copy{animation:explorer-switch .36s ease both}
.explorer-link{display:inline-flex;align-items:center;gap:9px;margin-top:14px;color:var(--interactive-accent);font-size:15px;font-weight:750}
.explorer-link[hidden]{display:none!important}
.explorer-link svg{width:18px;height:18px;transition:transform .2s ease}
.explorer-link:hover svg{transform:translateX(4px)}
.partner-filters{grid-area:filters;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.partner-filters::-webkit-scrollbar,.partner-grid::-webkit-scrollbar,.section--interactive .section-modules::-webkit-scrollbar{display:none}
.partner-grid{scrollbar-width:none}
.partner-logo{font:inherit;cursor:pointer}
.partner-logo[hidden]{display:none!important}
.partner-logo.is-selected{border-color:var(--brand);box-shadow:inset 0 0 0 3px var(--brand)}
.reference-result{display:flex;align-items:center;flex:0 0 auto;padding:0 10px;color:var(--surface-muted);font-size:14px;font-weight:650}
.section--reviews:not(.is-expanded) .module-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.section--interactive .section-modules{scrollbar-width:none}

.site-footer{position:relative;background:var(--ink);color:var(--paper);padding:92px 0 30px;overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 0 72%,rgba(232,164,7,.09) 72% 100%),repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.035) 119px 120px)}
.footer-container{position:relative;display:grid;grid-template-columns:330px 1fr;gap:80px}
.footer-prompt{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr) auto;grid-template-areas:"tag text action" "title text action";gap:10px 38px;align-items:center;padding:0 0 42px;border-bottom:1px solid rgba(255,255,255,.15)}
.footer-prompt>.module-meta{grid-area:tag;margin:0}
.footer-prompt h2{grid-area:title;font-size:32px;margin:0}
.footer-prompt p{grid-area:text;color:#c7c9c3;font-size:18px;line-height:1.65;margin:0}
.footer-prompt .btn{grid-area:action}
.footer-brand img{width:240px;height:76px;object-fit:contain;object-position:left;margin-bottom:26px}
.footer-brand p{color:#c7c9c3;line-height:1.7}
.footer-links{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.footer-links>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-links h2{color:var(--brand);margin:0 0 12px}
.footer-links a,.footer-links span{color:#d5d7d1;line-height:1.55;transition:color .2s ease}
.footer-links a:hover{color:var(--brand)}
.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:25px;margin-top:16px;display:flex;justify-content:space-between;gap:24px;font-size:14px;color:#aeb1aa}
.footer-bottom a{display:flex;align-items:center;gap:8px}
.footer-bottom svg{width:16px;height:16px}

.variant-dock{position:fixed;right:14px;top:50%;z-index:700;width:54px;padding:8px 6px;background:rgba(23,24,23,.95);color:var(--paper);border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 45px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translate(18px,-50%);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.variant-dock.is-dock-active{opacity:1;visibility:visible;transform:translate(0,-50%)}
.variant-dock__label{display:block;font-family:Sora,sans-serif;font-size:10px;line-height:1.2;text-align:center;color:var(--brand);writing-mode:vertical-rl;transform:rotate(180deg);max-height:82px;overflow:hidden;margin:4px auto 8px}
.variant-dock__numbers{display:grid;grid-template-columns:repeat(2,1fr);gap:3px}
.variant-dock button{width:19px;height:24px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-ui);background:transparent;color:var(--paper);font-size:10px;font-weight:700;line-height:1}
.variant-dock button:hover,.variant-dock button.is-active{background:var(--brand);color:var(--ink);border-color:var(--brand)}

.reference-filter{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
.filter-button{flex:0 0 auto;min-height:44px;padding:8px 15px;border:1px solid var(--surface-line);border-radius:var(--radius-ui);background:transparent;color:var(--surface-fg);display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}
.filter-button svg{width:17px;height:17px}
.filter-button:hover,.filter-button.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:18px}
.reference-card[hidden]{display:none!important}

.contact-form{grid-area:modules;max-width:1120px;width:100%;margin:auto}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:650}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:56px;padding:14px 16px;border:1px solid #b9bbb4;background:#fff;color:var(--ink);font-size:18px;border-radius:0;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.form-grid textarea{min-height:180px;resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--brand-deep);box-shadow:0 0 0 3px rgba(232,164,7,.2);outline:none}
.form-grid input.is-filled,.form-grid select.is-filled,.form-grid textarea.is-filled{background:#fffdf6;border-color:#7f827b}
.form-grid label.has-error input,.form-grid label.has-error select,.form-grid label.has-error textarea{border-color:#b42a1f;background:#fff8f7}
.field-error{display:none;color:#9c2118;font-size:13px;font-weight:600}
.has-error .field-error{display:block}
.form-wide{grid-column:1/-1}
.file-field{border:1px dashed #9a9d96;padding:22px;background:#fff}
.file-field>span{display:flex;align-items:center;gap:10px;font-size:16px}
.file-field input{padding:10px;background:transparent;border:0;min-height:auto;font-size:15px}
.file-field small{font-size:13px;color:var(--muted)}
.check-field{display:grid!important;grid-template-columns:24px 1fr;align-items:start}
.check-field input{width:22px;height:22px;min-height:0;margin-top:4px;accent-color:var(--brand-deep)}
.check-field span{font-size:15px;font-weight:500}
.check-field a{text-decoration:underline}
.check-field .field-error{grid-column:2}
.form-submit{margin-top:34px}
.form-submit button:disabled{opacity:.58;cursor:wait;transform:none}
.form-status{display:none;margin-top:24px;padding:18px 20px;border-left:5px solid var(--brand);background:#fff;color:var(--ink);font-size:16px;font-weight:600}
.form-status.is-visible{display:flex;align-items:center;gap:12px}
.form-status.is-success{border-color:#2d7d46;background:#f1fff5}
.form-status.is-error{border-color:#b42a1f;background:#fff7f5}
.form-status svg{flex:0 0 24px}

.reveal-ready .section-heading,.reveal-ready .section-media,.reveal-ready .module-card,.reveal-ready .section-cta{opacity:0;transform:translateY(24px)}
.reveal-ready.is-revealed .section-heading,.reveal-ready.is-revealed .section-media,.reveal-ready.is-revealed .module-card,.reveal-ready.is-revealed .section-cta{opacity:1;transform:none;transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.2,1)}
.reveal-ready.is-revealed .module-card:nth-child(2){transition-delay:.07s}
.reveal-ready.is-revealed .module-card:nth-child(3){transition-delay:.14s}
.reveal-ready.is-revealed .module-card:nth-child(4){transition-delay:.21s}
.reveal-ready.is-revealed .module-card:nth-child(5){transition-delay:.28s}
.reveal-ready.is-revealed .module-card:nth-child(6){transition-delay:.35s}

@keyframes circuit-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes contact-in{0%{clip-path:inset(0 100% 0 0)}100%{clip-path:inset(0)}}
@keyframes rise-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes iris-in{from{clip-path:circle(0 at 70% 50%)}to{clip-path:circle(90% at 70% 50%)}}
@keyframes slide-rail{from{transform:translateX(-35px);opacity:0}to{transform:none;opacity:1}}
@keyframes fold-in{from{transform:perspective(700px) rotateX(-12deg);opacity:0}to{transform:none;opacity:1}}
@keyframes pulse-node{50%{box-shadow:0 0 0 8px rgba(232,164,7,.14)}}
@keyframes explorer-switch{from{opacity:.22;transform:translateX(14px)}to{opacity:1;transform:none}}
@keyframes brand-logo-mark-upper{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes brand-logo-mark-lower{from{opacity:0;clip-path:inset(100% 0 0 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes brand-logo-reveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes brand-logo-wordmark{from{opacity:.06;transform:translateX(-150px)}to{opacity:1;transform:translateX(0)}}
@keyframes brand-button-light-sweep{0%{opacity:0;transform:translate3d(-220%,0,0) skewX(-18deg)}12%{opacity:.35}48%{opacity:1}100%{opacity:0;transform:translate3d(520%,0,0) skewX(-18deg)}}

@media (max-width:1200px){
    :root{--side-pad:28px}
    .header-main .header-container{grid-template-columns:240px minmax(0,1fr);gap:20px}
    .brand{width:240px}.brand-logo{width:240px}
    .nav-link{padding-inline:10px;font-size:12px}
    .header-cta{display:none}
    .section-layout{gap:44px 40px}
    .section--references .section-modules{grid-template-columns:repeat(2,minmax(0,1fr))}
    .section--process .section-modules{grid-template-columns:repeat(3,minmax(0,1fr))}
    .partner-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}

@media (max-width:900px){
    :root{--type-section-title:42px}
    :root{--side-pad:22px;--header-height:74px}
    .header-main .header-container{min-height:74px;display:flex}
    .section-inner,.hero-grid,.footer-container{padding-right:var(--side-pad)}
    .brand{width:195px;margin-right:auto}.brand-logo{width:195px}
    .nav-toggle{display:flex;order:2}
    .primary-nav{position:absolute;left:0;right:0;top:100%;z-index:85;background:var(--white);border-top:0;box-shadow:0 24px 40px rgba(0,0,0,.16);padding:14px 16px}
    .js .primary-nav{opacity:0;visibility:hidden;transform:translateY(-8px);transition:.22s ease}
    .js .primary-nav.is-open{opacity:1;visibility:visible;transform:none}
    .nav-rail{justify-content:flex-start;gap:10px;overflow-x:auto;overscroll-behavior-x:contain}
    .nav-link{min-height:46px;padding:8px 15px}
    .service-submenu{position:fixed;top:74px;bottom:0;overflow-y:auto}
    html:not(.js) .service-submenu{position:relative;top:auto;bottom:auto;opacity:1;visibility:visible;transform:none}
    html:not(.js) .nav-toggle{display:none}
    html:not(.js) .primary-nav{position:relative;top:auto;box-shadow:none}
    .submenu-shell{grid-template-columns:1fr;padding:24px 20px 110px}
    .submenu-intro{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:0 0 18px}
    .submenu-links{grid-template-columns:repeat(2,minmax(240px,1fr));overflow-x:auto}
    .hero{min-height:680px}
    .hero-grid{min-height:680px;padding-top:72px;padding-bottom:76px;grid-template-columns:1fr;grid-template-areas:"title" "copy" "benefits" "cta";gap:24px}
    .hero h1{font-size:42px}
    .hero-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
    .section-layout{grid-template-columns:1fr;grid-template-areas:"head" "media" "modules" "cta"}
    .section-media{max-width:700px}
    .section-modules,.section--services .section-modules,.section--advantages .section-modules,.section--service-details .section-modules,.section--contact .section-modules,.section--contact-intro .section-modules,.section--legal .section-modules{grid-template-columns:repeat(2,minmax(0,1fr))}
    .partner-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
    .footer-prompt{grid-template-columns:1fr auto;grid-template-areas:"tag action" "title action" "text text"}
    .footer-container{grid-template-columns:1fr;gap:44px}
    .footer-links{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:680px){
    :root{--type-section-title:36px}
    :root{--side-pad:18px}
    body{font-size:18px}
    .hero{min-height:var(--viewport-height,680px)}
    .hero-grid{min-height:var(--viewport-height,680px);padding-top:56px;padding-bottom:66px}
    .hero h1{font-size:34px;letter-spacing:-.8px;text-align:center}
    .hero-copy-zone p{text-align:center}
    .hero-benefits{grid-template-columns:1fr}
    .hero-cta{text-align:center}
    .hero-cta .button-row{flex-direction:column}
    .hero-cta .btn{width:100%;max-width:100%;min-width:0;min-height:52px;font-size:14px}
    .content-section .section-heading{text-align:center;margin-inline:auto}
    .content-section h2,.content-section .section-h1{font-size:var(--type-section-title);text-align:center}
    .section-lead{text-align:center}
    .section-modules,.section--services .section-modules,.section--references .section-modules,.section--process .section-modules,.section--advantages .section-modules,.section--service-details .section-modules,.section--about .section-modules,.section--quick-benefits .section-modules,.section--values .section-modules,.section--contact .section-modules,.section--contact-intro .section-modules,.section--legal .section-modules,.reference-grid{grid-template-columns:1fr!important}
    .section-cta{grid-template-columns:82px minmax(0,1fr);text-align:left}
    .section-cta__mark{grid-column:1;grid-row:1}
    .section-cta__mark::before{width:47px}
    .section-cta__mark::after{top:-28px;right:2px;height:150px}
    .section-cta__mark-icon{left:calc(50% + 16px);width:30px;height:30px}
    .section-cta p{grid-column:2;grid-row:1;padding:18px;text-align:left}
    .section-cta>.btn,.section-cta>button.btn{grid-column:1/-1;grid-row:2;width:calc(100% - 28px);min-height:52px;margin:0 14px 14px;font-size:var(--type-action)}
    .module-card h3,.reference-card h2{font-size:var(--type-card-title);text-align:left}
    .module-card p{text-align:left}
    .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .partner-logo{min-height:95px;padding:14px}.partner-logo img{height:58px}
    .section-explorer{grid-template-columns:1fr;padding:16px}
    .section-explorer__controls{min-width:0;justify-content:center}
    .section-explorer__copy{border-left:0;border-top:1px solid var(--surface-line);padding:18px 0 0;text-align:center}
    .section-explorer__copy p{text-align:center}
    .explorer-link{justify-content:center}
    .footer-prompt{grid-template-columns:1fr;grid-template-areas:"tag" "title" "text" "action";text-align:center}
    .footer-prompt .btn{width:100%;min-height:56px;font-size:16px}
    .footer-links{grid-template-columns:1fr 1fr;gap:36px}
    .footer-links>div:last-child{grid-column:1/-1}
    .footer-bottom{flex-direction:column}
    .form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}
    .form-submit p{text-align:center}
    .submenu-links{grid-template-columns:repeat(6,minmax(235px,78vw))}
}

@media (max-width:440px){
    :root{--type-section-title:32px}
    :root{--side-pad:15px}
    .brand{width:172px}
    .brand-logo{width:172px}
    .nav-toggle{width:42px;height:42px}
    .hero h1{font-size:32px}
    .footer-links{grid-template-columns:1fr}.footer-links>div:last-child{grid-column:auto}
}

@media print{
    .nav-toggle{display:none!important}
    .site-header{position:static}
    .content-section{break-inside:avoid}
}

@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-ready .section-heading,.reveal-ready .section-media,.reveal-ready .module-card,.reveal-ready .section-cta{opacity:1!important;transform:none!important}
}

/* Mobile: dark content sections stay deliberately flat. Their desktop light/ink
   gradient is replaced by its leading brand-neutral shade. */
@media (max-width:760px){
    :root{--dark-section-background:#444444}
}
