/* Project overlays — native dialog keeps the page in place. */
.case-dialog{width:min(1160px,calc(100vw - 72px));max-width:none;height:calc(100dvh - 72px);max-height:1020px;margin:auto;padding:0;border:0;background:#fff;color:#111;overflow:hidden;box-shadow:0 30px 120px #0006}
.case-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}
.case-dialog[open]{display:flex;flex-direction:column;animation:case-enter .3s cubic-bezier(.2,.7,.2,1)}
.case-toolbar{height:72px;flex:0 0 72px;display:flex;justify-content:space-between;align-items:center;padding:0 28px 0 38px;border-bottom:1px solid #ddd;background:#fff;z-index:2}
.case-index{font-size:11px;letter-spacing:.09em;color:#666}.case-controls{display:flex;gap:6px;align-items:center}.case-controls button{border:0;background:#f1f1f1;min-width:43px;height:43px;display:flex;align-items:center;justify-content:center;font-size:21px;transition:background .2s}.case-controls button:hover{background:#111;color:#fff}.case-controls button:disabled{opacity:.35;cursor:default}.case-controls .case-close{background:#111;color:#fff;padding:0 13px;gap:22px;margin-left:12px}.case-close>span{font-size:12px}.case-close>b{font-size:27px;font-weight:400;line-height:1}.case-controls .case-close:hover{background:#444}
.case-scroll{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;flex:1;min-height:0;scroll-behavior:smooth}.case-heading{padding:38px 46px 33px;display:flex;gap:35px;justify-content:space-between;align-items:center}.case-heading .section-label{font-size:11px;color:#696969}.case-heading h2{font-size:43px;letter-spacing:-.05em;line-height:1.1;margin:13px 0 0;font-weight:400}.case-heading h2>span{display:block;font-size:26px;line-height:1.2;letter-spacing:-.035em;color:#777;margin-top:8px}.project-client-mark{display:flex;width:170px;height:72px;align-items:center;justify-content:center;flex-shrink:0;background:#fff}.project-client-mark img{width:100%;height:100%;object-fit:contain}.case-heading .project-client-mark{width:175px;height:78px}.case-image{margin:0;position:relative;background:#ededed}.case-image>img{width:100%;height:430px;object-fit:cover;filter:grayscale(1);object-position:center 50%}.case-image>figcaption{position:absolute;right:14px;bottom:12px;color:#111;background:#ffffffed;padding:5px 8px;font-size:10px;line-height:1.4}
.case-story{padding:50px 46px 52px;display:grid;grid-template-columns:190px 1fr;gap:55px}.case-facts>.section-label{font-size:11px;color:#777}.case-facts dl{margin:23px 0 0}.case-facts dl>div{border-top:1px solid #ddd;padding:14px 0}.case-facts dt{font-size:12px;color:#888;margin-bottom:6px}.case-facts dd{margin:0;font-size:14px;line-height:1.5}.case-narrative>h3{font-size:36px;line-height:1.13;letter-spacing:-.045em;font-weight:400;margin:0 0 23px}.case-lead{font-size:19px;line-height:1.6;margin:0 0 31px;color:#333}.case-chapter{margin:29px 0}.case-chapter h4,.case-credits h4{font-size:16px;font-weight:500;margin:0 0 12px}.case-chapter p{font-size:16px;line-height:1.7;color:#626262;margin:0}.case-credits{border-top:1px solid #ccc;margin-top:35px;padding-top:26px}.case-credits dl{margin:0}.case-credits dl>div{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;padding:13px 0;border-bottom:1px solid #e6e6e6;font-size:12px;line-height:1.6}.case-credits dt{color:#888}.case-credits dd{margin:0;color:#333}.case-cta{background:#101010;color:#fff;padding:37px 46px;display:flex;justify-content:space-between;align-items:end;gap:30px}.case-cta>p{font-size:37px;line-height:1.08;letter-spacing:-.04em;margin:0}.case-cta>a{font-size:14px;border-bottom:1px solid #888;padding-bottom:9px;display:flex;gap:24px;align-items:center}.case-cta>a>span{font-size:25px}.case-loading{padding:60px 40px}.case-loading h2{font-size:32px;line-height:1.1;margin:0 0 20px}.case-loading p{color:#777}.case-retry{border:0;background:#111;color:white;padding:14px 19px;font-size:15px}
@keyframes case-enter{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}
.portfolio-image .project-client-mark,.project-image .project-client-mark{position:absolute;top:18px;left:18px;width:120px;height:65px;padding:13px;background:#fff;z-index:2}.portfolio-image .project-client-mark img,.project-image .project-client-mark img{filter:grayscale(1);transform:none!important;object-fit:contain;object-position:center}.portfolio-card:hover .project-client-mark img,.project-card:hover .project-client-mark img,.portfolio-card:focus-visible .project-client-mark img{filter:grayscale(0)}
.project-detail-logo{display:flex;align-items:center;justify-content:space-between;gap:30px}.project-detail-logo>.project-client-mark{width:190px;height:75px}.project-detail-hero h1{margin-top:25px}
/* A black introduction, a white request card and distinctly grouped details. */
.contact-page{--paper:#fff;--ink:#101010;--line:#d4d4d4;--muted:#666}.contact-intro{background:#101010;color:#fff;padding-top:28px;padding-bottom:67px}.contact-breadcrumb{display:flex;gap:12px;font-size:12px;color:#999;line-height:1.6;margin-bottom:55px}.contact-breadcrumb a:hover{color:#fff}.contact-intro-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;align-items:end}.contact-intro .section-label{color:#aaa;font-size:12px;margin-bottom:23px}.contact-intro h1{font-size:clamp(60px,7.1vw,115px);line-height:.98;letter-spacing:-.065em}.contact-intro-copy>p{font-size:24px;line-height:1.45;letter-spacing:-.03em;color:#b9b9b9;margin:0 0 28px}.contact-intro-copy>a{display:inline-flex;gap:65px;align-items:center;font-size:15px;border-bottom:1px solid #999;padding:10px 0}.contact-intro-copy>a>span{font-size:28px}.contact-desk{background:#efefed;display:grid;grid-template-columns:.78fr 1.5fr;gap:6.5%;padding-top:65px;padding-bottom:90px;align-items:start;scroll-margin-top:25px}.contact-sidebar{padding-top:12px;min-width:0}.contact-sidebar>.section-label{font-size:12px;color:#777}.contact-sidebar>h2{font-size:45px;line-height:1.07;letter-spacing:-.045em;margin:23px 0 35px;font-weight:400}.contact-method{padding:23px 0;border-top:1px solid #bbb}.contact-method-label{display:block;color:#777;font-size:11px;letter-spacing:.05em;margin-bottom:16px;line-height:1.5}.contact-method>a{font-size:clamp(19px,1.65vw,26px);letter-spacing:-.04em;display:flex;align-items:center;justify-content:space-between;gap:15px;line-height:1.4}.contact-method>a>span{font-size:24px;flex-shrink:0}.contact-method>p{font-size:13px;color:#777;margin:12px 0 0;line-height:1.5}.contact-address{background:#111;color:#fff;padding:28px;margin-top:15px}.contact-address .contact-method-label{color:#aaa}.contact-address address{font-style:normal;font-size:19px;line-height:1.6;letter-spacing:-.02em}.contact-address>a{display:flex;justify-content:space-between;font-size:13px;align-items:center;border-bottom:1px solid #666;padding:18px 0 10px;margin-bottom:33px}.contact-address>a>span{font-size:24px}.contact-address>img{width:145px;height:auto}.contact-career{font-size:13px;line-height:1.8;color:#777;margin:28px 0 0}.contact-career a{color:#222;text-decoration:underline;text-underline-offset:4px}
.request-card{background:#fff;padding:42px 43px;border:1px solid #d1d1cf;box-shadow:0 9px 20px #00000004;min-width:0}.request-heading{padding-bottom:28px;border-bottom:1px solid #d8d8d8;margin-bottom:30px}.request-heading>.section-label{font-size:11px;color:#777}.request-heading h2{font-size:43px;line-height:1.07;letter-spacing:-.045em;font-weight:400;margin:18px 0 17px}.request-heading>p{font-size:16px;line-height:1.55;color:#777;margin:0}.request-card .request-step{border:0;padding:0;margin:0 0 31px;min-width:0}.request-card .request-step>legend{font-size:16px;letter-spacing:-.02em;margin:0 0 20px;padding:0;line-height:1.4;display:flex;align-items:center;gap:12px;color:#151515}.request-step>legend>span{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border:1px solid #b5b5b5;border-radius:50%;font-size:10px;letter-spacing:0;color:#666}.request-card .topic-choices{display:flex;flex-wrap:wrap;gap:9px}.request-card .topic-choices>label{display:block;cursor:pointer;margin:0}.request-card .topic-choices span{border:1px solid #bbb;border-radius:0;padding:13px 14px;font-size:12px;background:#fff;color:#555;display:flex;align-items:center;gap:23px;min-height:45px;transition:background .2s,color .2s,border-color .2s}.request-card .topic-choices span>b{font-size:16px;line-height:1;font-weight:400}.request-card .topic-choices span>b:after{content:'+'}.request-card .topic-choices input:checked+span{background:#111;border-color:#111;color:#fff}.request-card .topic-choices input:checked+span>b:after{content:'✓'}.request-card .topic-choices input:focus-visible+span{outline:2px solid #111;outline-offset:3px}.request-card .form-row{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin:0}.request-card label{font-size:13px;font-weight:400;color:#333;line-height:1.5}.request-card label>span{font-size:11px;color:#888}.request-card input:not([type=radio]),.request-card textarea{width:100%;border:1px solid #b8b8b8;background:#f9f9f8;border-radius:0;color:#111;padding:14px;font-size:15px;line-height:1.5;margin-top:9px;box-shadow:none;min-width:0;outline-offset:2px;transition:border-color .2s,background .2s}.request-card input:not([type=radio]):focus,.request-card textarea:focus{background:#fff;outline:2px solid #111;border-color:#111}.request-card input::placeholder,.request-card textarea::placeholder{color:#909090}.request-card textarea{resize:vertical;min-height:148px;max-height:500px}.request-card .message-label{display:block;margin:0}.request-card .request-details{margin-top:20px}.request-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ddd;padding-top:25px}.request-submit>span{font-size:11px;color:#888;flex-shrink:0}.request-card .solid-button{border:1px solid #111;background:#111;color:#fff;padding:16px 21px;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:55px;min-height:55px}.request-card .solid-button:hover{background:#333}.request-card .solid-button>span{font-size:24px}.request-card .form-explainer{font-size:12px;line-height:1.65;color:#777;margin:20px 0 0;max-width:480px}.inquiry-context{background:#ededeb;border-left:3px solid #111;padding:15px 17px;font-size:14px;line-height:1.5;margin:0 0 27px}.request-draft{padding:0;margin-top:30px;border:1px solid #111;outline:none}.request-draft-top{background:#111;color:#fff;padding:23px 24px}.request-draft-top>span{font-size:10px;letter-spacing:.07em;color:#aaa}.request-draft h3{font-size:29px;font-weight:400;line-height:1.15;letter-spacing:-.03em;margin:15px 0 0}.request-draft-body{padding:22px}.request-draft-body>p{font-size:13px;line-height:1.5;color:#666;margin:0 0 20px}.request-draft pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font:14px/1.65 Arial,Helvetica,sans-serif;padding:18px;background:#f1f1ef;color:#333;margin:0 0 22px}.draft-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.draft-actions .text-link{font-size:13px;gap:18px}.request-card .copy-draft{border:1px solid #bbb;background:#fff;padding:10px 13px;font-size:12px}.request-draft .copy-status{font-size:12px;margin:18px 0 0}.contact-page .footer-top,.contact-page .contact-title,.contact-page .contact-grid{display:none}.contact-page .footer{padding-top:0}.contact-page .footer-brand-row{border-top:0}
@media(max-width:1050px){.contact-desk{grid-template-columns:.8fr 1.5fr;gap:4%;padding-top:45px}.contact-sidebar>h2{font-size:37px}.contact-method>a{font-size:19px;gap:8px}.contact-method>a>span{font-size:18px}.contact-address{padding:23px}.request-card{padding:33px 28px}.request-card .form-row{gap:15px}.request-card .topic-choices span{gap:13px;padding:12px}.request-heading h2{font-size:37px}.request-card .solid-button{gap:25px;font-size:13px}.case-story{gap:30px;grid-template-columns:150px 1fr}.case-heading h2{font-size:37px}}
@media(max-width:760px){.case-dialog{width:100%;height:100dvh;max-height:none;margin:0;max-width:100vw;box-shadow:none}.case-toolbar{height:62px;flex-basis:62px;padding:0 14px 0 20px}.case-index{font-size:10px;letter-spacing:.04em}.case-controls{gap:4px}.case-controls button{height:40px;min-width:38px;font-size:19px}.case-controls .case-close{padding:0 10px;min-width:40px;margin-left:5px}.case-close>span{display:none}.case-close>b{font-size:28px}.case-heading{padding:27px 22px 25px;gap:20px;flex-direction:column-reverse;align-items:flex-start}.case-heading .project-client-mark{width:124px;height:47px;justify-content:flex-start}.case-heading .project-client-mark img{object-position:left center}.case-heading .section-label{font-size:10px}.case-heading h2{font-size:33px;margin-top:13px}.case-heading h2>span{font-size:22px;margin-top:7px}.case-image>img{height:270px}.case-image>figcaption{font-size:9px;right:9px;bottom:8px;padding:4px 6px;max-width:90%}.case-story{padding:29px 22px 35px;display:block}.case-facts>.section-label{font-size:10px}.case-facts dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:12px 0 27px}.case-facts dl>div:last-child{grid-column:1/-1}.case-facts dl>div{padding:10px 0 0}.case-facts dt{font-size:11px}.case-facts dd{font-size:13px}.case-narrative>h3{font-size:30px;margin-bottom:20px}.case-lead{font-size:17px;line-height:1.6;margin-bottom:26px}.case-chapter{margin:25px 0}.case-chapter h4,.case-credits h4{font-size:16px;margin-bottom:10px}.case-chapter p{font-size:15px;line-height:1.65}.case-credits{padding-top:22px;margin-top:29px}.case-credits dl>div{grid-template-columns:1fr;gap:4px;font-size:12px}.case-cta{padding:29px 22px 35px;display:block}.case-cta>p{font-size:31px}.case-cta>a{display:inline-flex;margin-top:24px;font-size:13px;gap:22px}.portfolio-image .project-client-mark,.project-image .project-client-mark{top:12px;left:12px;width:102px;height:53px;padding:11px}.project-detail-logo{align-items:flex-start}.project-detail-logo>.project-client-mark{height:45px;width:120px}.contact-intro{padding-top:23px;padding-bottom:44px}.contact-breadcrumb{font-size:11px;margin-bottom:34px}.contact-intro-grid{grid-template-columns:1fr;gap:31px}.contact-intro .section-label{font-size:11px;margin-bottom:19px}.contact-intro h1{font-size:clamp(56px,13.2vw,85px);line-height:1.01}.contact-intro-copy>p{font-size:20px;line-height:1.45;margin:0 0 20px}.contact-intro-copy>a{font-size:14px;gap:60px;padding:8px 0}.contact-desk{display:flex;flex-direction:column-reverse;gap:45px;padding-top:28px;padding-bottom:55px}.request-card{padding:28px 20px;width:100%}.request-heading{padding-bottom:23px;margin-bottom:26px}.request-heading h2{font-size:34px;line-height:1.1;margin:16px 0 14px}.request-heading>p{font-size:15px}.request-card .request-step{margin-bottom:29px}.request-card .request-step>legend{font-size:15px;align-items:flex-start;gap:10px;margin-bottom:19px}.request-step>legend>span{width:23px;height:23px;font-size:9px}.request-card .topic-choices{gap:8px}.request-card .topic-choices span{font-size:12px;gap:20px;padding:11px 12px;min-height:44px}.request-card .form-row{grid-template-columns:1fr;gap:21px}.request-card label{font-size:13px}.request-card input:not([type=radio]),.request-card textarea{font-size:16px;padding:12px;margin-top:8px}.request-card textarea{min-height:150px}.request-card .request-details{margin-top:20px}.request-submit{flex-direction:column;align-items:flex-start;gap:14px;padding-top:21px}.request-card .solid-button{width:100%;font-size:14px;padding:14px 17px;min-height:54px}.request-card .form-explainer{font-size:12px;margin-top:16px}.contact-sidebar{padding:0;width:100%}.contact-sidebar>h2{font-size:38px;margin:19px 0 27px}.contact-method{padding:22px 0}.contact-method>a{font-size:25px}.contact-method>a>span{font-size:22px}.contact-method-label{font-size:11px;margin-bottom:14px}.contact-address{padding:27px;margin-top:17px}.contact-address address{font-size:20px}.contact-career{font-size:14px;margin-top:24px}.inquiry-context{font-size:13px;padding:13px 14px}.request-draft-top{padding:19px 17px}.request-draft h3{font-size:25px}.request-draft-body{padding:17px}.request-draft pre{font-size:13px;padding:14px}.draft-actions{gap:16px}.draft-actions .text-link{font-size:12px}.request-card .copy-draft{font-size:12px}.contact-page .footer-brand-row{padding-top:45px}}
@media(max-width:370px){.contact-desk{padding-left:14px;padding-right:14px}.request-card{padding:24px 17px}.request-heading h2{font-size:30px}.request-card .topic-choices span{font-size:11px;gap:13px;padding:10px}.contact-method>a{font-size:22px}.case-index{font-size:9px}.case-controls button{min-width:34px}.case-heading h2{font-size:29px}.case-heading h2>span{font-size:20px}}
@media(prefers-reduced-motion:reduce){.case-dialog[open]{animation:none}.case-scroll{scroll-behavior:auto}}

.project-client-mark.logo-otto-dmexco{overflow:hidden}.project-client-mark.logo-otto-dmexco img{width:165%;height:165%;max-width:none;flex-shrink:0}.case-heading .project-client-mark.logo-otto-dmexco{justify-content:center}.project-client-mark.logo-ndr-hanse-sail img{width:100%;height:115%}.standalone-chapter{margin:30px 0}.standalone-chapter h3{font-size:23px;font-weight:400;letter-spacing:-.025em;margin:0 0 14px}.standalone-chapter p{font-size:17px;line-height:1.65;color:#666;margin:0}

.project-client-mark.logo-otto-dmexco img{object-position:center!important}
