html{scroll-padding-top:64px}.site-header{height:64px;padding:0 38px;gap:24px;border-bottom:1px solid #322e331c;background:rgba(242,241,237,.66);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:auto;transition:background .3s,color .3s,border-color .3s;color:#322e33}.site-header.has-scrolled{background:rgba(242,241,237,.91)}.site-header .brand{width:108px;flex-shrink:0}.site-header .brand img{width:108px;height:auto;transition:filter .3s}.site-header .contact{font-size:12px;gap:16px;min-height:44px}.site-header .contact span{font-size:20px}#main-navigation{display:flex;align-items:center;gap:30px;margin-left:auto;margin-right:auto}#main-navigation a{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:12px;white-space:nowrap}#main-navigation a::after{content:'';position:absolute;bottom:9px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}#main-navigation a:hover::after,#main-navigation a[aria-current="location"]::after{transform:scaleX(1)}.menu-toggle{display:none;background:none}.site-header[data-theme="dark"]{color:#f2f1ed;background:rgba(63,33,214,.85);border-bottom-color:#ffffff35}.site-header[data-theme="dark"] .brand img{filter:brightness(0) invert(1)}.disciplines a{font-size:clamp(17px,2.15vw,34px);min-height:44px;display:inline-flex;align-items:center}.capabilities,.selected-work{padding:40px 38px 95px;position:relative}.capabilities .section-kicker,.selected-work .section-kicker{border-color:#322e3330}.capabilities h2,.work-heading h2{font-weight:400;font-size:clamp(48px,6.4vw,100px);letter-spacing:-.065em;line-height:1.02;margin:66px 0 60px}.service-list{border-bottom:1px solid #322e3330}.service-row{display:grid;grid-template-columns:1fr 1.1fr;gap:6vw;padding:35px 0;border-top:1px solid #322e3330;scroll-margin-top:28px}.service-name{display:flex;gap:22px;align-items:baseline}.service-number{font-size:10px;color:#8b8492;font-variant-numeric:tabular-nums}.service-name h3{font-size:clamp(27px,3.2vw,46px);font-weight:400;letter-spacing:-.045em;line-height:1.1;margin:0}.service-row ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:10px 25px}.service-row li{font-size:14px;line-height:1.45}.selected-work{background:#e8e6e1;padding-bottom:90px}.work-heading{display:flex;justify-content:space-between;align-items:baseline;gap:25px}.work-count{font-size:11px;font-variant-numeric:tabular-nums}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 28px}.project-link{display:block}.project-link:hover{opacity:1}.project-visual{position:relative;aspect-ratio:4/5;background:var(--project-bg);overflow:hidden}.project-visual img{display:block;width:100%;height:100%;object-fit:contain}.project-open{position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:50%;background:#f7f6f1ed;display:flex;align-items:center;justify-content:center;font-size:22px;color:#322e33;transition:transform .25s}.project-link:hover .project-open{transform:translate(2px,-2px)}.project-caption{display:flex;justify-content:space-between;gap:20px;padding-top:18px}.project-caption h3{font-size:clamp(19px,2.1vw,30px);font-weight:400;line-height:1.2;letter-spacing:-.035em;margin:0 0 8px}.project-caption p{font-size:12px;line-height:1.45;margin:0;color:#77707e}.project-number{font-size:10px;color:#8b8492;padding-top:5px}.portfolio-button{display:flex;justify-content:space-between;align-items:center;border:1px solid #322e3370;border-radius:99px;padding:18px 27px;font-size:14px;max-width:315px;gap:60px;margin:65px 0 0 auto;transition:background .2s,color .2s}.portfolio-button span{font-size:23px}.portfolio-button:hover{background:#3f21d6;border-color:#3f21d6;color:#fff;opacity:1}.contact-footer{display:block;background:#3f21d6;color:#f2f1ed;padding:35px 38px 25px;position:relative}.contact-footer .section-kicker{border-color:#ffffff40}.contact-footer .section-kicker>*{width:auto}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start;padding:80px 0 90px}.contact-content h2{font-size:clamp(56px,7.8vw,125px);letter-spacing:-.07em;line-height:1;font-weight:400;margin:0}.contact-email{display:inline-flex;align-items:center;gap:25px;font-size:clamp(18px,2.3vw,34px);letter-spacing:-.025em;line-height:1.5;border-bottom:1px solid #fff7;padding-bottom:8px;width:auto}.contact-content address{font-size:12px;font-style:normal;line-height:1.6;color:#e5ddff;margin-top:32px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #fff4;padding-top:25px;font-size:10px}.footer-bottom img{width:108px;height:auto;filter:brightness(0) invert(1)}.contact-footer img{width:108px}.contact-footer .footer-bottom>*{width:auto}.contact-footer .footer-bottom span:last-child{text-align:left}.contact-footer a{color:inherit}.capabilities h2,.selected-work h2,.contact-footer h2{scroll-margin-top:95px}
@media(max-width:850px){#main-navigation{gap:19px}.site-header{gap:18px;padding:0 25px}.service-row{grid-template-columns:1fr 1.15fr;gap:25px}.service-row ul{gap:10px 15px}.service-row li{font-size:13px}}
@media(max-width:700px){html{scroll-padding-top:56px}.site-header{height:56px;padding:0 20px;gap:18px}.site-header .brand,.site-header .brand img{width:99px}.menu-toggle{display:flex;align-items:center;gap:8px;min-height:44px;margin-left:auto;font-size:12px;padding:0}.menu-toggle span{font-size:18px;transition:transform .2s}.site-header[data-open="true"] .menu-toggle span{transform:rotate(45deg)}.site-header .contact{font-size:11px;gap:9px;white-space:nowrap}.site-header .contact span{font-size:18px}#main-navigation{display:none;position:absolute;inset:56px 0 auto;background:#f2f1edf5;margin:0;padding:12px 20px 23px;backdrop-filter:blur(18px);border-bottom:1px solid #322e3330;flex-direction:column;align-items:stretch;gap:0}#main-navigation a{font-size:24px;min-height:58px;border-bottom:1px solid #322e3320;justify-content:space-between;letter-spacing:-.03em}#main-navigation a::after{display:none}.site-header[data-open="true"] #main-navigation{display:flex}.site-header[data-theme="dark"] #main-navigation{background:#3f21d6f5;border-bottom-color:#ffffff40}.site-header[data-theme="dark"] #main-navigation a{border-bottom-color:#ffffff30}.disciplines{gap:12px 20px}.disciplines a{width:calc(50% - 15px);font-size:23px}.capabilities,.selected-work{padding:28px 22px 65px}.capabilities .section-kicker span:last-child{max-width:145px;text-align:right;line-height:1.4}.capabilities h2,.work-heading h2{font-size:52px;margin:48px 0 40px}.service-row{grid-template-columns:1fr;gap:23px;padding:28px 0}.service-name{gap:16px}.service-name h3{font-size:32px}.service-row ul{padding-left:30px;gap:9px 17px;grid-template-columns:1fr 1fr}.service-row li{font-size:12px}.project-grid{grid-template-columns:1fr;gap:42px}.project-visual{aspect-ratio:4/5}.project-caption h3{font-size:24px}.project-caption p{font-size:12px}.work-count{font-size:10px}.work-heading{gap:15px}.work-heading h2{font-size:45px}.project-open{width:36px;height:36px;top:13px;right:13px;font-size:20px}.portfolio-button{width:100%;max-width:none;margin-top:42px;padding:16px 23px;font-size:13px}.contact-footer{padding:28px 22px 24px}.contact-content{grid-template-columns:1fr;gap:35px;padding:58px 0}.contact-content h2{font-size:68px}.contact-email{font-size:22px;gap:20px}.contact-content address{margin-top:24px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:24px;font-size:9px}.footer-bottom span:last-child{grid-column:2}.footer-bottom img{width:99px}.contact-footer .section-kicker{font-size:10px}}
@media(prefers-reduced-motion:reduce){.project-link:hover .project-open{transform:none}}

.contact-footer>.section-kicker,.contact-footer>.contact-content,.contact-footer>.footer-bottom{width:100%}
.site-header[data-theme="dark"] a:focus-visible,.site-header[data-theme="dark"] button:focus-visible,.studio a:focus-visible,.contact-footer a:focus-visible{outline-color:#fff}
/* Shared draggable project ribbon, with fewer and larger previews. */
.journey{height:235svh}.studio-detail p{font-size:16px}.service-row li{font-size:16px}.project-caption p{font-size:14px;color:#61596b}.site-header #main-navigation a{font-size:14px}.site-header .contact{font-size:13px}.contact-content address{font-size:14px}
.selected-work{--ribbon-width:clamp(260px,43vw,620px);--ribbon-gap:32px;padding-bottom:70px;background:#f2f1ed}.work-heading h2{margin:42px 0 28px}.project-scroll-cue{font-size:13px;margin:0 0 30px;color:#61596b}.project-scroll-cue span{margin-left:12px}
.ribbon-shell{position:relative;margin:0 -38px;overflow:hidden}.project-grid{display:flex;gap:var(--ribbon-gap);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:22px 38px 12px;touch-action:pan-x pan-y;cursor:grab;overscroll-behavior-x:contain;scroll-behavior:auto}.project-grid::-webkit-scrollbar{display:none}.project-grid.is-dragging{cursor:grabbing}.project{width:var(--ribbon-width);flex:0 0 var(--ribbon-width);user-select:none}.project-link{display:block;background:none;box-shadow:none}.project-visual{aspect-ratio:var(--preview-ratio,1);height:auto;max-height:54svh;overflow:visible;background:var(--project-bg)}.project-visual img{width:100%;height:100%;object-fit:contain;pointer-events:none}.project-open{display:none}.project-caption{padding:18px 0 0;gap:12px}.project-caption h3{font-size:clamp(22px,2.4vw,34px);margin:0 0 7px}.project-caption p{font-size:15px}.project-number{font-size:11px}.ribbon-canvas{position:absolute;inset:0;pointer-events:none;width:100%;height:100%}.ribbon-webgl .project-visual{background:transparent}.ribbon-webgl .project-visual img{opacity:0}.project-link:focus-visible{outline-offset:4px}.ribbon-controls{display:flex;justify-content:space-between;align-items:center;margin:22px 0 0;font-size:12px;color:#61596b}.ribbon-hint span{margin-left:12px;font-size:18px}.ribbon-buttons{display:flex;gap:7px}.ribbon-buttons button{border:1px solid #322e3340;border-radius:50%;width:40px;height:40px;background:transparent;font-size:17px}.ribbon-buttons button:disabled{opacity:.3;cursor:default}.work-footer{display:flex;justify-content:flex-end}.work-stage .portfolio-button{margin-top:28px;width:315px}.work-instruction{display:none}
@media(max-width:700px){.journey{height:220svh}.service-row li{font-size:14px}.site-header .contact{font-size:12px}.site-header #main-navigation a{font-size:24px}.selected-work{--ribbon-width:76vw;--ribbon-gap:22px;padding-bottom:55px}.work-heading h2{font-size:43px;margin:32px 0 18px}.project-scroll-cue{font-size:12px;margin-bottom:18px}.ribbon-shell{margin:0 -22px}.project-grid{padding:16px 22px 10px}.project-visual{max-height:48svh}.project-caption{padding-top:14px}.project-caption h3{font-size:24px}.project-caption p{font-size:14px}.ribbon-controls{margin-top:18px}.ribbon-buttons{gap:5px}.ribbon-buttons button{width:36px;height:36px}.ribbon-hint{font-size:11px}.ribbon-hint span{margin-left:5px}.work-stage .portfolio-button{margin-top:26px;width:100%;max-width:none}}
@media(max-width:360px){.contact-content h2{font-size:60px}.work-heading h2{font-size:37px}.project-caption h3{font-size:22px}}
.project-visual{width:100%;aspect-ratio:auto;height:min(calc(var(--ribbon-width) / var(--preview-ratio,1)),54svh)}
@media(max-width:700px){.project-visual{height:min(calc(var(--ribbon-width) / var(--preview-ratio,1)),48svh)}}
.work-heading h2{font-size:clamp(42px,4.7vw,70px);margin:30px 0 20px}.project-visual{max-height:46svh;height:min(calc(var(--ribbon-width) / var(--preview-ratio,1)),46svh)}
@media(max-width:700px){.work-heading h2{font-size:43px;margin:28px 0 16px}.project-visual{max-height:48svh;height:min(calc(var(--ribbon-width) / var(--preview-ratio,1)),48svh)}}
@media(max-width:360px){.work-heading h2{font-size:37px}}
