/* Marketing layout gaps use the existing TYCT spacing, color and motion tokens. */
:root{--sub-hero-type:clamp(46px,5.2vw,76px);--sub-heading-type:clamp(34px,3.8vw,52px);--sub-mobile-hero-type:clamp(42px,11.8vw,46px)}
.desktop-nav{align-items:center}
.audience-menu{position:relative;border:0}
.audience-menu summary{display:flex;gap:var(--space-2);align-items:center;cursor:pointer;list-style:none;padding:0;font-size:inherit;font-weight:inherit;line-height:1.5}
.audience-menu summary::-webkit-details-marker{display:none}
.audience-menu summary::after{content:'⌄';font-size:var(--text-ui);line-height:1;transition:transform var(--motion-fast)}
.audience-menu[open] summary::after{transform:rotate(180deg)}
.audience-menu summary:focus-visible{outline:3px solid var(--brand-light);outline-offset:5px}
.audience-dropdown{position:absolute;left:-24px;top:calc(100% + 20px);width:300px;padding:var(--space-2);background:var(--white);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--shadow-stage);display:grid;gap:var(--space-1);z-index:25}
.audience-dropdown a{padding:var(--space-3) var(--space-4);border-radius:var(--radius);line-height:1.45}
.audience-dropdown a:hover,.audience-dropdown a[aria-current=page]{background:var(--tint);color:var(--brand)}
.audience-dropdown small{display:block;color:var(--muted);font-weight:400;font-size:var(--text-detail);margin-top:var(--space-1)}
.desktop-nav>a[aria-current=page],.audience-menu[data-current=true]>summary{color:var(--brand)}
.mobile-audiences{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--tint);border-radius:var(--radius)}
.mobile-audiences>span{font-size:var(--text-caption);letter-spacing:.08em;color:var(--muted)}
.mobile-nav a[aria-current=page]{color:var(--brand)}
.site-footer-map{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--space-7);padding-block:var(--space-7);border-top:1px solid var(--line)}
.site-footer-map nav{display:grid;align-content:start;gap:var(--space-3);font-size:var(--text-ui)}
.site-footer-map strong{font-size:var(--text-caption);letter-spacing:.1em;font-weight:600;color:var(--muted);margin-bottom:var(--space-2)}
.site-footer-map a:hover{color:var(--brand)}
.subhero{padding-block:var(--space-7) var(--space-8)}
.breadcrumb{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;font-size:var(--text-detail);color:var(--muted);margin-bottom:var(--space-7)}
.breadcrumb a:hover{color:var(--brand)}
.subhero-copy{min-width:0}
.subhero-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center}
.subhero-copy h1{font-size:var(--sub-hero-type);letter-spacing:-.065em;line-height:1.06;margin-top:var(--space-3);font-weight:500}
.subhero-copy>p{font-size:var(--text-lead);line-height:1.65;max-width:510px;color:var(--muted);margin-top:var(--space-5)}
.subhero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5);margin-top:var(--space-6)}
.subhero-note{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-detail);color:var(--muted);margin-top:var(--space-5);line-height:1.55;max-width:480px}
.solution-visual{background:var(--tint);padding:var(--space-6);border-radius:var(--card-radius);min-width:0}
.solution-window{background:var(--white);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--shadow-stage);overflow:hidden}
.solution-window-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:var(--space-4) var(--space-5);font-size:var(--text-caption);color:var(--muted)}
.solution-window-top img{width:72px;height:auto}
.solution-window-body{padding:var(--space-5)}
.solution-window h2{font-size:24px;margin-top:var(--space-2);line-height:1.2;letter-spacing:-.04em}
.solution-window .micro{font-size:var(--text-caption);color:var(--muted)}
.solution-score{display:flex;gap:var(--space-5);align-items:center;margin-block:var(--space-5)}
.solution-score .score-ring{width:112px;height:112px;flex-shrink:0}
.solution-score p{font-size:var(--text-ui);color:var(--muted);margin-top:var(--space-2)}
.solution-score>div:last-child>strong{font-size:var(--text-ui);font-weight:500}
.mini-signal-list{display:grid;gap:var(--space-3);font-size:var(--text-detail);margin-top:var(--space-5)}
.mini-signal-list>div{display:flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);padding-bottom:var(--space-3)}
.mini-signal-list>div>span{flex:1;min-width:0}
.mini-signal-list small{display:block;font-size:var(--text-caption);color:var(--muted);margin-top:var(--space-1);line-height:1.5}
.mini-signal-list b{color:var(--brand);font-weight:500;font-size:var(--text-detail)}
.sub-document-icon{width:28px;height:34px;border:1px solid var(--gray-300);border-radius:var(--space-1);display:grid;place-items:center;color:var(--brand);font-style:normal;flex-shrink:0}
.mini-notice{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);margin-top:var(--space-5);border-radius:var(--radius);background:var(--tint);font-size:var(--text-detail);line-height:1.55}
.mini-notice p{font-size:var(--text-detail);color:var(--muted);margin-top:var(--space-1)}
.mini-notice .dot{margin-top:7px}
.visual-credit{font-size:var(--text-caption);line-height:1.5;color:var(--muted);margin-top:var(--space-4)}
.portfolio-preview-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-5);padding:var(--space-4);background:var(--tint);border-radius:var(--radius);font-size:var(--text-ui);font-weight:500}
.portfolio-preview-head>span{font-size:var(--text-detail);font-weight:400;color:var(--muted)}
.portfolio-preview-row{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--line);font-size:var(--text-ui)}
.portfolio-preview-row small{display:block;font-size:var(--text-detail);color:var(--muted);margin-top:var(--space-1)}
.portfolio-preview-row>div:last-child{text-align:right;font-size:var(--text-detail);color:var(--brand);align-self:center}
.sub-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);padding-block:var(--space-5);border-block:1px solid var(--line);font-size:var(--text-ui);margin-bottom:var(--space-8)}
.sub-strip>span{display:flex;gap:var(--space-3);align-items:center}
.sub-strip i{color:var(--brand);font-style:normal}
.subsection{padding-block:var(--space-7) var(--section-space)}
.sub-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-8);align-items:end;margin-bottom:var(--space-7)}
.sub-heading h2{font-size:var(--sub-heading-type);line-height:1.1;margin-top:var(--space-3);letter-spacing:-.055em}
.sub-heading>p{font-size:var(--text-body);max-width:500px;color:var(--muted)}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
.detail-grid article{padding-top:var(--space-5);border-top:1px solid var(--line)}
.detail-grid .detail-number{font-size:var(--text-detail);letter-spacing:.08em;color:var(--brand)}
.detail-grid h3{font-size:25px;font-weight:500;letter-spacing:-.04em;line-height:1.2;margin-block:var(--space-5) var(--space-3)}
.detail-grid p{font-size:var(--text-body);color:var(--muted)}
.editorial-band{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:var(--plantation);color:var(--white);border-radius:var(--card-radius);margin-bottom:var(--space-8)}
.editorial-image{position:relative;margin:0;min-height:420px;overflow:hidden}
.editorial-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.editorial-copy{padding:var(--space-8);align-self:center}
.editorial-copy h2{font-size:clamp(32px,3.5vw,48px);letter-spacing:-.055em;line-height:1.12;margin-top:var(--space-3)}
.editorial-copy p{font-size:var(--text-body);color:var(--tint);margin-top:var(--space-5);max-width:440px}
.editorial-copy .text-link{margin-top:var(--space-5);color:var(--white)}
.process-list{display:grid}
.process-list article{display:grid;grid-template-columns:64px 1fr 1.2fr;gap:var(--space-6);padding-block:var(--space-6);border-top:1px solid var(--line);align-items:start}
.process-list article>span{font-size:var(--text-detail);color:var(--brand);padding-top:7px}
.process-list h3{font-size:26px;font-weight:500;line-height:1.2;letter-spacing:-.04em}
.process-list p{font-size:var(--text-body);color:var(--muted)}
.subfaq{padding-top:0}
.subfaq h2{font-size:var(--sub-heading-type);margin-top:var(--space-3)}
.sub-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);background:var(--tint);border:1px solid var(--line);padding:var(--space-7);border-radius:var(--card-radius);margin-bottom:var(--section-space)}
.sub-cta h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.05em}
.sub-cta p{font-size:var(--text-body);color:var(--muted);margin-top:var(--space-3);max-width:620px}
.sub-cta .button{flex-shrink:0}
.subphoto{position:relative;margin:0;border-radius:var(--card-radius);overflow:hidden;min-height:440px;background:var(--tint)}
.subphoto>img{width:100%;height:440px;object-fit:cover;object-position:52% center}
.team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-5)}
.team-grid article{border-top:1px solid var(--line);padding-top:var(--space-5)}
.team-portrait-frame{aspect-ratio:4/5;overflow:hidden;background:var(--tint);border-radius:var(--card-radius);margin-bottom:var(--space-5)}
.team-portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(var(--portrait-scale,1));transform-origin:50% 40%}
/* Image-specific art direction: align crown-to-chin size without distorting faces. */
.team-portrait-frame[data-portrait=christine]{--portrait-scale:1.15}
.team-portrait-frame[data-portrait=christian]{--portrait-scale:1.12}
.team-portrait-frame[data-portrait=marco]{--portrait-scale:1.05}
.team-grid h3{font-size:27px;font-weight:500;letter-spacing:-.04em}
.team-role{display:block;font-size:var(--text-detail);color:var(--brand);margin-top:var(--space-2);min-height:36px;line-height:1.5}
.team-grid p{font-size:var(--text-ui);color:var(--muted);margin-top:var(--space-3);line-height:1.65}
.about-principle{background:var(--tint);border-block:1px solid var(--line);margin-bottom:var(--space-8)}
.about-principle .subsection{padding-block:var(--space-8)}
.contact-card{background:var(--tint);border:1px solid var(--line);padding:var(--space-7);border-radius:var(--card-radius)}
.contact-card h2{font-size:30px;letter-spacing:-.04em;line-height:1.2}
.contact-card>p{font-size:var(--text-body);color:var(--muted);margin-top:var(--space-4)}
.contact-card label{display:block;font-size:var(--text-detail);font-weight:500;margin-block:var(--space-6) var(--space-2)}
.contact-card select{appearance:none;-webkit-appearance:none;width:100%;font:inherit;font-size:var(--text-ui);color:var(--ink);border:1px solid var(--gray-300);background:var(--white);padding:var(--space-4);padding-right:calc(var(--space-4) + var(--space-5));text-overflow:ellipsis;border-radius:var(--radius)}
.contact-card select:focus-visible{outline:3px solid var(--brand-light);outline-offset:3px}
.contact-card .button{margin-top:var(--space-5);width:100%}
.contact-card small{display:block;font-size:var(--text-detail);color:var(--muted);line-height:1.6;margin-top:var(--space-3)}
.contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin-bottom:var(--space-8)}
.contact-direct article{border-top:1px solid var(--line);padding-top:var(--space-5)}
.contact-direct .eyebrow{color:var(--muted)}
.contact-direct a{display:inline-block;font-size:clamp(23px,2.8vw,36px);letter-spacing:-.035em;margin-top:var(--space-3)}
.contact-direct a:hover{color:var(--brand)}
.contact-direct p{font-size:var(--text-ui);color:var(--muted);margin-top:var(--space-3)}
/* Marketing hero proportions are editorial gaps; all surfaces, spacing and type reuse TYCT tokens. */
.audience-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-8);align-items:center}
.audience-photo{position:relative;margin:0;min-width:0;overflow:hidden;border-radius:var(--card-radius);background:var(--tint)}
.audience-photo>img{display:block;width:100%;height:100%;object-fit:cover}
.audience-photo-company{height:clamp(480px,43vw,620px)}
.audience-photo-company>img{object-position:center 48%}
.audience-provider .audience-hero-grid{grid-template-columns:.9fr 1.1fr}
.audience-provider .subhero-copy{padding-left:var(--space-6)}
.audience-photo-provider{height:clamp(500px,45vw,660px)}
.audience-photo-provider>img{object-position:40% center}
.master-intro{display:grid;grid-template-columns:1.45fr 1fr;gap:var(--space-8);align-items:start;margin-bottom:var(--space-7)}
.master-intro h1{font-size:clamp(46px,4.5vw,68px)}
.master-support>p{margin-top:0}
.master-support .subhero-actions{margin-top:var(--space-5)}
.master-support .subhero-note{margin-top:var(--space-4)}
.audience-photo-master{height:clamp(360px,35vw,460px)}
.audience-photo-master>img{object-position:center 48%}
.audience-photo-about{height:480px}
.audience-photo-about>img{object-position:45% center}
.product-context{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center;margin-bottom:var(--section-space)}
.product-context-copy h2{font-size:var(--sub-heading-type);line-height:1.1;letter-spacing:-.055em;margin-top:var(--space-3)}
.product-context-copy>p{font-size:var(--text-body);color:var(--muted);margin-top:var(--space-5);max-width:500px}
.product-context .text-link{margin-top:var(--space-5)}
@media(max-width:1100px){.desktop-nav{gap:var(--space-4)}.subhero-grid,.sub-heading{gap:var(--space-6)}.editorial-copy{padding:var(--space-7)}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.solution-visual{padding:var(--space-5)}.contact-card{padding:var(--space-6)}}
@media(max-width:1100px){.desktop-nav{display:none}.menu-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:0;background:none;width:32px;height:32px;padding:var(--space-1)}.menu-button span{display:block;width:20px;height:1px;background:var(--ink)}.mobile-nav{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-7);border-top:1px solid var(--line);font-size:var(--text-ui)}.mobile-nav[hidden]{display:none}}
@media(max-width:850px){.subhero-grid,.sub-heading{grid-template-columns:1fr}.subhero-copy>p{max-width:650px}.solution-visual,.subphoto,.contact-card{max-width:650px;width:100%}.subhero-copy h1{max-width:680px}.detail-grid{gap:var(--space-5)}.editorial-band{grid-template-columns:1fr}.editorial-image{min-height:340px}.editorial-copy p{max-width:640px}.process-list article{grid-template-columns:40px 1fr;gap:var(--space-4)}.process-list p{grid-column:2}.sub-cta{align-items:flex-start;flex-direction:column}.site-footer-map{gap:var(--space-5)}}
@media(max-width:600px){.mobile-nav{padding-inline:20px}.subhero{padding-block:var(--space-5) var(--space-7)}.breadcrumb{margin-bottom:var(--space-6);font-size:var(--text-caption)}.subhero-copy h1{font-size:var(--sub-mobile-hero-type)}.subhero-copy>p{font-size:var(--text-body)}.subhero-grid{gap:var(--space-6)}.subhero-actions{gap:var(--space-4)}.subhero-actions .button{font-size:var(--text-detail);padding:var(--space-3) var(--space-4)}.subhero-actions .text-link{font-size:var(--text-detail)}.solution-visual{padding:var(--space-3)}.solution-window-body{padding:var(--space-4)}.solution-window h2{font-size:22px}.solution-score{gap:var(--space-4)}.solution-score .score-ring{width:96px;height:96px}.solution-score>div:last-child>strong{font-size:var(--text-ui)}.solution-score p{font-size:var(--text-detail)}.mini-signal-list{font-size:var(--text-detail)}.mini-notice{font-size:var(--text-detail);padding:var(--space-3)}.mini-signal-list b{font-size:var(--text-caption);white-space:nowrap}.portfolio-preview-head{font-size:var(--text-detail);padding:var(--space-3)}.portfolio-preview-row{font-size:var(--text-detail);gap:var(--space-3)}.sub-strip{grid-template-columns:1fr;gap:var(--space-4);font-size:var(--text-ui);margin-bottom:var(--space-7)}.subsection{padding-block:var(--space-6) var(--space-8)}.sub-heading{gap:var(--space-5);margin-bottom:var(--space-6)}.sub-heading h2,.subfaq h2{font-size:36px}.sub-heading>p{font-size:var(--text-body)}.detail-grid{grid-template-columns:1fr;gap:var(--space-6)}.detail-grid h3{font-size:26px;margin-top:var(--space-4)}.detail-grid p{font-size:var(--text-ui)}.editorial-image{min-height:300px}.editorial-copy{padding:var(--space-6) var(--space-5)}.editorial-copy h2{font-size:34px}.editorial-copy p{font-size:var(--text-body)}.process-list article{grid-template-columns:24px 1fr;padding-block:var(--space-5)}.process-list h3{font-size:24px}.process-list p{font-size:var(--text-ui)}.sub-cta{padding:var(--space-5);margin-bottom:var(--space-8)}.sub-cta h2{font-size:32px}.sub-cta p{font-size:var(--text-ui)}.sub-cta .button{font-size:var(--text-detail)}.subphoto,.subphoto>img{min-height:320px;height:320px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-5)}.team-grid h3{font-size:25px}.team-grid p{font-size:var(--text-ui)}.team-monogram{width:48px;height:48px;margin-bottom:var(--space-4)}.contact-card{padding:var(--space-5)}.contact-card h2{font-size:27px}.contact-card>p{font-size:var(--text-ui)}.contact-direct{grid-template-columns:1fr;gap:var(--space-6)}.site-footer-map{grid-template-columns:1fr 1fr;gap:var(--space-6) var(--space-5)}.site-footer-map nav:first-child{grid-column:1 / -1}.footer-bottom nav{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.audience-menu summary::after{transition:none}}
@media(max-width:1100px){.audience-hero-grid,.master-intro,.product-context{gap:var(--space-6)}.audience-provider .subhero-copy{padding-left:0}}
@media(max-width:850px){.audience-hero-grid,.audience-provider .audience-hero-grid,.master-intro,.product-context{grid-template-columns:1fr}.audience-provider .subhero-copy{grid-row:2}.audience-photo-company,.audience-photo-provider{width:100%;height:500px}.audience-photo-provider>img{object-position:center 32%}.master-intro{align-items:start}.master-intro h1{font-size:var(--sub-hero-type)}.product-context-copy>p{max-width:650px}.audience-photo-about{height:400px}.product-context{margin-bottom:var(--space-8)}}
@media(max-width:600px){.audience-photo-company,.audience-photo-provider{height:390px}.audience-photo-company>img{object-position:center 34%}.audience-photo-provider{height:320px}.audience-photo-provider>img{object-position:center 30%}.audience-photo-master{height:240px}.audience-photo-master>img{object-position:75% center}.audience-photo-about{height:300px}.master-intro{margin-bottom:var(--space-6)}.master-intro h1{font-size:var(--sub-mobile-hero-type)}.product-context-copy h2{font-size:36px}.product-context-copy>p{font-size:var(--text-body)}.team-grid article{border-top:0;padding-top:0}}
/* Open ecosystem: editorial composition reuses the TYCT surface and spacing tokens. */
.ecosystem-section{padding-block:var(--space-7) var(--section-space)}
.ecosystem-section .section-heading{align-items:start}
.ecosystem-section h2{font-weight:500;letter-spacing:-.055em;margin-top:var(--space-3)}
.ecosystem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-7)}
.ecosystem-card{display:flex;flex-direction:column;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--card-radius);background:var(--white);min-width:0}
.ecosystem-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5)}
.ecosystem-index{font-size:var(--text-detail);color:var(--muted);letter-spacing:.06em}
.ecosystem-state{font-size:var(--text-detail);font-weight:500;background:var(--tint);color:var(--brand);padding:var(--space-1) var(--space-3);border-radius:var(--radius);white-space:nowrap}
.ecosystem-state-future{background:var(--gray-50);color:var(--muted);border:1px solid var(--line)}
.ecosystem-card h3{font-size:32px;font-weight:500;line-height:1.15;letter-spacing:-.04em}
.ecosystem-card p{font-size:var(--text-body);color:var(--muted);margin-block:var(--space-4) var(--space-5)}
.ecosystem-sources{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;margin: auto 0 0;list-style:none;font-size:var(--text-ui)}
.ecosystem-sources li{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-2) var(--space-3);color:var(--plantation);background:var(--tint)}
.ecosystem-principle{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-6);background:var(--tint);border-radius:var(--card-radius);margin-top:var(--space-5)}
.ecosystem-principle p{font-size:var(--text-body);color:var(--muted)}
.ecosystem-principle strong{color:var(--plantation);font-weight:500}
.ecosystem-principle .tiny-check{flex-shrink:0;margin-top:var(--space-1)}
.ecosystem-callout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);border-block:1px solid var(--line);padding-block:var(--space-7);margin-bottom:var(--section-space)}
.ecosystem-callout>div{min-width:0}
.ecosystem-callout h2{font-size:var(--sub-heading-type);font-weight:500;line-height:1.12;letter-spacing:-.055em;margin-top:var(--space-3)}
.ecosystem-callout p{font-size:var(--text-body);color:var(--muted)}
.ecosystem-callout p+p{margin-top:var(--space-4)}
.ecosystem-callout .text-link{margin-top:var(--space-5)}
@media(max-width:850px){.ecosystem-callout{grid-template-columns:1fr;gap:var(--space-5)}}
@media(max-width:600px){.ecosystem-grid{grid-template-columns:1fr}.ecosystem-card{padding:var(--space-5)}.ecosystem-card h3{font-size:28px}.ecosystem-card-top{gap:var(--space-2)}.ecosystem-index{letter-spacing:0}.ecosystem-principle{padding:var(--space-5)}.ecosystem-callout h2{font-size:34px}.ecosystem-section .section-heading h2{font-size:36px}}
/* German body copy may hyphenate inside narrow multi-column cards. */
.detail-grid p,.team-grid p{hyphens:auto}

/* Keep the native select interaction, with a browser-independent decorative chevron. */
.inquiry-select{position:relative;min-width:0;color:var(--muted)}
.inquiry-select::after{content:'';position:absolute;right:var(--space-4);top:50%;width:var(--space-2);height:var(--space-2);border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none}
