/* TEM v9: shared page rhythm, visible work and dependable navigation. */
.site-header{z-index:1000;background:var(--paper)}
.skip-link{z-index:1100}
@media(max-width:22.5rem){.site-header .brand-caption{display:none}.site-header .header-inner{flex-wrap:nowrap;gap:12px}}
.header-inner{min-height:78px}
:root{--header-h:78px}
.navigation>a[aria-current="page"]:after{transform:scaleX(1)}
.navigation a{position:relative;z-index:1}
.section{padding-block:76px}
.section-heading{gap:40px;margin-bottom:36px}
.section-heading h1,.subpage-heading h1{font-size:clamp(2.8rem,4.6vw,4.6rem);line-height:1.08;letter-spacing:-.045em}
.section-heading h2{font-size:clamp(2.65rem,4.3vw,4.25rem);line-height:1.1}
.section-intro{font-size:1rem;line-height:1.7;max-width:350px}
.trust{padding:30px 0 27px;background:var(--paper);border-bottom:1px solid var(--line)}
.reference-heading{align-items:center;margin-bottom:20px;gap:20px}
.reference-heading h2{font:500 .8125rem/1.5 var(--sans);letter-spacing:.065em;text-transform:uppercase}
.reference-heading p{font-size:.875rem;color:var(--muted);margin-top:7px}
.reference-heading>.text-link{font-size:.875rem}
.client-list{gap:clamp(20px,3.6vw,55px);padding:18px 5px 10px;border-bottom:0}
.client-list li{min-height:76px}
.client-logo--beiersdorf{--logo-width:150px}.client-logo--swissgrid{--logo-width:148px}.client-logo--zeiss{--logo-width:53px}.client-logo--unilever{--logo-width:57px}.client-logo--giz{--logo-width:57px}.client-logo--eschenbach{--logo-width:175px}
.projects{background:var(--paper)}
.project-list{border-top:1px solid var(--line)}
.project-fold{border-bottom:1px solid var(--line)}
.project-fold>summary{display:grid;grid-template-columns:28px 126px minmax(160px,1fr) minmax(155px,.8fr) 26px;gap:24px;padding:18px 3px;min-height:113px}
.project-fold>summary:hover{background:#edf0f7}
.project-number{font-size:.75rem;color:var(--action);font-variant-numeric:tabular-nums}
.project-preview{width:126px;height:76px;object-fit:cover;border:1px solid #061a2b12}
.project-company{font:400 clamp(1.5rem,2.3vw,2.25rem)/1.2 var(--display);letter-spacing:-.025em}
.project-topic{font-size:.875rem;font-weight:400;color:var(--muted)}
.project-fold>summary>.icon{transition:transform .25s var(--ease)}
.project-fold[open]>summary>.icon{transform:rotate(45deg)}
.project-fold .work-panel{margin:0 0 26px}
.project-fold .work-image.mockup-media{padding-bottom:42px}
.project-fold .work-image.mockup-media figcaption{left:auto;right:14px;bottom:7px;max-width:calc(100% - 28px);font-size:.6875rem;line-height:1.5;padding:0;background:transparent;color:var(--muted)}
.projects .section-footnote{font-size:.75rem;max-width:760px;line-height:1.65;margin-top:20px}
.home-page .about{background:linear-gradient(120deg,#f4f0e8,#fbfaf7 68%,#e8eeff)}
.home-page .about-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,120px);align-items:center}
.about-photo{max-width:370px;box-shadow:12px 12px 0 #cbd6e4;overflow:visible}
.about-photo figcaption{padding:17px 23px}
.about-photo .micro-label{display:none}
.about-copy .about-services{margin:8px 0 2px}
.about-copy h2{font-size:clamp(2.6rem,4.5vw,4.25rem)}
.about-copy .about-lead{font-size:1.1875rem;line-height:1.65}
.about-copy>p:not(.eyebrow){max-width:530px}
.about-facts{margin-block:24px}
.contact{padding-block:74px}
.contact-heading h2{font-size:clamp(2.7rem,5.1vw,4.8rem);margin-bottom:38px;line-height:1.1}
.contact-heading h2 span{color:var(--on-blue)}
.contact-prompt>p:first-child{max-width:490px;font-size:1.0625rem;line-height:1.75}
.services-page .services{padding-top:54px;padding-bottom:40px}
.services-page .section-heading{align-items:center}
.services-page .section-heading>div{flex:1}
.services-page .section-intro{max-width:385px}
.services-grid{grid-template-columns:1.1fr .9fr;gap:clamp(38px,5vw,75px);align-items:start}
.service-accordion{border-top:1px solid var(--line)}
.service-accordion summary{min-height:103px}
.service-editorial{min-width:0;background:var(--ink);color:var(--paper)}
.service-editorial figure{position:relative;margin:0;aspect-ratio:1.95;overflow:hidden}
.service-editorial figure>img{width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.service-editorial figcaption,.faq-photo figcaption{position:absolute;left:12px;right:auto;bottom:7px;background:none;color:var(--muted);font-size:.6875rem;line-height:1.5;padding:0}
.ai-note{display:inline-flex;align-items:center;min-height:24px;font-size:.6875rem;font-weight:400;line-height:1.5;color:var(--muted);text-decoration:none;text-underline-offset:3px}
.ai-note:hover,.ai-note:focus-visible{text-decoration:underline;color:var(--ink)}
.service-editorial>div{padding:25px 29px 22px;background:var(--ink-glow)}
.service-editorial .eyebrow{font-size:.75rem;color:var(--ice);margin-bottom:14px}
.service-editorial h2{font-size:2rem;line-height:1.12;letter-spacing:-.025em;margin-bottom:15px}
.service-editorial p:not(.eyebrow){font-size:.9375rem;line-height:1.7;color:var(--on-blue);max-width:370px}
.service-editorial .text-link{color:var(--paper);font-size:.875rem;margin-top:14px;min-height:44px}
.tool-row{margin-top:32px}
.lms-fold{border-block:1px solid var(--line);margin-top:0}
.lms-fold>summary{font:400 clamp(1.5rem,2.5vw,2.5rem)/1.3 var(--display);min-height:96px;letter-spacing:-.025em}
.lms-fold>summary>.icon{transition:transform .25s}
.lms-fold[open]>summary>.icon{transform:rotate(45deg)}
.lms-fold .lms-section{padding:25px 0 40px;border:0}
.lms-fold .container{width:100%}
.lms-fold .lms-section h2{font-size:clamp(2rem,3.5vw,3.5rem)}
.subpage-heading>p:not(.eyebrow){font-size:1rem;line-height:1.7;color:var(--muted);max-width:420px;margin-top:21px}
.faq-page{background:var(--light-wash);min-height:calc(100svh - var(--header-h));padding-top:58px}
.faq-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:clamp(40px,7vw,104px);align-items:start;margin-top:0;padding-top:0;border-top:0}
.faq-intro .subpage-heading{margin-bottom:26px}
.faq-intro h1{font-size:clamp(2.7rem,4.1vw,4rem)}
.faq-photo{position:relative;margin:0;aspect-ratio:1.6;overflow:hidden}
.faq-photo>img{width:100%;height:100%;object-fit:cover;object-position:center}
.faq-direct{font-size:.9375rem;min-height:48px;margin-top:12px}
.faq-answers{padding-top:3px}
.faq-guide{font-size:.8125rem;line-height:1.5;color:var(--muted);margin-bottom:18px}
.faq-list{border-top:1px solid var(--line)}
.faq-list summary{min-height:81px;font-size:1rem;font-weight:500;gap:20px}
.faq-list summary>.icon{flex:0 0 18px;transition:transform .2s}
.faq-list details[open]>summary>.icon{transform:rotate(45deg)}
.faq-list details>p{font-size:1rem;line-height:1.75;padding-bottom:25px;padding-right:28px}
.faq-afterword{font-size:.875rem;color:var(--muted);line-height:1.7;margin-top:26px;max-width:460px}
.faq-afterword a{text-decoration:underline;text-underline-offset:3px;color:var(--action);display:inline-flex;align-items:center;min-height:24px}
.check-page .experience{padding-top:52px;padding-bottom:60px;min-height:0}
.check-page .section-heading{align-items:center}
.check-page .section-heading h1{font-size:clamp(2.7rem,4.6vw,4.6rem);line-height:1.08}
.check-page .section-heading h1 span{color:var(--ice)}
.check-page .section-intro{font-size:1rem}
.check-page .learning-visual{min-height:450px}
.check-page .learning-visual figcaption{left:12px;right:auto;bottom:7px;padding:0;background:none;color:var(--muted)}
.check-page .learning-visual-shade{background:linear-gradient(0deg,#061a2b1a,transparent 40%)}
.footer-legal{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid #354957;margin-top:26px;padding-top:20px}
.footer-legal h2{font:500 .8125rem/1.5 var(--sans);letter-spacing:0;color:var(--on-dark)}
.footer-legal nav{gap:12px 28px}
.footer-legal nav a,.cookie-settings-link{font-size:.875rem;min-height:44px}
.cookie-settings-link{padding:0;background:transparent;border:0;color:inherit}
.cookie-settings-link:hover{color:var(--ice)}
.site-footer>.container>.footer-inner>.text-link{font-size:.875rem}
@media(max-width:63.99rem){.header-inner{min-height:74px}:root{--header-h:74px}.menu-ready .navigation{position:absolute;left:0;right:0;top:100%;width:100%;padding:14px var(--gutter) 24px;background:var(--paper);box-shadow:0 20px 30px #061a2b1f;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.menu-ready .navigation>a:not(.button){min-height:48px;border-bottom:1px solid var(--line)}.menu-ready .navigation .button{align-self:flex-start;margin-top:15px}.client-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 40px}.client-list li{min-height:74px}.project-fold>summary{grid-template-columns:24px 102px minmax(140px,1fr) minmax(120px,.75fr) 22px;gap:17px}.project-preview{width:102px;height:69px}.home-page .about-grid{gap:48px}.footer-legal{align-items:flex-start;flex-direction:column;gap:12px}.services-grid{gap:35px}.service-accordion h3{font-size:1.7rem}.service-editorial>div{padding:22px}.faq-layout{gap:34px}.faq-list summary{font-size:.9375rem}.section-heading{gap:30px}.section-heading h1{font-size:3.3rem}}
@media(max-width:47.99rem){.section{padding-block:52px}.header-inner{min-height:70px}:root{--header-h:70px}.reference-heading{display:block;margin-bottom:16px}.reference-heading>.text-link{margin-top:8px}.reference-heading h2{font-size:.8125rem}.trust{padding-block:26px 22px}.client-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 25px;padding:14px 2px 8px}.client-list li{min-height:67px}.client-logo--beiersdorf{--logo-width:132px}.client-logo--swissgrid{--logo-width:136px}.client-logo--eschenbach{--logo-width:151px}.section-heading{display:block;margin-bottom:27px}.section-heading h2{font-size:clamp(2.45rem,8.4vw,3.7rem)}.section-intro{margin-top:19px;max-width:440px}.project-fold>summary{grid-template-columns:76px minmax(0,1fr) 22px;gap:5px 15px;padding:18px 0;min-height:102px}.project-number{display:none}.project-preview{grid-column:1;grid-row:1/3;width:76px;height:62px}.project-company{font-size:1.4rem;align-self:end}.project-topic{grid-column:2;font-size:.8125rem;align-self:start}.project-fold>summary>.icon{grid-column:3;grid-row:1/3}.project-fold .work-image.mockup-media{padding-bottom:42px}.home-page .about-grid{grid-template-columns:1fr;gap:37px}.about-photo{max-width:330px}.about-copy h2{font-size:2.8rem}.about-copy .about-lead{font-size:1.125rem}.contact{padding-block:54px}.contact-heading h2{font-size:clamp(2.45rem,8.4vw,3.5rem)}.contact-prompt>p:first-child{font-size:1rem}.services-page .services,.check-page .experience{padding-top:34px}.services-page .section-heading h1,.check-page .section-heading h1{font-size:clamp(2.7rem,9vw,4rem)}.services-grid{grid-template-columns:1fr;gap:29px}.service-accordion summary{min-height:90px}.service-editorial figure{aspect-ratio:1.8}.service-editorial h2{font-size:2rem}.service-editorial>div{padding:25px}.lms-fold>summary{min-height:88px}.tool-row{margin-top:28px}.faq-page{padding-top:32px;min-height:0}.faq-layout{grid-template-columns:1fr;gap:32px}.faq-intro h1{font-size:clamp(2.8rem,10vw,4rem)}.faq-intro .subpage-heading{margin-bottom:23px}.faq-photo{aspect-ratio:1.85}.faq-list summary{min-height:76px;font-size:1rem}.faq-list details>p{padding-right:0}.faq-guide{margin-bottom:12px}.check-page .learning-visual{min-height:260px;max-height:320px}.check-page .learning-visual figcaption>p{font-size:1.9rem}.footer-legal nav{gap:4px 22px}.footer-legal{width:100%}}
@media(prefers-reduced-motion:reduce){.project-fold .work-panel,.faq-list details>p,.lms-fold *{animation:none}}
@media(forced-colors:active){.project-fold[open]>summary{border-bottom:1px solid CanvasText}.service-editorial{border:1px solid CanvasText}}
@media print{.project-fold .work-panel{break-inside:avoid}.footer-legal{color:#000;border-color:#888}.section{padding:25px 0}.faq-layout{display:block}.faq-photo{max-width:300px}.faq-direct{display:none}}

/* The current site has required storage only: no fictitious opt-in categories. */
.cookie-banner{position:fixed;z-index:300;right:20px;bottom:20px;width:min(450px,calc(100% - 44px));max-height:75svh;overflow:auto;border:1px solid var(--line);border-top:2px solid var(--ink);background:var(--paper);color:var(--ink);padding:19px 23px;box-shadow:0 12px 55px #061a2b26}
.cookie-banner .eyebrow{display:none}
.cookie-banner h2{font-size:1.5rem;line-height:1.2;margin-bottom:8px;letter-spacing:-.025em}
.cookie-banner p:not(.eyebrow){font-size:.875rem;line-height:1.6;color:var(--muted)}
.cookie-actions{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:18px}
.cookie-actions .button{font-size:.875rem;min-height:46px;white-space:normal}
.cookie-privacy{display:inline-flex;align-items:center;min-height:32px;font-size:.75rem;text-decoration:underline;margin-top:9px;color:var(--muted)}
.cookie-dialog{position:fixed;inset:0;margin:auto;width:min(620px,calc(100% - 36px));max-height:calc(100svh - 36px);overflow:auto;padding:30px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 24px 90px #061a2b44}
.cookie-dialog::backdrop{background:#061a2b88}
.cookie-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.cookie-dialog-heading .eyebrow{margin:0}
.dialog-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);background:transparent}
.dialog-close .icon{transform:rotate(45deg)}
.cookie-dialog h2{font-size:2.3rem;margin:16px 0 18px}
.cookie-dialog p{font-size:1rem;line-height:1.65;color:var(--muted)}
.cookie-categories{margin:24px 0;border-top:1px solid var(--line)}
.cookie-categories>div{padding:20px 0;border-bottom:1px solid var(--line)}
.cookie-categories dt{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-weight:500;font-size:1rem}
.cookie-categories dt span{font-size:.8125rem;color:var(--muted);font-weight:400}
.cookie-categories dd{margin:12px 0 0;font-size:.9375rem;line-height:1.65;color:var(--muted)}
.cookie-dialog .cookie-detail-note{font-size:.875rem}
.cookie-dialog .cookie-privacy{margin-top:20px}
.legal-main code{font-size:.875rem;overflow-wrap:anywhere}
.legal-main section{scroll-margin-top:100px}

@media(max-width:47.99rem){.cookie-banner{left:12px;right:12px;bottom:12px;width:auto;padding:17px 19px}.cookie-dialog{padding:22px}.cookie-dialog h2{font-size:2rem}.cookie-actions{gap:8px 18px}}
@media print{.cookie-banner,.cookie-dialog,.cookie-settings-link{display:none!important}}

/* Plain attribution on the light areas of the photographs. */
.service-editorial .ai-note,.faq-photo .ai-note,.check-page .learning-visual .ai-note{color:var(--ink)}
