/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--sans:var(--font-geist-sans), Helvetica, Arial, sans-serif;--mono:var(--font-geist-mono), "SFMono-Regular", Consolas, monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--size-nav:10px;--size-label:10px;--size-small:14px;--size-body:1rem;--size-lead:clamp(1.5rem, 3vw, 3rem);--size-section:clamp(2.8rem, 6vw, 6.5rem);--size-header:64px;--size-header-control:35px;--leading-label:1.2;--leading-body:1.55;--leading-lead:1.08;--leading-section:.92;--leading-display:.82;--tracking-label:.08em;--tracking-lead:-.03em;--tracking-heading:-.05em;--tracking-display:-.065em}*{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%;scroll-padding-top:var(--size-header);background:#0b0d0c}body{font-kerning:normal;font-optical-sizing:auto;background:#0b0d0c;min-height:100%;margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.skip-link{z-index:100;color:#111;background:#fff;padding:.75rem 1rem;position:fixed;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.concept-casebook{--black:#0b0d0c;--bone:#eeeae1;--acid:#ff5a1f;--frame-grey:#aaa8a2;--screen-shadow:0 20px 52px #0000003d;background:var(--black);min-height:100vh;color:var(--bone);font-family:var(--sans)}.concept-casebook :is(h1,h2,h3){font-weight:var(--weight-medium);text-wrap:balance}.concept-casebook :is(p,li){text-wrap:pretty}.casebook-header{z-index:50;height:var(--size-header);-webkit-backdrop-filter:blur(14px);font:var(--weight-medium) var(--size-nav)/1.2 var(--sans);background:#0b0d0cf0;border-bottom:1px solid #333733;grid-template-columns:1fr 1fr;align-items:center;padding:0 clamp(1.25rem,3vw,3.5rem);display:grid;position:sticky;top:0}.casebook-mark{width:var(--size-header-control);height:var(--size-header-control);place-items:center;display:grid}.casebook-mark img{width:100%;height:100%;display:block}.casebook-header>p{color:#9ca19b;justify-self:end;margin:0}.casebook-header__cta{height:var(--size-header-control);border:1px solid var(--acid);color:var(--acid);font:inherit;text-transform:uppercase;white-space:nowrap;justify-self:end;align-items:center;gap:.8rem;padding:.65rem .8rem;transition:background-color .2s,color .2s;display:inline-flex}.casebook-header__cta:hover,.casebook-header__cta:focus-visible{background:var(--acid);color:#fff}.casebook-header a:hover:not(.casebook-header__cta){color:var(--acid)}.casebook-hero{isolation:isolate;min-height:calc(100svh - var(--size-header));flex-direction:column;padding:clamp(2rem,4vh,3rem) clamp(1.25rem,3vw,3.5rem) 2.25rem;display:flex;position:relative;overflow:hidden}.casebook-hero:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 58% 52%,#0000 0 17%,#0b0d0c2e 48%,#0b0d0cc7 100%),linear-gradient(#0b0d0c2e 0%,#0000 35%,#0b0d0c80 100%);position:absolute;inset:0}.hero-webgl{z-index:-2;pointer-events:none;opacity:.98;filter:saturate(.9)contrast(1.05);width:100%;height:100%;position:absolute;inset:0}.hero-webgl--gradient{filter:saturate(.96)contrast(1.04)}.casebook-hero__topline,.casebook-hero__bottom{color:#9ca19b;font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;justify-content:space-between;gap:3rem;display:flex}.casebook-hero__topline p{margin:0}.casebook-hero__headline{z-index:1;width:min(48vw,760px);margin-top:clamp(1.25rem,2.5vh,2rem);position:relative}.casebook-hero h1{max-width:760px;font-size:clamp(4rem,6.8vw,7.5rem);line-height:var(--leading-display);letter-spacing:var(--tracking-display);text-transform:uppercase;margin:0}.casebook-hero__bottom{align-items:end;margin-top:auto}.casebook-hero__index{margin:0}.casebook-hero__proof{border-top:1px solid #454944;width:min(292px,28vw);padding-top:.85rem}.casebook-hero__proof>div{color:var(--bone);font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);justify-content:flex-start;align-items:baseline;gap:2rem;margin-bottom:1.25rem;display:flex}.casebook-hero__proof p{color:#b2b7b0;font:var(--weight-regular) var(--size-small)/var(--leading-body) var(--sans);text-transform:none;margin:0}.casebook-logo-wall{--logo-gap:clamp(3rem, 6vw, 7rem);border-top:1px solid #333733;border-bottom:1px solid #333733;margin:0 clamp(1.25rem,3vw,3.5rem);padding:1.75rem 0;overflow:hidden}.casebook-logo-wall__viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.casebook-logo-wall__track{align-items:center;gap:var(--logo-gap);will-change:transform;width:max-content;animation:40s linear infinite casebook-logo-loop;display:flex}.casebook-logo-wall__list{align-items:center;gap:var(--logo-gap);margin:0;padding:0;list-style:none;display:flex}.casebook-logo-wall__list li{flex:0 0 clamp(180px,18vw,260px);place-items:center;width:clamp(180px,18vw,260px);height:110px;display:grid}.casebook-logo-wall__list img{object-fit:contain;filter:grayscale()brightness(0)invert();opacity:.72;width:auto;max-width:100%;height:auto;max-height:62px;display:block}.casebook-logo-wall__list li:first-child img{max-width:180px;max-height:76px}.casebook-logo-wall__list li:nth-child(2) img{max-width:190px}.casebook-logo-wall__list li:nth-child(3) img{height:37.5px;max-height:37.5px}.casebook-logo-wall__list li:nth-child(4) img{filter:grayscale()brightness(1.45);opacity:.8;max-height:76px}.casebook-logo-wall__list li:nth-child(5) img{max-height:62px}.casebook-logo-wall__list li:nth-child(6) img{max-width:155px}@keyframes casebook-logo-loop{to{transform:translate3d(calc(-50% - var(--logo-gap) / 2), 0, 0)}}.casebook-projects{padding:0 clamp(1.25rem,3vw,3.5rem)}.casebook-projects__intro{justify-content:space-between;align-items:flex-start;gap:3rem;padding:5rem 0 2rem;display:flex}.casebook-projects__intro .casebook-label{margin:0}.casebook-projects__intro>p:last-child{color:#b2b7b0;width:min(480px,45vw);font:var(--weight-regular) var(--size-body)/var(--leading-body) var(--sans);margin:0}.casebook-project{border-top:1px solid #333733;grid-template-columns:1.7fr 1fr;gap:clamp(2rem,6vw,7rem);padding:4rem 0 7rem;display:grid}.casebook-project__visual{background:var(--frame-grey);place-items:center;min-height:540px;padding:clamp(1rem,3vw,3.5rem);display:grid;overflow:hidden}.casebook-project__thumbnail{aspect-ratio:4/3;width:min(100%,780px);box-shadow:var(--screen-shadow);background:#f5f3ed;overflow:hidden}.casebook-project__thumbnail img{object-fit:contain;width:100%;height:100%;display:block}.casebook-project__copy{flex-direction:column;display:flex}.casebook-project__copy>div{color:#9ca19b;font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;justify-content:space-between;display:flex}.casebook-project__copy h2{font-size:var(--size-section);line-height:var(--leading-section);letter-spacing:var(--tracking-heading);margin:auto 0 1rem}.casebook-project__copy>p{font:var(--weight-regular) var(--size-body)/var(--leading-body) var(--sans)}.casebook-project__copy ul{border-top:1px solid #333733;margin:2rem 0 0;padding:0;list-style:none}.casebook-project__copy li{font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;border-bottom:1px solid #333733;padding:.8rem 0}.casebook-profile{border-top:1px solid #333733;margin:0 clamp(1.25rem,3vw,3.5rem);padding:7rem 0}.casebook-label{color:var(--acid);font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0 0 4rem}.casebook-profile__statement{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:clamp(3rem,7vw,7rem);display:grid}.casebook-profile__statement h2{font-size:var(--size-section);line-height:var(--leading-section);letter-spacing:var(--tracking-heading);margin:0}.casebook-profile__statement p{font:var(--weight-regular) var(--size-body)/var(--leading-body) var(--sans);margin:0}.casebook-profile__body{gap:1.15rem;display:grid}.casebook-capabilities{background:#333733;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:7rem;display:grid}.casebook-capabilities>span{background:var(--black);min-height:180px;font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;flex-direction:column;padding:1.2rem;display:flex}.casebook-capabilities svg{width:28px;height:28px;color:var(--acid);stroke-width:1.5px}.casebook-capabilities small{color:#777d77;font:inherit;margin-top:1.25rem}.casebook-capabilities strong{width:100%;color:var(--bone);font:inherit;font-weight:var(--weight-medium);text-wrap:balance;margin-top:auto;line-height:1.45}.casebook-contact{font-size:var(--size-lead);line-height:var(--leading-lead);letter-spacing:var(--tracking-lead);border-top:1px solid #333733;grid-template-columns:minmax(0,62rem) max-content;justify-content:space-between;align-items:start;column-gap:clamp(5rem,10vw,12rem);margin:0 clamp(1.25rem,3vw,3.5rem);padding:2rem 0 6rem;display:grid}.casebook-contact>p{margin:0}.casebook-contact__trigger{border:0;border-bottom:1px solid var(--acid);color:var(--acid);cursor:pointer;white-space:nowrap;background:0 0;align-self:start;padding:0}.contact-dialog{background:var(--black);width:min(680px,100% - 2rem);max-height:calc(100svh - 2rem);color:var(--bone);font-family:var(--sans);font-size:var(--size-body);border:1px solid #454944;margin:0;padding:0;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%)}.contact-dialog::backdrop{-webkit-backdrop-filter:blur(6px);background:#000000c7}.contact-dialog__panel{padding:clamp(1.25rem,3vw,2.5rem) clamp(1.25rem,3vw,2.5rem) clamp(3rem,5vw,5rem)}.contact-dialog__header{border-bottom:1px solid #333733;justify-content:space-between;align-items:center;padding-bottom:1.25rem;display:flex}.contact-dialog__header p{color:var(--acid);font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0}.contact-dialog__header button{width:var(--size-header-control);height:var(--size-header-control);flex:0 0 var(--size-header-control);color:var(--bone);cursor:pointer;background:0 0;border:1px solid #454944;position:relative}.contact-dialog__header button:before,.contact-dialog__header button:after{content:"";transform-origin:50%;background:currentColor;width:18px;height:2px;position:absolute;top:50%;left:50%}.contact-dialog__header button:before{transform:translate(-50%,-50%)rotate(45deg)}.contact-dialog__header button:after{transform:translate(-50%,-50%)rotate(-45deg)}.contact-dialog__header button:hover,.contact-dialog__header button:focus-visible{border-color:var(--acid);color:var(--acid)}.contact-dialog__form{gap:1.5rem;padding-top:clamp(2rem,4vw,3rem);display:grid}.contact-dialog__form label{gap:.65rem;display:grid}.contact-dialog__form label>span{color:#9ca19b;font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase}.contact-dialog__form :is(input,textarea){width:100%;color:var(--bone);font:var(--weight-regular) var(--size-body)/var(--leading-body) var(--sans);background:0 0;border:1px solid #454944;border-radius:0;outline:0;padding:.9rem 1rem}.contact-dialog__form :is(input,textarea):focus{border-color:var(--acid)}.contact-dialog__form textarea{resize:vertical;min-height:140px}.contact-dialog__form button{border:1px solid var(--acid);width:100%;color:var(--acid);cursor:pointer;font:var(--weight-semibold) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;background:0 0;justify-content:space-between;padding:1rem;transition:background-color .25s,color .25s;display:flex}.contact-dialog__form button:hover,.contact-dialog__form button:focus-visible{background:var(--acid);color:#fff}.casebook-footer{color:#9ca19b;font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;border-top:1px solid #333733;justify-content:space-between;padding:1.5rem clamp(1.25rem,3vw,3.5rem);display:flex}.casebook-footer a:hover,.casebook-footer a:focus-visible{color:var(--acid)}.casebook-project__link{border:1px solid var(--acid);width:100%;color:var(--acid);font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;justify-content:space-between;margin-top:2rem;padding:.9rem 1rem;transition:background-color .2s,color .2s;display:flex}.casebook-project__link:hover,.casebook-project__link:focus-visible{background:var(--acid);color:#fff}.project-page{overflow:clip}.project-label{color:var(--acid);font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0}.project-hero{padding:2rem clamp(1.25rem,3vw,3.5rem) 0}.project-hero__topline{color:#9ca19b;font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;justify-content:space-between;gap:2rem;display:flex}.project-hero__topline a{color:var(--acid)}.project-hero__title{text-align:center;flex-direction:column;align-items:center;padding:clamp(4.5rem,9vw,9rem) 0;display:flex}.project-hero__title>p{color:#9ca19b;font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0}.project-hero__title h1{font-size:clamp(5rem,12vw,12.5rem);line-height:var(--leading-display);letter-spacing:var(--tracking-display);margin:1.25rem 0 0}.project-hero__title--wide h1{font-size:clamp(4rem,9vw,9rem)}.project-snapshot{border-top:1px solid #333733;grid-template-columns:repeat(4,1fr);margin:0;display:grid}.project-snapshot>div{border-right:1px solid #333733;min-height:190px;padding:1.25rem 1.5rem 2rem 0}.project-snapshot>div:not(:first-child){padding-left:1.5rem}.project-snapshot>div:last-child{border-right:0}.project-snapshot dt{color:var(--acid);font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;margin-bottom:3.5rem}.project-snapshot dd{color:#c4c7c2;font:var(--weight-regular) var(--size-small)/var(--leading-body) var(--sans);margin:0}.project-slideshow{background:var(--black);color:var(--bone);padding:clamp(1.25rem,3vw,3.5rem)}.project-slideshow__carousel{outline:none;width:100%;margin:0 auto}.project-slideshow__carousel:focus-visible{box-shadow:0 0 0 2px var(--acid), 0 0 0 4px var(--black)}.project-slideshow__figure{margin:0}.project-slideshow__screen-frame{background:var(--frame-grey);place-items:center;padding:clamp(1.5rem,4.5vw,5.5rem);display:grid}.project-slideshow__screen-stack{width:100%;box-shadow:var(--screen-shadow);background:#171917;position:relative;overflow:hidden}.project-slideshow__screen-stack>img{object-fit:contain;opacity:0;border:0;width:100%;height:100%;transition:opacity .48s cubic-bezier(.22,1,.36,1);display:block;position:absolute;inset:0}.project-slideshow__screen-stack>img.is-active{z-index:1;opacity:1}.project-slideshow__caption-stack{display:grid}.project-slideshow__caption-panel{visibility:hidden;opacity:0;pointer-events:none;grid-area:1/1;grid-template-columns:minmax(150px,.65fr) minmax(320px,1.45fr) minmax(300px,1fr) auto;grid-template-areas:"count title description arrows";align-items:start;gap:clamp(1.5rem,4vw,5rem);padding:clamp(1.5rem,2.5vw,2.5rem) 0 clamp(2rem,3.5vw,3.5rem);transition:opacity .24s;display:grid}.project-slideshow__caption-panel.is-active{visibility:visible;opacity:1;pointer-events:auto}.project-slideshow__count{color:var(--bone);font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase;grid-area:count;gap:1rem;display:flex}.project-slideshow__caption-panel h3{font-size:var(--size-lead);line-height:var(--leading-lead);letter-spacing:var(--tracking-lead);grid-area:title;margin:0}.project-slideshow__caption-panel>p{color:#aeb3ad;max-width:560px;font:var(--weight-regular) var(--size-body)/var(--leading-body) var(--sans);grid-area:description;margin:0}.project-slideshow__arrows{grid-area:arrows;gap:.5rem;display:flex}.project-slideshow__arrows button{width:48px;height:48px;color:var(--bone);cursor:pointer;background:0 0;border:1px solid #454944;font-size:1.15rem}.project-slideshow__steps{grid-template-columns:repeat(4,1fr);gap:clamp(.75rem,2vw,2rem);display:grid}.project-slideshow__steps button{color:#8f948e;cursor:pointer;min-width:0;font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-align:left;text-transform:uppercase;background:0 0;border:0;border-top:1px solid #3b3f3b;align-items:center;gap:.75rem;padding:1rem 0 .25rem;display:flex}.project-slideshow__steps button[aria-current=true]{border-top:3px solid var(--acid);color:var(--acid)}.project-slideshow__steps button:hover,.project-slideshow__steps button:focus-visible{border-top-color:var(--acid);color:var(--acid);outline:none}.project-slideshow__arrows button:hover,.project-slideshow__arrows button:focus-visible{border-color:var(--acid);background:var(--acid);color:#fff;outline:none}.project-reframe,.project-decision-section{padding:clamp(5rem,8vw,8rem) clamp(1.25rem,3vw,3.5rem)}.project-reframe{border-top:1px solid #333733;border-bottom:1px solid #333733}.project-decision-section{border-top:1px solid #333733}.project-reframe__content{grid-template-columns:2.2fr 1fr;align-items:end;gap:clamp(3rem,9vw,10rem);margin-top:4rem;display:grid}.project-reframe h2{max-width:1000px;font-size:var(--size-section);line-height:var(--leading-section);letter-spacing:var(--tracking-heading);margin:0}.project-reframe__content>div{gap:1.5rem;display:grid}.project-reframe__content p{color:#b5bab4;font:var(--weight-regular) var(--size-body)/var(--leading-body) var(--sans);margin:0}.project-section-heading{justify-content:space-between;align-items:flex-start;gap:2rem;width:100%;display:flex}.project-section-heading>p:last-child{color:#aeb3ad;width:min(620px,50vw);font:var(--weight-regular) var(--size-body)/var(--leading-body) var(--sans);text-align:right;margin:0 0 0 auto}.project-section-heading h2{max-width:1050px;font-size:var(--size-section);line-height:var(--leading-section);letter-spacing:var(--tracking-heading);margin:0}.project-decisions{margin:clamp(4rem,8vw,8rem) 0 0;padding:0;list-style:none}.project-decisions li{border-top:1px solid #3b3f3b;grid-template-columns:max-content minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(1rem,1.5vw,1.75rem);padding:2rem 0;display:grid}.project-decisions li:last-child{border-bottom:1px solid #3b3f3b}.project-decisions li>span,.project-decisions small{color:var(--acid);font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label);text-transform:uppercase}.project-decisions h3{font-size:var(--size-lead);line-height:var(--leading-lead);letter-spacing:var(--tracking-lead);margin:0}.project-decisions p{color:#b5bab4;font:var(--weight-regular) var(--size-small)/var(--leading-body) var(--sans);margin:.8rem 0 0}.project-flow{background:#333733;grid-template-columns:repeat(5,1fr);gap:1px;margin:clamp(3rem,6vw,5rem) 0 0;padding:1px;list-style:none;display:grid}.project-flow li{background:var(--black);flex-direction:column;min-height:220px;padding:1.25rem;display:flex}.project-flow span{color:var(--acid);font:var(--weight-medium) var(--size-label)/var(--leading-label) var(--mono);letter-spacing:var(--tracking-label)}.project-flow b{font-size:var(--size-body);line-height:var(--leading-lead);margin-top:auto}.project-flow small{color:#9da29c;min-height:55px;font-size:var(--size-small);line-height:var(--leading-body);margin-top:1rem}@media (width<=900px){.casebook-project,.casebook-profile__statement{grid-template-columns:1fr}.casebook-project__visual{min-height:400px}.casebook-project__copy h2{margin:4rem 0 1rem}.casebook-profile__statement{gap:2rem}.project-reframe__content{grid-template-columns:1fr}.project-slideshow__caption-panel{grid-template-columns:1fr auto;grid-template-areas:"count arrows""title title""description description";gap:1.5rem 2rem}.project-slideshow__caption-panel h3{max-width:760px}.project-slideshow__caption-panel>p{max-width:680px}.project-hero__title h1{margin-top:1rem}.project-snapshot{grid-template-columns:1fr 1fr}.project-snapshot>div:nth-child(2){border-right:0}.project-snapshot>div:nth-child(n+3){border-top:1px solid #333733}.project-reframe__content{gap:4rem}.project-section-heading{flex-direction:column;gap:2rem}.project-section-heading>p:last-child{text-align:left;width:100%;margin-left:0}.project-decisions li{grid-template-columns:max-content 1fr}.project-decisions li>div{grid-column:2}.project-flow{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.casebook-footer{flex-direction:column;gap:.8rem}.casebook-logo-wall{--logo-gap:2.5rem;padding:1.25rem 0}.casebook-logo-wall__list li{flex-basis:180px;width:180px;height:92px}.casebook-header{grid-template-columns:1fr max-content;padding:0 1.25rem}.casebook-header>p{display:none}.casebook-header__cta{display:inline-flex}.casebook-capabilities{grid-template-columns:1fr}.casebook-projects__intro{flex-direction:column;gap:1.25rem}.casebook-projects__intro>p:last-child{width:100%}.casebook-contact{grid-template-columns:1fr;gap:2rem}.contact-dialog{width:min(680px,100% - 1rem);max-height:calc(100svh - 1rem)}.casebook-hero__topline{justify-content:flex-start;align-items:flex-start;gap:0}.casebook-hero__topline>p{display:none}.casebook-hero__topline>span{text-align:left;max-width:none}.casebook-hero__headline{width:100%;margin-top:1.25rem}.casebook-hero h1{font-size:clamp(3.7rem,17vw,6.2rem)}.hero-webgl{opacity:.9;transform:translateY(8%)}.hero-webgl--gradient{opacity:1;transform:none}.casebook-hero__bottom{align-items:flex-end}.casebook-hero__index{display:block}.casebook-hero__proof{display:none}.casebook-project__visual{min-height:280px;padding:1rem}.casebook-profile{padding:5rem 0}.casebook-capabilities>span{min-height:150px}.project-hero{padding-top:1.25rem}.project-hero__topline{flex-direction:column;align-items:flex-start;gap:.8rem}.project-hero__title{padding:4.5rem 0}.project-hero__title h1{font-size:clamp(4.6rem,24vw,7rem)}.project-snapshot,.project-flow{grid-template-columns:1fr}.project-snapshot>div{border-top:1px solid #333733;border-right:0;min-height:150px;padding:1.25rem 0 1.5rem}.project-snapshot>div:not(:first-child){padding-left:0}.project-snapshot dt{margin-bottom:2.5rem}.project-slideshow,.project-slideshow__screen-frame{padding:1rem}.project-slideshow__screen-stack{box-shadow:0 12px 30px #0003}.project-reframe,.project-decision-section{padding-top:5rem;padding-bottom:5rem}.project-slideshow__caption-panel{padding-top:1.25rem}.project-slideshow__steps{grid-template-columns:repeat(4,1fr)}.project-slideshow__steps button{justify-content:center;padding:.9rem .25rem .25rem}.project-slideshow__steps button span:last-child{display:none}.project-slideshow__arrows button{width:44px;height:44px}.project-reframe__content{margin-top:3rem}.project-decisions li{grid-template-columns:max-content 1fr;gap:1rem}.project-flow li{min-height:180px}.project-hero__title--wide h1{font-size:clamp(3.3rem,17vw,5.2rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.casebook-logo-wall__track{animation-play-state:paused;transform:translate(0)}.hero-webgl{opacity:.72}.project-slideshow__screen-stack>img,.project-slideshow__caption-panel{transition:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
