/* Small, documented native overrides. Reference layout remains unchanged. */
html {scroll-behavior:smooth;scroll-padding-top:90px}
body {overflow-x:clip}
main {display:contents}
.skip-link {position:fixed;top:10px;left:10px;z-index:10001;padding:12px 18px;background:#111;color:white;transform:translateY(-160%)}
.skip-link:focus {transform:none}
a:focus-visible,button:focus-visible {outline:2px solid currentColor;outline-offset:5px}
.menu-toggle {display:none;background:none;border:0;color:inherit;font:inherit;padding:10px;cursor:pointer}
.is-nav.is-scrolled {backdrop-filter:blur(16px);background:rgba(240,239,235,.85)}
.menu-overlay.is-open {display:flex!important;opacity:1!important;transform:none!important;inset:0;position:fixed;z-index:999;background:#eeede9}
.menu-link-wrapper {z-index:1000}
.menu-link-wrapper .lottie-menu {display:none}
html.menu-open {overflow:hidden}
.photo-location {display:none} /* Existing placeholder caption, not meaningful content. */
.native-reveal {transition:opacity .65s ease,transform .65s cubic-bezier(.2,.6,.2,1)}
.native-reveal.is-waiting {opacity:0;transform:translateY(24px)}
.w-background-video video {object-fit:cover}
.w-lightbox {cursor:zoom-in;display:block;width:100%}.w-lightbox img{width:100%;height:auto}
#image-viewer {position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;padding:clamp(24px,4vw,64px);background:rgba(30,29,29,.96);color:#f3f2ee;z-index:10000}
#image-viewer::backdrop {background:rgba(30,29,29,.96)}
#image-viewer[open] {display:flex;align-items:center;justify-content:center}
#image-viewer figure {margin:0;max-width:min(88vw,1600px);text-align:center}
#image-viewer img {max-height:82dvh;max-width:100%;object-fit:contain;touch-action:pan-y;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s ease}
#image-viewer figcaption {font-size:14px;margin-top:16px;text-align:left}
#image-viewer button {display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:0;background:transparent;color:inherit;padding:0;cursor:pointer;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .25s ease;z-index:2}
#image-viewer button:hover{background:transparent;color:inherit;transform:scale(.9)}
#image-viewer button:disabled{opacity:0;pointer-events:none}
#image-viewer button svg{display:block;width:42px;height:auto;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
#image-viewer .lightbox-close svg{width:28px;stroke-width:1}
#image-viewer .lightbox-close {position:absolute;right:22px;top:20px}
#image-viewer .lightbox-prev {position:absolute;left:18px;top:calc(50% - 24px)}
#image-viewer .lightbox-next {position:absolute;right:18px;top:calc(50% - 24px)}
#image-viewer .lightbox-counter{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font:400 12px/1 Inter,sans-serif;letter-spacing:.08em;color:inherit}
@media(max-width:767px){#image-viewer{padding:56px 20px 70px}#image-viewer figure{max-width:100%}#image-viewer .lightbox-prev,#image-viewer .lightbox-next{top:auto;bottom:14px}#image-viewer .lightbox-prev{left:14px}#image-viewer .lightbox-next{right:14px}#image-viewer .lightbox-close{right:12px;top:10px}}
body:has(#image-viewer[open]) {overflow:hidden}
.cs-hero-section .project-header-wrapper>.div-is-25{box-sizing:border-box;padding-right:clamp(24px,3vw,52px)}
@media(max-width:767px){.cs-hero-section .project-header-wrapper>.div-is-25{padding-right:0}}
.utility-note {max-width:600px;margin:20px auto;font-size:14px;text-align:center}
@media(max-width:767px){.menu-toggle{display:block;position:relative;z-index:1001}.menu-link-wrapper{display:block!important}.menu-overlay .menu-links-wrapper{padding:80px 24px 32px;width:100%}#image-viewer{padding:20px}#image-viewer figure{max-width:calc(100vw - 70px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.native-reveal.is-waiting{opacity:1;transform:none}}

/* Captured image sequences retain their original fades without Webflow JavaScript. */
.w-slider[data-native-slider] .w-slider-mask{display:grid;white-space:normal}
.w-slider[data-native-slider] .w-slide{grid-area:1 / 1;min-width:0;opacity:0;pointer-events:none;transition:opacity var(--slide-duration,500ms) ease}
.w-slider[data-native-slider] .w-slide[data-slide-active="true"]{opacity:1;pointer-events:auto;z-index:1}
.native-slider-control{position:absolute;right:12px;bottom:12px;z-index:3;border:1px solid #8885;border-radius:20px;padding:6px 12px;background:#fffD;color:#191919;backdrop-filter:blur(12px);font:12px Inter,sans-serif;cursor:pointer}

.native-slider-manual{position:absolute;right:12px;bottom:12px;z-index:3;display:flex;gap:8px}
.native-slider-manual button{border:1px solid #8885;border-radius:20px;padding:6px 12px;background:#fffD;color:#191919;font:12px Inter,sans-serif;cursor:pointer}

/* Intrinsic dimensions reserve space without overriding authored image crops. */
:where(img[width][height]){height:auto}

/* Consistent navigation, responsive cards and selection. */
::selection{background:#000;color:#fff}
.nav-link.is-current-page{display:block!important;text-decoration:underline;text-underline-offset:.4em}
.grid-is-extras{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start}
.grid-is-extras>.grid-content{width:100%;min-width:0}
.grid-is-extras .link-block-extra,.grid-is-extras .image-wrapper{width:100%}
.grid-is-extras .image-wrapper{aspect-ratio:3/2;overflow:hidden}
.grid-is-extras .image-wrapper img{width:100%;height:100%;object-fit:cover}
.link-is-name .h1-is-name{color:var(--concrete)!important;transition:color .2s cubic-bezier(.47,0,.745,.715)}
.link-is-name .link-underline{width:0!important;background-color:transparent!important;transition:width .2s cubic-bezier(.47,0,.745,.715),background-color .2s cubic-bezier(.47,0,.745,.715)}
.link-is-name:hover .h1-is-name,.link-is-name:focus-visible .h1-is-name{color:var(--soft-black)!important}
.display-heading{color:var(--soft-black);letter-spacing:-.06em;margin-top:0;margin-bottom:0;padding-left:0;font-family:Inter,sans-serif;font-size:6.75em;font-weight:300;line-height:1.2;display:inline-block}
.link-is-name:hover .link-underline,.link-is-name:focus-visible .link-underline{width:100%!important;background-color:rgb(30,29,29)!important}
.text-span-2.hero-subtext{color:var(--soft-black)!important;transition:color .5s ease}
.text-span-2.hero-subtext:hover,.text-span-2.hero-subtext:focus-visible{color:var(--cornflower-blue)!important}
.archive-wrapper .viewmorework h3{color:var(--soft-black)!important;transition:color .5s ease}
.archive-wrapper .viewmorework .arrow-right-black,.grid-is-extras .arrow-right-black{opacity:0!important;transform:translateX(-40px)!important;transition:opacity .5s cubic-bezier(.075,.82,.165,1),transform .5s cubic-bezier(.075,.82,.165,1)}
.archive-wrapper:hover .viewmorework h3,.archive-wrapper:focus-visible .viewmorework h3,.archive-wrapper.is-interactive-hover .viewmorework h3,.viewmorework:hover h3{color:rgb(144,141,138)!important}
.archive-wrapper:hover .viewmorework .arrow-right-black,.archive-wrapper:focus-visible .viewmorework .arrow-right-black,.archive-wrapper.is-interactive-hover .viewmorework .arrow-right-black,.viewmorework:hover .arrow-right-black,.grid-is-extras .link-block-extra:hover .arrow-right-black,.grid-is-extras .link-block-extra:focus-visible .arrow-right-black{opacity:1!important;transform:translateX(0)!important}
.grid-is-extras .image-hover-scale{transform:scale(1)!important;transition:transform .5s ease-in-out}
.grid-is-extras .link-block-extra:hover .image-hover-scale,.grid-is-extras .link-block-extra:focus-visible .image-hover-scale{transform:scale(1.05)!important;transition-duration:.25s}
.info-wrapper-link{display:block;width:100%;margin-bottom:0;padding-top:0;padding-bottom:1.5em}
.info-wrapper-link .arrow-external-link{opacity:1;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.info-wrapper-link:hover .arrow-external-link,.info-wrapper-link:focus-visible .arrow-external-link{opacity:1;transform:translate(.18em,-.18em)}
.grid-about-2column .info-wrapper-link{overflow:visible}
.grid-about-2column .experience-item{padding-right:.3em}
.section.is-footer .grid-bottom,.section.is-footer .grid-bottom.is-contact-wrapper,.section.is-footer .info-wrapper-link,.section.is-footer .contact-item{overflow:visible}
.section.is-footer .contact-item{padding-right:.35em}
@media (hover:none),(pointer:coarse){.info-wrapper-link .arrow-external-link{opacity:1;transform:none}}

/* Out of Focus — an optical 404 with useful navigation kept crisp. */
.not-found{--focus-x:50%;--focus-y:42%;position:relative;box-sizing:border-box;min-height:calc(100svh - 82px);padding:clamp(120px,12vw,190px) 4vw clamp(64px,8vw,120px);overflow:hidden;background:var(--white-smoke);color:var(--soft-black)}
.not-found-art{position:relative;z-index:0;height:clamp(300px,42vw,700px);margin:clamp(-70px,-4vw,-30px) 0 0;pointer-events:none;user-select:none}
.not-found-art>div{position:absolute;inset:0;display:grid;place-items:center;font:300 clamp(240px,48vw,780px)/.8 Inter,sans-serif;letter-spacing:-.09em;white-space:nowrap}
.not-found-blur{opacity:.2;filter:blur(clamp(11px,1.4vw,24px))}
.not-found-sharp{-webkit-mask-image:radial-gradient(circle clamp(118px,12vw,205px) at var(--focus-x) var(--focus-y),#000 0 32%,rgba(0,0,0,.72) 50%,rgba(0,0,0,.28) 70%,transparent 100%);mask-image:radial-gradient(circle clamp(118px,12vw,205px) at var(--focus-x) var(--focus-y),#000 0 32%,rgba(0,0,0,.72) 50%,rgba(0,0,0,.28) 70%,transparent 100%);opacity:.9}
.not-found-copy,.not-found-routes,.not-found-system{position:relative;z-index:1}
.not-found-copy{display:grid;grid-template-columns:1fr 2fr;align-items:start;max-width:1500px;margin:0 auto}
.not-found-copy h1{grid-column:1;grid-row:1;margin:4px 0 0;font:400 clamp(18px,1.5vw,24px)/1.2 Inter,sans-serif}
.not-found-copy>p{grid-column:1;grid-row:2;width:min(390px,92%);margin:22px 0 0;font:300 clamp(16px,1.15vw,20px)/1.45 Inter,sans-serif}
.not-found-routes{display:grid;grid-template-columns:repeat(3,1fr);max-width:1500px;margin:auto;border-top:1px solid currentColor}
.not-found-routes a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0 22px;color:inherit;border-bottom:1px solid currentColor;text-decoration:none}
.not-found-routes .footer-contact-item{margin:0}.not-found-routes .arrow-external-link{position:static;flex:0 0 auto}
.not-found-routes a+a{margin-left:30px}
.not-found-routes .arrow-external-link{transition:transform .3s cubic-bezier(.22,1,.36,1)}
.not-found-routes a:hover .arrow-external-link,.not-found-routes a:focus-visible .arrow-external-link{transform:translate(.18em,-.18em)}
.not-found-system{max-width:1500px;margin:0 auto;border-top:0}
.not-found-system summary{display:flex;justify-content:space-between;padding:17px 0;cursor:pointer;list-style:none;font:400 14px/1.4 Inter,sans-serif}
.not-found-system summary::-webkit-details-marker{display:none}.not-found-system[open] summary span{transform:rotate(45deg)}.not-found-system summary span{transition:transform .3s ease}
.not-found-system>div{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:12px 0 30px}
.not-found-system a{color:inherit;text-decoration:none;font:400 16px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}
@media(max-width:767px){.not-found{--focus-x:50%;--focus-y:35%;min-height:100svh;padding:105px 18px 58px}.not-found-copy{grid-template-columns:1fr}.not-found-copy h1{grid-column:1;grid-row:1;font-size:18px}.not-found-copy>p{grid-column:1;grid-row:2;margin-top:18px;font-size:17px}.not-found-art{height:64vw;margin:18px -35% 0}.not-found-art>div{font-size:58vw}.not-found-routes{grid-template-columns:1fr}.not-found-routes a,.not-found-routes a+a{margin-left:0}.not-found-system>div{grid-template-columns:1fr;gap:18px}}
.archive-full-bleed,.archive-full-bleed img{display:block;width:100%;max-width:none}
.archive-collection{padding-top:clamp(64px,8vw,140px)}
.photo-50-center{width:50%;margin-inline:auto}
.picture-wrapper-about-1 .photo-about{pointer-events:none;transition:opacity .35s cubic-bezier(.22,1,.36,1)}
.about-info-wrapper .arrow-external-link,.link-social .arrow-social{transition:transform .25s cubic-bezier(.22,1,.36,1)}
.about-info-wrapper:hover .arrow-external-link,.about-info-wrapper:focus-visible .arrow-external-link{transform:translate(.18em,-.18em)}
.link-social:hover .arrow-social,.link-social:focus-visible .arrow-social{transform:translate(.18em,-.18em)}
.menu-overlay.is-open{background:var(--soft-black)!important;color:var(--white-smoke);height:100dvh;overflow:auto}
.menu-overlay a{color:#f8f4f7}
.menu-overlay .rule{width:100%;transform:scaleX(1)!important;background:#f8f4f75c}
.menu-toggle{width:48px;height:48px;position:relative}
.menu-toggle span{display:block;width:28px;height:1px;background:currentColor;margin:7px auto;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.menu-open .menu-toggle{color:#f8f4f7}
.menu-open .menu-toggle span:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-open .menu-toggle span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.menu-open .home-link-wrapper{filter:invert(1);position:relative;z-index:1000}
.menu-open .is-nav.is-scrolled{background:transparent;backdrop-filter:none}
@media(max-width:767px){
 .line-1{display:flex!important;flex-direction:row;justify-content:flex-start;gap:0 6px;flex-wrap:wrap;align-items:baseline}.line-1 .heythere{margin-right:0}.line-1 .link-is-name{margin-left:0}
 .grid-is-extras{column-gap:16px!important}.grid-is-extras h3{font-size:clamp(16px,4vw,28px)}
 .description-wrapper,.grid-cs-project-wrapper.top{position:relative;min-width:0;column-gap:14px}
 .description-wrapper>h3,.grid-cs-project-wrapper.top .hp-project-title{min-width:0;padding-right:0;overflow-wrap:normal}
 .description-wrapper>.arrow-right-black,.grid-cs-project-wrapper.top .arrow-right-black{position:static!important;transform:none!important;flex:none;width:24px;max-width:24px;margin-left:auto}
 .description-wrapper{display:flex;justify-content:space-between;align-items:center}
 .grid-cs-project-wrapper.top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .grid-cs-project-wrapper.top .description-wrapper{padding-right:0}
 .grid-cs-project-wrapper.top .cs-description-homepage{max-width:calc(100% - 38px)}
 .menu-overlay .menu-links-wrapper{height:auto;margin:0;padding:100px 0 30px}
 .menu-overlay.is-open{justify-content:flex-start;padding:0 24px}.menu-item-text{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}}
@media(max-width:767px){.menu-overlay .menu-links-wrapper{display:flex;flex-direction:column;height:100dvh;min-height:620px;padding-bottom:24px}.menu-overlay .menu-item-wrapper[href="#contact"]{margin-top:auto;pointer-events:none;cursor:default}.menu-overlay .menu-contact-links{width:100%;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.menu-overlay .menu-contact-item{width:100%}.menu-overlay .menu-contact-item .menu-item{font-size:1em}.menu-open .menu-toggle{margin-right:8px}}

/* Andaz uses the authored type scale and white/dark surfaces, with modular editing. */
.andaz-original>.section,.andaz-original>[data-module-key]>.section{padding-top:0;padding-bottom:0}
.andaz-original .black{color:#f8f4f7}
.andaz-original .black h2,.andaz-original .black h4,.andaz-original .black h5,.andaz-original .black p{color:#f8f4f7}
.andaz-original .photo-number{font-family:Inter,sans-serif;text-align:left}
.andaz-original .link-4{color:#2864f0}
.andaz-original .phase-image-wrapper.no-bk-color,.andaz-original .andaz-bts-image{background:transparent}
.andaz-original .section.is-white{background:#fff;background-image:none}
.andaz-original .module-section:not(.module-dark){background:#fff;background-image:none}
.andaz-original .photo-contain img{max-width:100%}
@media(prefers-reduced-motion:no-preference){
 body:not(:has(.ve)) .cs-hero-section .project-header-wrapper{animation:project-heading-in .8s cubic-bezier(.22,1,.36,1) both}
 .cs-hero-section .grid-4-column>div{animation:project-heading-in .65s cubic-bezier(.22,1,.36,1) both;animation-delay:1.15s}
 .cs-hero-section .grid-4-column>div:nth-child(2){animation-delay:1.3s}.cs-hero-section .grid-4-column>div:nth-child(3){animation-delay:1.45s}.cs-hero-section .grid-4-column>div:nth-child(4){animation-delay:1.6s}
}
@keyframes project-heading-in{from{opacity:0;filter:blur(8px);transform:translateY(10px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
/* Independent modules must fill the same column their original parent supplied. */
.andaz-original .cs-content-wrapper{display:block}
.andaz-original .photo-50-50,.andaz-original .profiles-grid,.andaz-original .grid-11{width:100%}
/* Module-boundary spacing is owned by refinements.css. */
[data-design^="andaz-"]>.section>.container.is-case-study{padding-top:0}
[data-design="andaz-14"] .typography{margin-bottom:0}
@media(max-width:991px){.display-heading{font-size:5em}}
@media(max-width:479px){.display-heading{font-size:3em}}
@media(max-width:767px){.line-1 .h1-is-name{font-size:clamp(28px,10.1vw,42px)}}
/* Delivery-only font overrides: identical local masters, compressed to WOFF2. */
@font-face{font-family:Barlow;src:url('/assets/1ce5f7076867-6277d922f1595f135fc521f1_Barlow-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Ppeiko;src:url('/assets/8e8ada175dea-62497de5db3afa5921194e90_PPEiko-LightItalic.woff2') format('woff2');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:'Jc Font';src:url('/assets/a83a2c4559bc-6784053d6a0f2f9e97c7b146_JC-Font.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
