/* Three disciplines, one editorial system. */
.discipline-links{position:relative;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--hair)}
.discipline-links>a{position:relative;display:grid;align-content:start;gap:14px;padding:28px 32px 30px 0;text-decoration:none;min-width:0}
.discipline-links>a+a{padding-left:28px;border-left:1px solid var(--hair)}
.discipline-links strong{font-size:clamp(22px,2.3vw,32px);max-width:10em;line-height:1.15}
.discipline-links .discipline-arrow{position:absolute;right:14px;bottom:28px;font-size:23px;transition:transform .25s}
.discipline-links a:hover .discipline-arrow{transform:translate(3px,-3px)}
.discipline-links a:hover .label{color:var(--ink)}
.anchor-alias{display:block;position:relative;top:-100px}
.disciplines{padding-bottom:100px}.disciplines>.sec-head{margin-bottom:64px}
.discipline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center;padding-block:68px;border-top:1px solid var(--hair);scroll-margin-top:92px}
.discipline:last-child{padding-bottom:0}
.discipline-copy{min-width:0}.discipline-name{font-weight:400;font-size:11px;letter-spacing:.2em;margin:0 0 26px;color:var(--mute)}
.discipline-title{font-family:var(--display);font-size:clamp(38px,4vw,62px);line-height:1.06;letter-spacing:-.035em;margin:0 0 25px;text-wrap:balance}
.discipline-description{font-size:17px;line-height:1.7;max-width:31em;margin:0 0 28px;color:var(--mute)}
.deliverables{list-style:none;padding:0;margin:0 0 28px;font-size:14px;border-top:1px solid var(--hair)}
.deliverables li{padding:11px 0 11px 21px;border-bottom:1px solid var(--hair);position:relative;line-height:1.5}
.deliverables li::before{content:'+';position:absolute;left:0;color:var(--mute)}
.text-link{display:inline-flex;align-items:center;gap:22px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:9px}
.text-link>span:last-child{font-size:22px;line-height:1;transition:transform .2s}.text-link:hover>span:last-child{transform:translate(3px,-3px)}
.discipline-visual{margin:0;min-width:0}.discipline-visual figcaption{font-size:9px;letter-spacing:.08em;line-height:1.6;color:var(--mute);margin-top:16px}
.discipline:nth-of-type(2) .discipline-copy{order:2}.discipline:nth-of-type(2) .discipline-visual{order:1}
.discipline .focus-art{aspect-ratio:1/1.07}.discipline .browser-content>div{font-size:clamp(28px,2.5vw,38px)}
.ux-art{aspect-ratio:1/1.07;background:var(--panel);padding:12% 8% 7%;display:flex;flex-direction:column;justify-content:center}
.ux-app{background:var(--paper);color:var(--ink);border:1px solid var(--hair);box-shadow:0 18px 45px #0000000c;padding:24px}
.ux-app-head{display:flex;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--hair)}
.ux-app-head>.mono{font-size:9px;letter-spacing:.06em;margin-left:auto}.ux-brand{font-family:var(--display);font-size:30px;line-height:1;letter-spacing:-.07em}.ux-avatar{width:28px;height:28px;border:1px solid var(--hair);border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:9px}
.ux-switch{display:flex;gap:18px;margin-block:22px 28px;border-bottom:1px solid var(--hair)}
.ux-switch button{font:inherit;font-size:12px;color:var(--mute);background:none;border:0;border-bottom:2px solid transparent;padding:0 0 10px;cursor:pointer;min-height:34px}
.ux-switch button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}
.ux-panel{min-height:238px}.ux-panel>.mono{font-size:8px;letter-spacing:.08em;color:var(--mute)}.ux-panel h4{font-family:var(--display);font-size:clamp(27px,2.6vw,38px);line-height:1.13;letter-spacing:-.025em;font-weight:400;margin:16px 0 28px}.ux-panel>p{font-size:13px;line-height:1.65;color:var(--mute);margin:0 0 21px}
.ux-progress{display:flex;justify-content:space-between;font-size:11px;gap:12px}.ux-progress>span:last-child{font-family:var(--mono);font-size:9px}.ux-track{height:3px;background:var(--hair);margin:10px 0 16px}.ux-track i{display:block;background:var(--ink);width:60%;height:100%}.ux-row{display:flex;justify-content:space-between;gap:14px;font-size:11px;padding:11px 0;border-bottom:1px solid var(--hair)}.ux-hint{font-size:9px;letter-spacing:.06em;text-align:center;line-height:1.5;margin:22px 0 0;color:var(--mute)}
.film-stage{aspect-ratio:1/1.07;background:#242426;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f5f5f3;position:relative}
.film-format-switch{display:flex;justify-content:center;gap:8px;margin-bottom:24px}.film-format-switch button{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:#ddd;background:transparent;border:1px solid #777;padding:9px 18px;cursor:pointer}.film-format-switch button[aria-pressed=true]{color:#181819;background:#f5f5f3;border-color:#f5f5f3}.film-format-switch button:focus-visible{outline-color:white}
.film-stage .film-art{width:100%;aspect-ratio:16/9;padding:20px;flex:none;transition:width .4s ease,aspect-ratio .4s ease;background:#0d0d0e;border:1px solid #626265}
.film-stage .film-type{font-size:clamp(45px,5.5vw,80px);padding:12px 0}.film-stage .film-top{font-size:7px;padding-bottom:9px}.film-stage .film-bottom{font-size:7px;padding-bottom:8px}.film-stage .film-timeline{height:5px}.film-stage .film-orbit{right:-12%}.film-format-hint{font-size:8px;letter-spacing:.06em;color:#b9b9bd;line-height:1.6;text-align:center;margin:24px 0 0}
.film-stage[data-format=portrait] .film-art{width:47%;aspect-ratio:9/16}.film-stage[data-format=portrait] .film-type{font-size:clamp(30px,3.2vw,49px)}.film-stage[data-format=portrait] .film-top>span:last-child{display:none}.film-stage[data-format=portrait] .film-bottom{font-size:6px;letter-spacing:0}
.ink-control{position:absolute;right:0;bottom:4px;z-index:5;pointer-events:auto;background:var(--paper);color:var(--mute);border:1px solid var(--hair);padding:10px 13px;font-size:9px;letter-spacing:.05em;cursor:pointer}.ink-control:hover{border-color:var(--ink);color:var(--ink)}.ink-play-label{display:none}.ink-control[aria-pressed=true] .ink-play-label{display:inline}.ink-control[aria-pressed=true] .ink-pause-label{display:none}
#haltung .manifest blockquote{font-size:clamp(34px,4vw,59px)}#haltung .duo{margin-top:48px;padding-top:40px}#haltung .duo .word{font-size:clamp(60px,7vw,105px)}#haltung .duo .amp{font-size:clamp(90px,9vw,135px)}#haltung .tenets{margin-top:48px}
.steps{counter-reset:steps}.steps li{border-top:1px solid var(--ink);padding-top:18px;gap:19px}.steps .n{font-size:13px}.steps h3{font-size:30px}.steps p{font-size:16px;line-height:1.6}.steps-note{font-size:10px}
.faq{padding-bottom:0}.faq-list{max-width:calc(66.666% - 8px);margin-left:auto;border-top:1px solid var(--ink)}.faq details{border-bottom:1px solid var(--hair)}.faq summary{position:relative;list-style:none;font-size:19px;line-height:1.4;padding:23px 38px 23px 0;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:5px;top:23px;font-family:var(--mono);font-size:22px;font-weight:400}.faq details[open] summary::after{content:'−'}.faq details>p{color:var(--mute);max-width:40em;font-size:16px;line-height:1.7;margin:0 30px 25px 0}
.form-help{grid-column:1/-1;font-size:12px;color:var(--mute);margin:-18px 0 -8px;line-height:1.6}.contact-intro h2{font-size:clamp(50px,6vw,88px)}
@media(min-width:761px) and (max-width:1050px){.discipline{gap:30px}.ux-art{padding:7%}.ux-app{padding:17px}.ux-app-head>.mono{font-size:8px}.ux-avatar{display:none}.ux-switch{gap:12px}.ux-switch button{font-size:11px}.film-stage{padding:18px}.film-stage .film-art{padding:13px}.discipline-description{font-size:16px}.deliverables{font-size:13px}}
@media(max-width:760px){.discipline-links{grid-template-columns:1fr}.discipline-links>a,.discipline-links>a+a{padding:21px 42px 22px 0;border-left:0}.discipline-links>a+a{border-top:1px solid var(--hair)}.discipline-links strong{font-size:29px;max-width:none}.discipline-links .label{font-size:10px}.discipline-links .discipline-arrow{bottom:23px}.disciplines{padding-bottom:70px}.disciplines>.sec-head{margin-bottom:35px}.discipline{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:42px;scroll-margin-top:76px}.discipline:nth-of-type(2) .discipline-copy,.discipline:nth-of-type(2) .discipline-visual{order:initial}.discipline-title{font-size:clamp(37px,8vw,55px)}.discipline-name{margin-bottom:20px}.discipline-description{font-size:17px;max-width:none}.deliverables{font-size:14px}.text-link{font-size:11px;letter-spacing:.07em}.discipline .focus-art,.ux-art{aspect-ratio:1/1.05}.discipline .browser-content>div{font-size:clamp(26px,7vw,45px)}.ux-art{padding:9% 7% 6%}.ux-app{padding:21px}.ux-panel h4{font-size:clamp(29px,7vw,42px)}.ux-panel{min-height:235px}.film-stage{aspect-ratio:1/1.05;padding:23px}.film-stage .film-type{font-size:clamp(47px,12vw,83px)}.film-stage[data-format=portrait] .film-type{font-size:clamp(29px,7vw,48px)}.film-stage .film-art{padding:15px}.film-stage[data-format=portrait] .film-art{width:45%}.film-format-hint{margin-top:18px}.film-format-switch{margin-bottom:18px}.film-format-switch button{min-height:38px}.ink-control{bottom:auto;top:-52px;right:0;font-size:8px;padding:8px 10px}#haltung .duo{grid-template-columns:1fr auto 1fr;gap:14px}#haltung .duo .word{font-size:clamp(44px,10vw,68px)}#haltung .duo .amp{font-size:60px}.faq-list{max-width:100%}.faq summary{font-size:18px}.steps{row-gap:30px}.steps li:last-child{grid-column:auto}.form-help{margin-top:-20px}.contact-intro h2{font-size:62px}}
@media(max-width:380px){.ux-app{padding:16px}.ux-app-head{gap:10px}.ux-app-head>.mono{font-size:8px}.ux-avatar{width:23px;height:23px}.ux-switch{gap:15px}.ux-switch button{font-size:11px}.ux-panel h4{font-size:28px}.ux-row{font-size:10px}.ux-hint{font-size:8px}.film-stage{padding:16px}.film-stage .film-art{padding:12px}.film-stage .film-type{font-size:42px}.film-stage .film-bottom{font-size:6px}.film-stage[data-format=portrait] .film-type{font-size:27px}.film-stage[data-format=portrait] .film-top{font-size:6px}#haltung .duo{grid-template-columns:1fr}#haltung .duo>div:last-child{text-align:left}.contact-intro h2{font-size:53px}}
@media(prefers-reduced-motion:reduce){.film-stage .film-art,.text-link>span:last-child,.discipline-arrow{transition:none}}
.discipline .phone-art{overflow:hidden}
.discipline .phone-art>div{font-size:clamp(16px,2vw,27px)}
@media(max-width:760px){.discipline .phone-art{width:24%;padding:12px 8px}.discipline .phone-art>div{font-size:clamp(15px,4vw,24px)}}
/* Use explicit colours so navigation remains legible without blend effects. */
.links .goo{display:none}
.links a{color:var(--ink);mix-blend-mode:normal;transition:background .2s,color .2s}
.links a.ink-target,.links a:hover,.links a:focus-visible{background:var(--ink);color:var(--paper)}
.foot-top h2{margin:0 0 12px;font-size:11.5px;line-height:1.6}

/* Original brand assets in every design study. */
.study-wordmark{display:block;width:128px;height:auto;object-fit:contain;flex-shrink:0}
.study-monogram{display:block;width:33px;height:auto;object-fit:contain;flex-shrink:0}
.study-inverse{filter:invert(1)}
.phone-art .study-monogram{width:27px}
.film-brand{display:flex;align-items:center;gap:10px}
.film-brand .study-monogram{width:23px}
.film-top{align-items:center}
@media(max-width:760px){.study-wordmark{width:108px}.browser-bar>span{font-size:7px;letter-spacing:.05em}.phone-art .study-monogram{width:24px}}

/* Let the ink share the page instead of sitting in a framed tank. */
.hero .tank{border:0;background:var(--paper);height:clamp(620px,76vh,820px)}
.hero .tank canvas{mask-image:radial-gradient(ellipse 57% 65% at 76% 43%,#000 16%,#000c 39%,transparent 77%);-webkit-mask-image:radial-gradient(ellipse 57% 65% at 76% 43%,#000 16%,#000c 39%,transparent 77%)}
.hero .tank-mono{left:77%;top:46%;width:clamp(190px,22vw,310px)}
.hero .tank-ui{padding-block:26px 54px}
.hero .hero-sub{background:transparent}
.hero .tank.no-gl{background:var(--paper)}
.intro{border-top:1px solid var(--hair)}
.ink-control{background:transparent;border-color:transparent;padding-inline:0}
.ink-control:hover{border-color:transparent;text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){.hero .tank{height:710px;min-height:0}.hero .tank-ui{padding-block:22px 37px}.hero .tank-mono{left:68%;top:32%;width:165px}.hero .tank canvas{mask-image:radial-gradient(ellipse 85% 48% at 67% 31%,#000 13%,#000b 43%,transparent 84%);-webkit-mask-image:radial-gradient(ellipse 85% 48% at 67% 31%,#000 13%,#000b 43%,transparent 84%)}.ink-control{top:-44px}.intro{padding-top:38px}}
@media(max-width:380px){.hero .tank{height:685px}.hero .tank-mono{width:140px;top:31%}}

/* Quiet Apple references, subordinate to the studio identity. */
.studio-window-chrome{display:flex;align-items:center;gap:5px;margin:-2px 0 18px;padding-bottom:11px;border-bottom:1px solid #d7d5d0}
.studio-window-chrome i{display:block;width:5px;height:5px;border:1px solid #9d9d98;border-radius:50%}
.studio-window-chrome span{margin-left:auto;margin-right:auto;font-family:var(--sans);font-size:8px;letter-spacing:.03em;color:#666660}
.apple-workflow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.65fr);align-items:center;gap:55px;padding:50px 0;border-bottom:1px solid var(--hair)}
.apple-workflow-copy h3{font-family:var(--display);font-size:clamp(34px,3.7vw,53px);line-height:1.1;font-weight:400;letter-spacing:-.025em;margin:18px 0}
.apple-workflow-copy p{font-size:17px;line-height:1.7;color:var(--mute);max-width:34em;margin:0}
.studio-laptop{width:min(100%,320px);justify-self:center;padding-top:8px}
.studio-laptop-screen{width:88%;aspect-ratio:1.55;margin:0 auto;position:relative;border:1px solid var(--mute);border-radius:10px 10px 2px 2px;background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px}
.studio-laptop-screen img{display:block;width:55px;height:auto}
.studio-laptop-camera{position:absolute;top:6px;left:calc(50% - 2px);width:3px;height:3px;background:var(--mute);border-radius:50%}
.studio-laptop-line{font-family:var(--mono);font-size:7px;letter-spacing:.08em;color:var(--mute)}
.studio-laptop-base{height:8px;border:1px solid var(--mute);border-radius:1px 1px 50% 50%;background:var(--panel);position:relative}
.studio-laptop-base::before{content:'';position:absolute;left:42%;right:42%;top:-1px;height:3px;border:1px solid var(--mute);border-top:0;border-radius:0 0 3px 3px}
@media(max-width:760px){.apple-workflow{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:38px}.apple-workflow-copy h3{font-size:38px}.studio-laptop{width:240px;margin-bottom:5px}.studio-window-chrome{margin-bottom:12px;padding-bottom:8px}}

/* The studio film plays only on request, with native accessible controls. */
.brand-film{background:#101010;border:1px solid var(--hair);overflow:hidden;scroll-margin-top:120px}
.brand-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#101010;color-scheme:dark}
.discipline-visual .brand-film-caption{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-top:18px;color:var(--mute)}
.brand-film-caption .mono{font-size:9px;letter-spacing:.08em}
.brand-film-note{font-size:13px;color:var(--mute);line-height:1.6;margin:10px 0 0}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero-film-link{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-size:12px;text-decoration:none;border-bottom:1px solid var(--hair);padding:10px 0}
.hero-film-link:hover{border-color:var(--ink)}
.hero-film-link>span:first-child{font-size:20px;line-height:1}
@media(max-width:760px){.hero-actions{gap:6px 20px}.hero-film-link{font-size:11px}.hero .tank{height:750px}.brand-film{scroll-margin-top:100px}}
@media(max-width:380px){.hero .tank{height:730px}.brand-film-caption .mono{font-size:8px}}

/* Selected websites, in the studio's editorial style. */
.references{scroll-margin-top:90px;padding-top:20px}
.references .sec-head{margin-bottom:26px}
.references-intro{max-width:38em;color:var(--mute);font-size:17px;line-height:1.7;margin:0 0 48px}
.reference-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--hair)}
.reference-list li{border-bottom:1px solid var(--hair)}
.reference-link{display:grid;grid-template-columns:55px minmax(0,1fr) auto;gap:24px;align-items:center;padding:34px 0;color:var(--ink);text-decoration:none;transition:background .2s}
.reference-number{font-size:11px;color:var(--mute);align-self:start;padding-top:4px}
.reference-category{font-size:9px;letter-spacing:.12em;color:var(--mute)}
.reference-project{min-width:0}.reference-project h4{font-family:var(--display);font-size:clamp(26px,3vw,44px);font-weight:400;line-height:1.15;letter-spacing:-.025em;margin:12px 0}
.reference-domain{font-size:13px;color:var(--mute);overflow-wrap:anywhere}
.reference-visit{display:flex;gap:23px;align-items:center;font-size:11px}
.reference-arrow{font-size:28px;transition:transform .2s}.reference-link:hover .reference-arrow{transform:translate(3px,-3px)}
.reference-link:hover .reference-domain{text-decoration:underline;text-underline-offset:4px}
.reference-link:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
@media(max-width:760px){.reference-link{grid-template-columns:25px minmax(0,1fr) 24px;gap:12px;padding:28px 0}.reference-visit>span:first-child{display:none}.reference-project h4{font-size:29px}.reference-category{font-size:8px;letter-spacing:.06em}.references-intro{font-size:16px;margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){.reference-link,.reference-arrow{transition:none}}
.reference-visit .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.reference-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px}
.reference-group-head h3{font-family:var(--display);font-size:clamp(27px,3vw,40px);line-height:1.2;font-weight:400;margin:0;letter-spacing:-.02em}
.reference-group-head>.mono{font-size:10px;color:var(--mute);flex-shrink:0}
.reference-group-smp{margin-top:80px;padding-top:40px;border-top:1px solid var(--ink)}
.reference-group-note{max-width:42em;color:var(--mute);font-size:16px;line-height:1.7;margin:0 0 30px}
@media(max-width:760px){.reference-group-head{flex-direction:column;gap:12px}.reference-group-smp{margin-top:56px;padding-top:30px}}

.service-detail-link{font-size:13px;line-height:1.6;margin:22px 0 0;color:var(--mute)}.service-detail-link a{text-underline-offset:4px}
