/* BDCompany studio system. Fixed brand, authored compositions, native scrolling. */
:root{--red:#FF5139;--black:#000000;--white:#FFFFFF;--surface:#F4F4F4;--gutter:clamp(24px,5.45vw,88px);--space:clamp(72px,8.5vw,136px);--ease:cubic-bezier(.22,1,.36,1);--display:clamp(48px,7.3vw,116px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--surface);color:var(--black);font:400 20px/1.45 Urbanist,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600;line-height:1;letter-spacing:-.045em}button,input,select,textarea{font:400 16px/1.4 'Work Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button:disabled{cursor:default;opacity:.45}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--red);outline-offset:5px}::selection{background:var(--red);color:var(--black)}.section,.wrap{padding-inline:var(--gutter)}.section{padding-block:var(--space)}.eyebrow,.section-label{font:400 14px/1.4 'Work Sans',sans-serif;letter-spacing:.015em;text-transform:uppercase}.section-label{display:flex;justify-content:space-between;gap:24px;border-top:1px solid currentColor;padding-top:20px;margin-bottom:56px}.section-label>span:last-child{text-align:right}.skip{position:fixed;top:12px;left:12px;transform:translateY(-150%);z-index:60;padding:14px;background:var(--white)}.skip:focus{transform:none}.outline,.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:48px;padding:12px 26px;font:400 14px/1.4 'Work Sans',sans-serif;transition:background .18s,color .18s}.outline{border:1px solid currentColor;border-radius:99px}.outline:hover{background:var(--black);color:var(--white)}.button{background:var(--black);color:var(--white)}.button:hover{background:var(--red);color:var(--black)}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;font:400 16px/1.4 'Work Sans',sans-serif;text-decoration:underline;text-underline-offset:5px}
/* Navigation: one shared header and one full-screen directory, on every route. */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:26px var(--gutter);position:relative;z-index:10;background:var(--surface)}.brand{display:block;width:210px;flex-shrink:0}.brand img{width:100%;height:auto}.site-header nav{display:flex;align-items:center;gap:36px;margin-left:auto;font:400 14px/1.4 'Work Sans',sans-serif}.site-header nav a{padding-block:14px;min-height:44px}.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}.menu-trigger{min-height:44px;min-width:44px;display:flex;align-items:center;gap:16px;padding:8px 0;font-size:14px}.menu-bars{position:relative;display:block;width:23px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.immersive-home .scroll-header{position:fixed;inset:0 0 auto;transform:none;visibility:visible;background:transparent;color:var(--white);mix-blend-mode:difference;border-bottom:1px solid transparent;transition:background .25s,border-color .25s,color .25s}.immersive-home .scroll-header .brand img{filter:invert(1)}.immersive-home .scroll-header.is-solid{background:var(--surface);color:var(--black);mix-blend-mode:normal;border-bottom-color:rgb(0 0 0 / .12)}.immersive-home .scroll-header.is-solid .brand img{filter:none}.site-header .brand{width:155px}
.modal-open{overflow:hidden}dialog{border:0;margin:auto;padding:0;color:var(--black);background:var(--surface)}dialog::backdrop{background:rgb(0 0 0 / .7)}.menu-dialog{width:100%;max-width:none;max-height:none;height:100dvh;background:var(--red);overflow:auto}.menu-dialog[open]{animation:menu-enter .4s var(--ease)}.menu-top{display:flex;justify-content:space-between;align-items:center;padding:26px var(--gutter)}.close{display:flex;align-items:center;gap:16px;min-height:44px;font:400 14px/1.4 'Work Sans',sans-serif}.close span{font-size:30px}.menu-body{display:grid;grid-template-columns:1fr 1.35fr;gap:8vw;padding:40px var(--gutter) 64px;align-items:start}.menu-preview{grid-column:1;grid-row:1;position:sticky;top:24px}.menu-preview img{width:100%;aspect-ratio:4/5;object-fit:cover}.menu-preview>span{display:block;margin-top:18px;font:400 14px/1.4 'Work Sans',sans-serif}.menu-body nav{grid-column:2;grid-row:1;display:flex;flex-direction:column}.menu-body nav a{display:flex;gap:22px;align-items:baseline;font-size:clamp(34px,3.8vw,60px);line-height:1.05;letter-spacing:-.04em;padding-block:16px;border-bottom:1px solid rgb(0 0 0 / .25);font-weight:600;position:relative}.menu-body nav a>span{font:400 14px/1.4 'Work Sans',sans-serif;letter-spacing:0;width:22px}.menu-body nav a small{font:400 14px/1.4 'Work Sans',sans-serif;display:block;letter-spacing:0;margin-top:9px}.menu-body nav a:hover,.menu-body nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}.menu-thumbnail{display:none}.menu-contact{grid-column:2;display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:0;font:400 14px/1.4 'Work Sans',sans-serif}.menu-contact a{min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}@keyframes menu-enter{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:none}}
/* The reel has its own frame. Interface never sits across the words. */
.film-hero{background:var(--black);color:var(--white);padding:clamp(24px,4vw,60px) var(--gutter) 20px;min-height:100svh;display:flex;flex-direction:column;justify-content:center}.film-frame{width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;background:var(--black)}.film-frame video,.film-still,.film-still img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.film-frame video{opacity:0;transition:opacity .3s}.film-frame video.loaded{opacity:1}.film-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;font:400 14px/1.4 'Work Sans',sans-serif;margin-top:20px;min-height:44px}.film-meta>span{max-width:65%}#film-sound{display:flex;gap:10px;align-items:center;min-height:44px;padding:8px 0;font-size:14px;flex-shrink:0}.film-meta button:hover{text-decoration:underline;text-underline-offset:5px}.hero-introduction{display:grid;grid-template-columns:1.6fr 1fr;gap:6vw;align-items:end;padding-bottom:72px}.hero-introduction h1{font-size:var(--display);line-height:.94;letter-spacing:-.055em}.intro-brief{padding-bottom:6px}.intro-brief p{font-size:clamp(24px,2.1vw,34px);line-height:1.2;max-width:420px;letter-spacing:-.02em}.intro-brief .outline{margin-top:32px}.specialties{padding-top:32px}.specialty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.media{overflow:hidden;position:relative;background:var(--white)}.media img{width:100%;height:100%;object-fit:cover}.specialty-tile .media{aspect-ratio:4/5}.specialty-estate img{object-position:48% center}.specialty-publicity img{object-position:58% center}.specialty-software img{object-position:38% center}.tile-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.tile-caption h2{font-size:24px;letter-spacing:-.03em;text-transform:uppercase}.tile-caption>span{font-size:26px}.specialty-tile p{font:400 14px/1.4 'Work Sans',sans-serif;text-transform:uppercase;max-width:260px;margin-top:10px}.specialty-tile:hover h2{text-decoration:underline;text-underline-offset:5px}.specialty-tile .media img{transition:object-position .7s var(--ease)}.specialty-publicity:hover img{object-position:42% center}.specialty-software:hover img{object-position:50% center}
.purpose-section{padding-top:20px}.purpose-stair{font-size:clamp(54px,10vw,160px);line-height:.94;letter-spacing:-.055em}.purpose-stair span{display:block}.purpose-stair span:nth-child(2){margin-left:16%}.purpose-stair span:nth-child(3){margin-left:32%;color:var(--red)}.purpose-bottom{display:grid;grid-template-columns:1fr 1.1fr;gap:6vw;margin-top:64px;align-items:center}.connection-sculpture canvas{width:100%;height:auto}.purpose-copy p{font-size:clamp(20px,2vw,30px);line-height:1.35;max-width:680px}.purpose-copy p+p{margin-top:28px;font-size:20px}.purpose-copy .text-link{margin-top:24px}.discipline-strip{background:var(--red);overflow:hidden;padding:34px 0;contain:paint}.discipline-row{overflow:hidden}.discipline-run{display:flex;width:max-content;animation:discipline-left 28s linear infinite;animation-play-state:paused}.discipline-row:nth-child(2) .discipline-run{animation-direction:reverse;animation-duration:32s}.discipline-group{display:flex;align-items:center;gap:40px;padding-right:40px;white-space:nowrap;font:600 clamp(42px,7.5vw,112px)/1.1 Urbanist,sans-serif;letter-spacing:-.04em}.discipline-group i{font-style:normal;font-weight:400}.discipline-strip.motion-live .discipline-run{animation-play-state:running}.discipline-strip:hover .discipline-run,.discipline-strip:focus .discipline-run{animation-play-state:paused}@keyframes discipline-left{to{transform:translateX(-50%)}}
.method{background:var(--black);color:var(--white)}.method>.section-label{color:var(--red)}.method>h2{font-size:clamp(56px,7.8vw,120px);line-height:.95;margin-bottom:72px}.method-rows article{display:grid;grid-template-columns:40px 1fr 1fr;gap:28px;border-top:1px solid rgb(255 255 255 / .35);padding-block:34px}.method-rows article>span{font:400 14px 'Work Sans',sans-serif;padding-top:7px}.method-rows h3{font-size:clamp(32px,3.5vw,54px)}.method-rows p{font-size:20px;max-width:500px}.pias-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:start}.pias-layout h2{font-size:clamp(46px,5.7vw,88px);line-height:.95}.pias-layout>div>p{margin-top:32px;max-width:450px}.pias-layout .outline{margin-top:30px}.pias-layout .media{aspect-ratio:4/3}.signal-demo{padding:36px 0 0}.signal-word{display:none}.signal-steps{display:flex;justify-content:space-between;gap:12px;font:400 14px/1.4 'Work Sans',sans-serif}.signal-rail{height:1px;background:rgb(0 0 0 / .3);position:relative;margin-top:20px}.signal-rail span{position:absolute;top:-5px;left:0;width:11px;height:11px;background:var(--red);animation:signal-flow 6s var(--ease) infinite;animation-play-state:paused}.signal-demo.stimulus-live .signal-rail span{animation-play-state:running}.signal-demo>p{font:400 14px/1.4 'Work Sans',sans-serif;margin-top:22px;text-transform:uppercase}.signal-steps span{animation:signal-state 6s infinite;animation-play-state:paused}.signal-demo.stimulus-live .signal-steps span{animation-play-state:running}.signal-steps span:nth-child(2){animation-delay:2s}.signal-steps span:nth-child(3){animation-delay:4s}@keyframes signal-flow{0%,12%{left:0;border-radius:50%}34%,45%{left:calc(50% - 6px);border-radius:2px}74%,90%{left:calc(100% - 11px);border-radius:0}100%{left:calc(100% - 11px);opacity:0}}@keyframes signal-state{0%,32%{opacity:1}34%,100%{opacity:.45}}
.idea-strip{background:var(--black);color:var(--white);padding:64px var(--gutter);text-align:center}.idea-strip>p:first-child{font:400 14px 'Work Sans',sans-serif;margin-bottom:24px;text-transform:uppercase}.typed-idea{font-size:clamp(28px,4vw,60px);line-height:1.1;min-height:2.2em;max-width:1100px;margin:0 auto 24px;letter-spacing:-.035em}.typing-cursor{color:var(--red)}.idea-strip a{font:400 14px 'Work Sans',sans-serif;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px}
/* Interior routes share hierarchy, but media carries each discipline. */
.division-heading{padding-top:64px;padding-bottom:60px}.division-meta{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:56px}.division-meta .text-link{font-size:14px}.division-heading h1{font-size:var(--display);line-height:.94;letter-spacing:-.055em}.division-brief{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:56px;align-items:end}.division-brief p{font-size:clamp(24px,2.2vw,36px);line-height:1.22;max-width:640px;grid-column:2}.division-brief .eyebrow{grid-column:1;grid-row:1;align-self:end}.division-hero{padding-top:0;padding-bottom:0}.division-hero .media{aspect-ratio:16/9}.division-publicity .division-hero .media{aspect-ratio:16/10}.division-software .division-hero .media{aspect-ratio:16/8}.branch-depth{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.branch-depth h2{font-size:clamp(36px,4vw,64px);line-height:1.02;margin-top:26px;max-width:650px}.branch-depth h3{font-size:26px;line-height:1.08;margin-bottom:20px}.branch-depth p{font-size:20px;max-width:600px}.branch-depth article+article{margin-top:40px}.division-gallery{background:var(--black);color:var(--white)}.gallery-title{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-bottom:64px}.gallery-title h2{font-size:clamp(44px,5.8vw,92px);line-height:.95}.gallery-pair{display:grid;grid-template-columns:1.3fr 1fr;gap:6vw;align-items:start}.gallery-primary{aspect-ratio:4/5}.gallery-secondary{aspect-ratio:4/3;margin-top:24%}.division-estate .gallery-primary img{object-position:50% center}.division-publicity .gallery-primary{aspect-ratio:3/4}.division-software .gallery-primary{aspect-ratio:4/3}.division-software .gallery-secondary{aspect-ratio:4/5;margin-top:14%}.branch-services{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw}.branch-services>h2,.branch-faq>h2{font-size:clamp(36px,4.8vw,72px);line-height:1;max-width:420px}.branch-services article{display:grid;grid-template-columns:35px 1fr;gap:24px;padding-block:32px;border-top:1px solid rgb(0 0 0 / .3)}.branch-services article>span{font:400 14px 'Work Sans',sans-serif;padding-top:4px}.branch-services h3{font-size:32px;margin-bottom:18px;line-height:1.05}.branch-services p{max-width:600px}.branch-next{background:var(--red)}.branch-next h2{font-size:clamp(48px,7.6vw,120px);line-height:.94;margin-block:38px 52px}.branch-next>div{display:flex;align-items:end;justify-content:space-between;gap:40px}.branch-next p{font-size:24px;line-height:1.25;max-width:500px}.branch-next .outline{flex-shrink:0}.branch-faq{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw}.branch-faq details{border-top:1px solid rgb(0 0 0 / .3);padding-block:20px}.branch-faq summary{font-size:24px;line-height:1.2;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none}.branch-faq summary::-webkit-details-marker{display:none}.branch-faq summary:after{content:'+';flex-shrink:0;font-size:28px}.branch-faq details[open] summary:after{content:'−'}.branch-faq details p{margin-top:24px;font-size:18px;max-width:600px}.related{padding-top:0}.related h2{font-size:28px;line-height:1.1;margin-bottom:28px}.related>div{display:flex;gap:36px;flex-wrap:wrap}.related a{font:400 16px 'Work Sans',sans-serif;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:5px}
/* Closing: one invitation, then a useful directory, then the requested text signature. */
.site-footer{background:var(--red);padding:var(--space) var(--gutter) 0;color:var(--black)}.footer-intro{display:grid;grid-template-columns:1fr 2fr;gap:7vw;align-items:start;padding-bottom:80px}.footer-intro h2{font-size:clamp(56px,8.5vw,132px);line-height:.94;display:flex;justify-content:space-between;gap:20px}.footer-intro h2>span{font-weight:400}.footer-intro .outline{margin-top:36px}.footer-email{display:block;width:fit-content;font-size:clamp(20px,2.2vw,34px);text-decoration:underline;text-underline-offset:5px;margin-top:28px;overflow-wrap:anywhere}.footer-grid{border-top:1px solid rgb(0 0 0 / .35);padding-block:48px 64px;display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:7vw}.footer-grid h3{font:600 14px/1.4 'Work Sans',sans-serif;text-transform:uppercase;margin-bottom:20px}.footer-grid a{display:block;min-height:44px;padding-block:9px;font:400 16px/1.4 'Work Sans',sans-serif;width:fit-content}.footer-grid a:hover{text-decoration:underline;text-underline-offset:4px}.footer-grid p{font-size:18px;margin-bottom:24px}.footer-grid .second-title{margin-top:32px}.footer-bottom{border-top:1px solid rgb(0 0 0 / .35);padding-block:18px;display:flex;justify-content:space-between;gap:24px;align-items:center;font:400 14px/1.4 'Work Sans',sans-serif}.footer-bottom button{font-size:14px;min-height:44px;text-decoration:underline;text-underline-offset:4px}.footer-type{margin-inline:calc(-1 * var(--gutter));height:clamp(86px,20vw,360px);overflow:hidden;padding-top:20px}.footer-type>span{white-space:nowrap;display:block;font:400 20.5vw/.95 Urbanist,sans-serif;letter-spacing:-.07em;transform:translateX(-1.2%)}.footer-type strong{font-weight:600}
/* Legal and ancillary routes: deliberate reading layouts, same site system. */
.legal-page{padding-block:64px var(--space);max-width:1440px;margin:auto}.legal-page h1{font-size:clamp(44px,6vw,92px);margin:28px 0 32px;line-height:1.02;max-width:1000px}.legal-page .legal-date{font:400 14px 'Work Sans',sans-serif;margin-bottom:56px}.legal-page h2{font-size:32px;line-height:1.08;max-width:780px;margin:52px 0 20px}.legal-page p{max-width:800px;font-size:20px;margin-top:18px;line-height:1.5}.legal-page a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.legal-page code{font-size:16px;overflow-wrap:anywhere}.sitemap-links{list-style:none;padding:0;max-width:850px}.sitemap-links li{border-top:1px solid rgb(0 0 0 / .3)}.sitemap-links a{display:block;font-size:28px;min-height:60px;padding-block:16px;text-decoration:none}.sitemap-links a:hover{color:var(--red)}.animation-review{min-height:60svh}.animation-review h1{font-size:clamp(44px,6vw,88px)}.animation-review p{margin-block:32px}.animation-review a{display:inline-flex;min-height:44px;margin-left:24px;text-decoration:underline}.entry{position:fixed;inset:0;z-index:50;background:var(--surface);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:28px;pointer-events:none;clip-path:inset(0)}.entry img{width:clamp(220px,30vw,430px)}.entry-line{height:2px;width:100px;background:var(--red);transform-origin:left}.entry-pending .entry[hidden]{display:flex!important}.entry.playing img{animation:entry-mark 1.9s var(--ease) both}.entry.playing .entry-line{animation:entry-line 1.5s ease both}.entry.playing{animation:entry-reveal 2.1s cubic-bezier(.76,0,.24,1) forwards}@keyframes entry-mark{0%{opacity:0;transform:translateY(16px)}20%,70%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-16px)}}@keyframes entry-line{0%{transform:scaleX(0)}85%,100%{transform:scaleX(1)}}@keyframes entry-reveal{0%,72%{clip-path:inset(0)}100%{clip-path:inset(0 0 100% 0)}}
/* Consent stays explicit and separate from the visual narrative. */
.info-dialog{width:min(560px,calc(100vw - 32px));max-height:90dvh;overflow:auto;padding:28px}.info-dialog .close{margin-left:auto}.info-dialog h2{font-size:36px;margin-block:24px}.info-dialog p{font-size:18px;margin-bottom:24px}.consent-toggle{display:flex;align-items:center;gap:12px;margin:24px 0;font-size:18px}.consent-toggle input{width:22px;height:22px;accent-color:var(--black);flex-shrink:0}.info-dialog>.button{width:100%;margin-bottom:24px}.info-dialog>a{font-size:16px;text-decoration:underline}.cookie-notice{position:fixed;bottom:20px;left:20px;z-index:25;background:var(--white);color:var(--black);padding:22px;max-width:560px;border:1px solid rgb(0 0 0 / .2)}.cookie-notice p{font-size:16px;margin-bottom:16px}.cookie-notice>div{display:flex;flex-wrap:wrap;gap:8px}.cookie-notice button{min-height:44px;padding:10px 16px;background:var(--black);color:var(--white);flex:1;font-size:14px;border:1px solid var(--black)}.cookie-notice button[data-consent=configure]{background:var(--white);color:var(--black)}.cookie-notice a{font:400 14px 'Work Sans',sans-serif;text-decoration:underline;display:inline-flex;min-height:32px;align-items:end}.cookie-notice .consent-error{margin:14px 0 0}

.booking-page{padding-block:60px 100px;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}.booking-intro h1{font-size:clamp(44px,5vw,76px);letter-spacing:-.04em;margin:24px 0}.booking-intro>p{max-width:470px}.booking-status{padding:18px 0;border-top:1px solid var(--black);margin-top:28px;font-size:16px}.meeting-info{display:flex;flex-direction:column;gap:10px;margin-block:30px;font:400 14px 'Work Sans',sans-serif}.booking-help{font-size:18px}.booking-help a{text-decoration:underline;text-underline-offset:4px}.booking-card{background:var(--white);padding:32px;align-self:start}.booking-steps{display:flex;list-style:none;padding:0;gap:24px;margin:0 0 30px;font:400 12px 'Work Sans',sans-serif}.booking-steps li{opacity:.45}.booking-steps .active{opacity:1;text-decoration:underline;text-underline-offset:6px}.calendar-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.calendar-top h2{font:600 20px Urbanist,sans-serif;text-transform:capitalize}.calendar-top button{min-width:44px;min-height:44px;border:1px solid rgb(0 0 0 / .3);border-radius:50%}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-week{font:400 14px 'Work Sans',sans-serif;text-align:center;margin-bottom:12px}.calendar-grid button{height:44px;font-size:16px}.calendar-grid button:not(:disabled):hover,.time-slots button:not(:disabled):hover{background:var(--surface)}.calendar-grid button.selected,.time-slots button.selected{background:var(--red)!important;opacity:1}.calendar-grid button:disabled{opacity:.25}.time-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0}.time-slots button{min-height:44px;border:1px solid rgb(0 0 0 / .2);font-size:14px}.time-slots button:disabled{text-decoration:line-through}#slots-region{margin-top:30px}#date-label{font-size:20px}#slots-message{font-size:16px;margin-top:12px}.button{background:var(--black);color:var(--white);min-height:48px;padding:12px 24px;display:inline-flex;align-items:center;justify-content:center}.booking-next,.agenda-fallback{width:100%}.selected-meeting{padding-bottom:24px;border-bottom:1px solid var(--black);font-size:18px;margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px}.form-grid label,.note-label{font:400 14px 'Work Sans',sans-serif}.form-grid input,.form-grid select,textarea{display:block;width:100%;min-height:48px;border:1px solid rgb(0 0 0 / .35);border-radius:0;background:var(--white);padding:10px;margin-top:8px;color:var(--black)}.note-label{display:block;margin-top:24px}.privacy-check{display:flex;align-items:flex-start;gap:12px;margin-top:24px;font-size:14px}.privacy-check input{width:20px;height:20px;flex-shrink:0;accent-color:var(--black)}.privacy-check a{text-decoration:underline}.honeypot{position:absolute;left:-9999px}.booking-actions{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:24px}.text-button{text-decoration:underline;font-size:14px;min-height:44px}.booking-actions .button{font-size:14px}#booking-error{font-size:16px;margin-top:16px}#booking-success h2{font-size:36px;margin:24px 0}#booking-success p{margin:16px 0;font-size:18px}.confirmation-mark{display:block;font-size:44px}.text-link{display:block;margin-top:24px;text-decoration:underline}
.booking-page{padding-block:64px var(--space);grid-template-columns:.85fr 1.15fr;gap:6vw}.booking-intro h1{font-size:clamp(44px,5.3vw,82px);line-height:.95;margin-block:32px}.booking-intro>p{max-width:460px;font-size:22px}.meeting-info{font-size:14px;line-height:1.5;gap:8px;padding-top:24px;border-top:1px solid rgb(0 0 0 / .3)}.booking-card{background:transparent;padding:32px 0 0;border-top:1px solid var(--black)}.booking-steps{font-size:14px;gap:20px;justify-content:space-between;margin-bottom:40px}.booking-steps li{opacity:.6}.calendar-grid{gap:8px}.calendar-grid button{height:52px}.calendar-grid button:disabled{opacity:.45}.calendar-top h2{font-size:26px}.time-slots{grid-template-columns:repeat(4,minmax(0,1fr))}.time-slots button{background:var(--white);font-size:14px}.calendar-top button{border-color:var(--black)}.booking-status{font-size:16px!important}.form-grid label,.note-label{font-size:14px}.booking-intro .booking-help{font-size:18px}.privacy-check{font:400 14px/1.5 'Work Sans',sans-serif}.analytics-page{padding-block:64px var(--space)}.analytics-page h1{font-size:clamp(44px,6vw,88px);margin-bottom:28px}.analytics-summary{display:flex;gap:64px;margin-block:40px}.analytics-summary strong{font-size:48px;display:block}.analytics-table{width:100%;border-collapse:collapse;font-size:18px}.analytics-table th,.analytics-table td{text-align:left;padding:16px 8px;border-bottom:1px solid rgb(0 0 0 / .25)}.analytics-table th:last-child,.analytics-table td:last-child{text-align:right}
/* Enhancement without invisible content or mandatory animation. */
.media-entered{animation:media-enter .75s var(--ease)}@keyframes media-enter{from{clip-path:inset(6% 0 0)}to{clip-path:inset(0)}}
@media(min-width:1700px){.section,.wrap,.site-header,.menu-top,.menu-body,.site-footer{padding-inline:max(var(--gutter),calc((100vw - 1540px)/2))}}
@media(max-width:1000px){.site-header nav{gap:20px}.hero-introduction{grid-template-columns:1fr;gap:36px}.intro-brief{display:flex;align-items:center;justify-content:space-between;gap:40px}.intro-brief .outline{margin-top:0;flex-shrink:0}.purpose-bottom{gap:40px}.menu-body{gap:40px}.menu-body nav a{font-size:38px}.division-brief p{font-size:26px}.branch-depth,.branch-services,.branch-faq{gap:48px}.branch-services h3{font-size:28px}.booking-page{grid-template-columns:1fr;max-width:780px;margin:auto;gap:56px}.booking-intro h1 br{display:block}.booking-intro h1{font-size:64px}.meeting-info{max-width:460px}.footer-intro{grid-template-columns:1fr 2.2fr;gap:30px}.pias-layout{gap:40px}.pias-layout h2{font-size:52px}}
@media(max-width:700px){:root{--gutter:24px;--space:72px;--display:clamp(43px,10.7vw,70px)}body{font-size:18px}.site-header,.menu-top{padding-block:20px;gap:20px}.brand{width:178px}.site-header nav{display:none}.menu-trigger{gap:12px}.section-label{font-size:14px;margin-bottom:36px;gap:20px}.section-label>span:last-child{max-width:46%}.film-hero{padding:24px 24px 14px;min-height:100svh}.film-frame{aspect-ratio:4/5}.film-meta{margin-top:20px;font-size:14px;align-items:start}.film-meta>span{max-width:180px}#film-sound{font-size:14px;gap:6px}.film-meta .sound-label{max-width:90px;text-align:left}.hero-introduction{padding-block:64px;gap:28px}.hero-introduction h1{font-size:clamp(39px,10.7vw,70px)}.intro-brief{display:block}.intro-brief p{font-size:24px;max-width:370px}.intro-brief .outline{margin-top:28px}.specialties{padding-top:0}.specialty-grid{grid-template-columns:1fr;gap:44px}.specialty-tile .media{aspect-ratio:4/5}.tile-caption h2{font-size:24px}.specialty-tile p{font-size:14px;max-width:270px}.purpose-stair{font-size:clamp(39px,11.8vw,76px)}.purpose-stair span:nth-child(2){margin-left:6%}.purpose-stair span:nth-child(3){margin-left:12%}.purpose-bottom{grid-template-columns:1fr;gap:26px;margin-top:32px}.connection-sculpture{width:80%;max-width:400px;justify-self:center}.purpose-copy p{font-size:24px}.purpose-copy p+p{font-size:18px;margin-top:24px}.discipline-strip{padding-block:28px}.discipline-group{font-size:52px;gap:26px;padding-right:26px}.method>h2{font-size:clamp(44px,12vw,76px);margin-bottom:44px}.method-rows article{grid-template-columns:28px 1fr;gap:16px;padding-block:26px}.method-rows h3{font-size:36px}.method-rows p{grid-column:2;font-size:18px}.pias-layout{grid-template-columns:1fr;gap:40px}.pias-layout h2{font-size:clamp(41px,11.5vw,72px)}.pias-layout>div>p{font-size:18px;margin-top:24px}.signal-demo{padding-top:28px}.signal-steps{font-size:14px;gap:12px}.typed-idea{font-size:30px;min-height:3.4em}.idea-strip{padding-block:52px}.division-heading{padding-top:40px;padding-bottom:40px}.division-meta{display:block;margin-bottom:32px}.division-meta .text-link{margin-top:16px}.division-heading h1{font-size:var(--display);overflow-wrap:normal}.division-brief{display:flex;flex-direction:column;align-items:start;gap:22px;margin-top:32px}.division-brief p{font-size:24px;line-height:1.25}.division-brief .eyebrow{align-self:start}.division-hero .media,.division-publicity .division-hero .media,.division-software .division-hero .media{aspect-ratio:4/5}.division-estate .division-hero img{object-position:45% center}.division-software .division-hero img{object-position:52% center}.branch-depth{grid-template-columns:1fr;gap:36px}.branch-depth h2{font-size:36px;margin-top:20px}.branch-depth h3{font-size:26px}.branch-depth p{font-size:18px}.gallery-title{grid-template-columns:1fr;gap:28px;margin-bottom:36px}.gallery-title h2{font-size:clamp(40px,10.7vw,64px)}.gallery-pair{grid-template-columns:1fr;gap:28px}.gallery-secondary{margin-top:0;width:82%;justify-self:end}.division-software .gallery-secondary{margin-top:0;aspect-ratio:4/3}.branch-services,.branch-faq{grid-template-columns:1fr;gap:36px}.branch-services>h2,.branch-faq>h2{font-size:40px}.branch-services article{grid-template-columns:28px 1fr;gap:16px;padding-block:26px}.branch-services h3{font-size:28px}.branch-services p{font-size:18px}.branch-next h2{font-size:clamp(40px,10.7vw,64px);margin-block:28px 36px}.branch-next>div{display:block}.branch-next p{font-size:22px}.branch-next .outline{margin-top:28px}.branch-faq summary{font-size:22px}.related>div{gap:14px;flex-direction:column}.related h2{font-size:28px}.footer-intro{grid-template-columns:1fr;gap:36px;padding-bottom:48px}.footer-intro h2{font-size:clamp(43px,12vw,78px)}.footer-intro .outline{margin-top:28px}.footer-email{font-size:22px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px 22px;padding-block:40px}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid h3{font-size:14px;margin-bottom:16px}.footer-grid a{font-size:14px}.footer-grid p{font-size:18px}.footer-bottom{align-items:start;gap:12px;flex-direction:column;padding-block:22px}.footer-type{height:24vw;min-height:86px;padding-top:16px}.footer-type>span{font-size:20.5vw}.menu-body{display:flex;flex-direction:column;padding:20px var(--gutter) 40px;gap:26px}.menu-preview{display:none}.menu-body nav{width:100%}.menu-body nav a{font-size:34px;gap:14px;padding-block:14px}.menu-body nav a small{font-size:14px;margin-top:8px}.menu-contact{gap:8px 20px;width:100%}.legal-page{padding-top:40px}.legal-page h1{font-size:44px;overflow-wrap:anywhere}.legal-page h2{font-size:28px;margin-top:40px}.legal-page p{font-size:18px}.legal-page .legal-date{margin-bottom:40px}.sitemap-links a{font-size:24px}.cookie-notice{inset:auto 12px 12px;padding:18px;max-width:none}.cookie-notice p{font-size:16px}.cookie-notice>div{gap:6px}.cookie-notice button{padding-inline:8px;font-size:14px}.booking-page{padding-top:40px;gap:40px}.booking-intro h1{font-size:44px;margin-block:24px}.booking-intro>p{font-size:20px}.booking-card{padding:24px 0 0}.booking-steps{font-size:14px;gap:8px;margin-bottom:30px}.calendar-top{gap:8px}.calendar-top h2{font-size:22px}.calendar-week,.calendar-grid{gap:4px}.calendar-grid button{height:44px}.time-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.booking-actions{flex-direction:column-reverse;align-items:stretch}.booking-actions .button{width:100%}.analytics-summary{gap:30px}.analytics-table{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.film-frame video,#film-sound{display:none}.film-meta{justify-content:start}.entry-pending .entry[hidden]{display:none!important}}

@media(max-width:360px){.division-estate .division-heading h1{font-size:36px}.division-estate .gallery-title h2{font-size:32px}.gallery-title>*{min-width:0}.menu-body nav a{font-size:30px}.footer-intro h2{font-size:39px}}

@media(max-width:700px){.site-header .brand{width:136px}.immersive-home .scroll-header{padding-block:16px}}

/* Immersive edge-to-edge film; navigation is an overlay. */
.film-hero{padding:0;display:block;height:100svh;min-height:100svh;position:relative}.film-frame{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}.film-frame video,.film-still img{object-fit:cover}.film-meta{position:absolute;right:var(--gutter);bottom:20px;margin:0;z-index:2}.film-meta>span{display:none}.film-meta .sound-label{max-width:none}#film-sound{color:white;mix-blend-mode:difference}@media(max-width:700px){.film-hero{padding:0}.film-frame{aspect-ratio:auto}.film-meta{right:24px;bottom:18px}.film-meta .sound-label{max-width:none}}

/* Consistent card interaction without degrading image sharpness. */
.specialty-tile .media img{transition:transform .65s var(--ease),object-position .65s var(--ease)}
.specialty-tile:hover .media img,.specialty-tile:focus-visible .media img{transform:translateY(-1.5%)}
.specialty-estate:hover img,.specialty-estate:focus-visible img{object-position:58% center}
.menu-preview img{aspect-ratio:auto;max-height:66svh;object-fit:contain;object-position:center;background:var(--red)}
.cookie-notice{padding:12px 16px;max-width:390px;bottom:14px;left:14px;display:grid;grid-template-columns:1fr auto;gap:4px 12px}
.cookie-notice p{font-size:14px;line-height:1.35;margin:0}.cookie-notice>div{grid-column:1/-1;gap:8px}.cookie-notice button{min-height:44px;padding:8px 12px}.cookie-notice>p:nth-of-type(2){grid-column:2;grid-row:1}.cookie-notice a{font-size:12px;min-height:0;white-space:nowrap}.cookie-notice .consent-error{grid-column:1/-1}
@media(max-width:700px){.cookie-notice{inset:auto 12px 12px;max-width:none;padding:10px 12px}.cookie-notice p{font-size:13px}.cookie-notice button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.specialty-tile:hover .media img,.specialty-tile:focus-visible .media img{transform:none}}

.purpose-stair span:last-child{color:var(--black)}

#hero-film{cursor:pointer}#hero-film:focus-visible{outline:3px solid white;outline-offset:-5px}.film-still{pointer-events:none}

.purpose-stair{font-weight:400}

.signal-rail span{width:18px;height:18px;top:-8px;background:var(--red);box-shadow:0 0 0 4px rgb(255 81 57 / .16);animation-name:signal-flow-visible}@keyframes signal-flow-visible{0%,12%{left:0;border-radius:50%;opacity:1}34%,45%{left:calc(50% - 9px);border-radius:4px;opacity:1}74%,95%{left:calc(100% - 18px);border-radius:4px;opacity:1}100%{left:calc(100% - 18px);opacity:0}}
