.contact-page{background-color:var(--tdt-color-off-white,#f5f5f5)}.contact-hero,.contact-page{width:100%;min-height:100vh;display:flex;flex-direction:column}.contact-hero{justify-content:center;align-items:center;padding:clamp(2rem,5vw,6rem) clamp(1rem,4vw,4rem);text-align:center}.contact-hero__content{display:flex;flex-direction:column;gap:clamp(1rem,3vw,2.5rem);max-width:1440px;width:100%}.contact-hero__title{font-family:var(--tdt-font-delight,"Delight",sans-serif);font-size:clamp(3rem,10vw,150px);font-weight:300;line-height:1.1;color:var(--tdt-color-black,#111111);margin:0;letter-spacing:-.02em}.contact-hero__title span{font-style:italic;display:inline-block}.contact-hero__subtitle,.contact-hero__title span{font-family:var(--tdt-font-neue-montreal,"Neue Montreal",sans-serif);font-weight:400}.contact-hero__subtitle{font-size:clamp(1rem,2vw,24px);color:rgba(17,17,17,.6);text-transform:uppercase;letter-spacing:.05em;margin:0}.contact-bento{width:100%;padding:clamp(2rem,5vw,6rem) clamp(1rem,4vw,4rem);display:flex;justify-content:center;align-items:center}.contact-bento__container{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto auto;gap:clamp(1rem,2vw,24px);width:100%;max-width:1440px}.bento-card{background-color:var(--tdt-color-white,#ffffff);border-radius:24px;padding:clamp(1.5rem,3vw,40px);display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.04)}.careers-card{grid-column:span 12}@media (min-width:1024px){.careers-card{grid-column:span 6;grid-row:span 2}}.careers-card__tag{font-family:var(--tdt-font-neue-montreal,"Neue Montreal",sans-serif);font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:rgba(17,17,17,.5);margin-bottom:clamp(2rem,4vw,60px)}.careers-card__title{font-family:var(--tdt-font-delight,"Delight",sans-serif);font-size:clamp(2.5rem,5vw,64px);font-weight:300;line-height:1.1;color:var(--tdt-color-black,#111111);margin-bottom:2rem}.careers-card__roles{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:clamp(2rem,4vw,60px)}.role-pill{font-family:var(--tdt-font-neue-montreal,"Neue Montreal",sans-serif);font-size:14px;padding:8px 16px;border-radius:100px;border:1px solid rgba(17,17,17,.1);color:var(--tdt-color-black,#111111);transition:all .3s ease}.role-pill:hover{background-color:var(--tdt-color-black,#111111);color:var(--tdt-color-white,#ffffff)}.careers-card__link{font-family:var(--tdt-font-neue-montreal,"Neue Montreal",sans-serif);font-size:16px;font-weight:500;color:var(--tdt-color-black,#111111);text-decoration:none;display:flex;align-items:center;gap:8px;margin-top:auto}.careers-card__link span{transition:transform .3s ease}.careers-card__link:hover span{transform:translateX(4px)}.letstalk-card{grid-column:span 12;background-color:var(--tdt-color-black,#111111);color:var(--tdt-color-white,#ffffff)}@media (min-width:1024px){.letstalk-card{grid-column:span 6;grid-row:span 1}}.letstalk-card__title{font-family:var(--tdt-font-delight,"Delight",sans-serif);font-size:clamp(2rem,4vw,48px);font-weight:300;margin-bottom:clamp(2rem,4vw,40px)}.letstalk-card__title span{font-family:var(--tdt-font-neue-montreal,"Neue Montreal",sans-serif);font-style:italic;font-weight:400;display:block}.letstalk-card__links{display:flex;flex-direction:column;gap:24px}.contact-link{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;transition:opacity .3s ease}.contact-link:hover{opacity:.7}.contact-link span{font-size:14px;color:rgba(255,255,255,.5);text-transform:uppercase}.contact-link span,.contact-link strong{font-family:var(--tdt-font-neue-montreal,"Neue Montreal",sans-serif)}.contact-link strong{font-size:clamp(1.125rem,2vw,24px);font-weight:400}.whitespace-card{grid-column:span 12;background-color:#E2DFDF;display:flex;justify-content:center;align-items:center;min-height:200px;cursor:grab}@media (min-width:1024px){.whitespace-card{grid-column:span 6;grid-row:span 1}}.whitespace-card:active{cursor:grabbing}.whitespace-card__title{font-family:var(--tdt-font-delight,"Delight",sans-serif);font-size:clamp(1.5rem,3vw,40px);font-weight:300;color:var(--tdt-color-black,#111111);text-align:center;user-select:none}.whitespace-card__subtitle{position:absolute;bottom:24px;right:24px;font-family:var(--tdt-font-neue-montreal,"Neue Montreal",sans-serif);font-size:12px;color:rgba(17,17,17,.5);text-transform:uppercase}.contact-footer{width:100%;background-color:var(--tdt-color-black,#111111);color:var(--tdt-color-white,#ffffff);padding:clamp(4rem,10vw,120px) clamp(1rem,4vw,4rem) 2rem;border-top-left-radius:40px;border-top-right-radius:40px}.contact-footer__container{max-width:1440px;width:100%;margin:0 auto;display:flex;flex-direction:column}.contact-footer__title{font-family:var(--tdt-font-neue-montreal,"Neue Montreal",sans-serif);font-size:clamp(3rem,15vw,250px);font-weight:500;letter-spacing:-.04em;line-height:.8;margin:0 0 clamp(2rem,8vw,100px);white-space:nowrap;overflow:hidden}.contact-footer__content{display:flex;flex-direction:column;gap:clamp(3rem,8vw,100px)}.contact-footer__subtitle{font-family:var(--tdt-font-delight,"Delight",sans-serif);font-size:clamp(2rem,5vw,56px);font-weight:300;color:rgba(245,245,245,.5);max-width:800px;margin:0;line-height:1.1}.contact-footer__bottom{display:flex;flex-wrap:wrap;gap:clamp(2rem,5vw,80px);justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding-top:clamp(2rem,4vw,40px)}.contact-footer__col{display:flex;flex-direction:column;gap:16px;min-width:200px}.contact-footer__label{font-family:var(--tdt-font-neue-montreal,"Neue Montreal",sans-serif);font-size:14px;color:rgba(255,255,255,.4);text-transform:uppercase;margin-bottom:8px}.contact-footer__address,.contact-footer__link{font-family:var(--tdt-font-neue-montreal,"Neue Montreal",sans-serif);font-size:16px;color:var(--tdt-color-white,#ffffff);font-style:normal;line-height:1.5;text-decoration:none;transition:opacity .3s ease}.contact-footer__link:hover{opacity:.7}.socials-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px}.social-link{font-family:var(--tdt-font-neue-montreal,"Neue Montreal",sans-serif);font-size:16px;color:var(--tdt-color-white,#ffffff);text-decoration:none;position:relative;display:inline-block;width:fit-content}.social-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background-color:var(--tdt-color-white,#ffffff);transition:width .3s ease}.social-link:hover:after{width:100%}.contact-banner-text{width:100%;padding:clamp(4rem,10vw,150px) clamp(1rem,4vw,4rem);display:flex;justify-content:center;align-items:center;text-align:center;background-color:var(--tdt-color-off-white,#f5f5f5)}.contact-banner-text__heading{font-family:var(--tdt-font-delight,"Delight",sans-serif);font-size:clamp(3rem,8vw,120px);font-weight:300;line-height:1.1;color:var(--tdt-color-black,#111111);margin:0}.contact-banner-text__heading span{font-family:var(--tdt-font-neue-montreal,"Neue Montreal",sans-serif);font-style:italic;font-weight:400;color:rgba(17,17,17,.4)}.contact-banner-image{width:100%;padding:0 clamp(1rem,4vw,4rem);margin-bottom:clamp(4rem,10vw,150px)}.contact-banner-image__container{width:100%;max-width:1440px;margin:0 auto;position:relative;border-radius:24px;overflow:hidden;display:flex;justify-content:center;align-items:center;aspect-ratio:16/9;background-color:#e0e0e0}.contact-banner-image__img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.2)}.contact-banner-image__text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--tdt-font-delight,"Delight",sans-serif);font-size:clamp(4rem,15vw,250px);font-weight:300;color:var(--tdt-color-white,#ffffff);margin:0;line-height:1;letter-spacing:-.02em;text-align:center;width:100%;text-shadow:0 4px 24px rgba(0,0,0,.3)}.contact-page-root{background-color:#F5F5F5;min-height:100vh}.contact-hero-panel{width:100vw;min-width:100vw;max-width:100vw;min-height:100vh;min-height:100svh;display:flex;align-items:stretch;flex:0 0 100vw}.contact-hero-panel>.contact-section{width:100%;margin:0;padding-top:clamp(80px,12vh,120px)}.contact-map-section{width:100vw;min-width:100vw;max-width:100vw;height:100vh;height:100svh;background:#F5F5F5;display:flex;align-items:center;justify-content:center;padding:160px var(--page-gutter-x);overflow:hidden;flex:0 0 100vw}.contact-map-container{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:clamp(40px,6vw,77px)}.contact-map-visual{width:100%;max-width:628px;aspect-ratio:628/754;background:#EBEBEB;border-radius:24px;overflow:hidden;position:relative;flex:1 1 628px}.contact-map-visual iframe{position:absolute;top:50%;left:50%;width:1638px;height:798px;transform:translate(-50%,-50%);border:0}.contact-map-details{display:flex;flex-direction:column;align-items:flex-start;padding:0;gap:80px;width:100%;max-width:650px;flex:1 1 500px}.contact-map-heading{display:none}.contact-map-info{gap:60px}.contact-map-block,.contact-map-info{display:flex;flex-direction:column;align-items:flex-start;width:100%}.contact-map-block{gap:16px}.contact-label{font-size:24px;line-height:1.2;opacity:.5;text-transform:none;letter-spacing:normal}.contact-label,.contact-text{font-weight:400;color:#111111}.contact-text{font-size:32px;line-height:1.25;margin:0;text-decoration:none;letter-spacing:-.02em}.contact-text-group{display:flex;flex-direction:column;gap:4px}.email-link{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}.link-hover{transition:opacity .2s}.link-hover:hover{opacity:.7}.contact-map-footer{font-size:18px;font-weight:400;line-height:24px;color:#111111;opacity:.5;padding-top:0;border-top:none;align-self:stretch}@media (max-width:1023px){.contact-map-section{padding:40px;overflow-y:auto}.contact-map-container,.contact-map-section{gap:40px;flex-direction:column}.contact-map-visual{width:100%;min-width:unset;height:auto;aspect-ratio:4/3}.contact-map-details{width:100%;gap:40px}.contact-label{font-size:18px;line-height:24px}.contact-map-footer{font-size:16px;line-height:22px}}@media (max-width:767px){.contact-hero-panel,.contact-map-section{height:auto;min-height:auto}.contact-hero-panel>.contact-section{padding-top:clamp(60px,15vw,80px)}.contact-map-section{padding:120px 16px;overflow:visible;flex:none}.contact-map-container{gap:32px}.contact-map-visual{height:min(230px,59vw);aspect-ratio:auto;border-radius:24px}.contact-map-details{gap:40px}.contact-map-info{gap:48px}.contact-map-block{gap:16px}.contact-label{font-size:18px;line-height:24px;opacity:.5}.contact-text{font-size:24px;line-height:32px}.contact-map-footer{font-size:18px;line-height:24px;opacity:.5;margin-top:-16px}}