@font-face { font-family:"Avenir Huschka"; font-style:normal; font-weight:300; font-display:swap; src:url("../webfonts/avenir-light.woff2") format("woff2"); }
@font-face { font-family:"Avenir Huschka"; font-style:normal; font-weight:600; font-display:swap; src:url("../webfonts/avenir-medium.woff2") format("woff2"); }
@font-face { font-family:"Roboto Mono Huschka"; font-style:normal; font-weight:300; font-display:swap; src:url("../webfonts/roboto-mono-light.ttf") format("truetype"); }
@font-face { font-family:"Font Awesome 5 Brands"; font-style:normal; font-weight:400; font-display:block; src:url("../webfonts/fa-brands-400.woff2") format("woff2"); }
@font-face { font-family:"Font Awesome 5 Free"; font-style:normal; font-weight:400; font-display:block; src:url("../webfonts/fa-regular-400.woff2") format("woff2"); }
:root { --ink:#171717; --paper:#f5f4f0; --tint:#e8edf0; --accent:#db5c38; --line:rgba(23,23,23,.2); --shell:min(1180px,calc(100vw - 48px)); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Avenir Huschka",Arial,sans-serif; font-size:15px; font-weight:300; line-height:1.7857; letter-spacing:.075em; }
.scroll-indicator { position:fixed; z-index:100; top:0; right:25px; height:100%; pointer-events:none; }
.scroll-indicator[hidden] { display:none; }
.scroll-indicator__bar { width:1px; height:0; margin-left:15px; border-left:1px solid #000; }
.scroll-indicator__circle { display:inline-block; margin:6px 0 0 4px; color:#000; font-family:"Font Awesome 5 Free"; font-size:25px; font-weight:400; font-style:normal; line-height:25px; opacity:.7; }
.scroll-indicator__circle::before { content:"\f192"; }
@media (min-width:1300px) { .scroll-indicator{right:2%} }
@media (min-width:1400px) { .scroll-indicator{right:5%} }
@media (min-width:1500px) { .scroll-indicator{right:10%} }
a { color:inherit; text-decoration:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
img { display:block; max-width:100%; }
.shell { width:var(--shell); margin-inline:auto; }
.site-header { position:fixed; z-index:1000; inset:0 0 auto; display:flex; align-items:center; justify-content:space-between; min-height:100px; padding:0 max(24px,calc((100vw - 1080px)/2)); background:transparent; transition:background .3s,box-shadow .3s,min-height .3s; }
.site-header.is-scrolled { min-height:80px; background:rgba(255,255,255,.96); box-shadow:0 1px 0 rgba(0,0,0,.08); }
.brand { position:relative; z-index:1002; display:block; width:min(285px,42vw); line-height:0; }
.brand img { display:block; width:100%; height:auto; }
.brand__logo { transition:opacity .2s ease; }
.brand__logo--light { position:absolute; inset:0; opacity:0; }
.menu-toggle { position:relative; z-index:1002; display:flex; gap:15px; align-items:center; min-height:70px; border:0; background:none; color:var(--ink); font-family:"Avenir Huschka",Arial,sans-serif; text-transform:uppercase; font-weight:600; letter-spacing:.14em; cursor:pointer; }
.hamburger,.hamburger::before,.hamburger::after { display:block; width:28px; height:2px; background:currentColor; transition:transform .2s,top .2s,background .2s; }
.hamburger { position:relative; }
.hamburger::before,.hamburger::after { content:""; position:absolute; left:0; }
.hamburger::before { top:-8px; }
.hamburger::after { top:8px; }
.menu-toggle[aria-expanded="true"] { position:fixed; top:15px; right:max(24px,calc((100vw - 1080px)/2)); color:white; }
.menu-toggle[aria-expanded="true"] .hamburger { background:transparent; }
.menu-toggle[aria-expanded="true"] .hamburger::before { top:0; transform:rotate(45deg); }
.menu-toggle[aria-expanded="true"] .hamburger::after { top:0; transform:rotate(-45deg); }
.site-header.is-menu-open .brand__logo--dark { opacity:0; }
.site-header.is-menu-open .brand__logo--light { opacity:1; }
.menu { position:fixed; z-index:1001; inset:0; display:block; overflow:auto; color:white; background:#353535; opacity:0; visibility:hidden; transform:translateY(-24px); transition:opacity .35s ease,transform .4s ease,visibility 0s linear .4s; }
.menu.is-open { opacity:1; visibility:visible; transform:translateY(0); transition-delay:0s; }
.menu__inner { display:flex; flex-direction:column; justify-content:center; width:min(1080px,calc(100vw - 48px)); min-height:100%; margin:auto; padding:100px 0 70px; }
.menu__columns { display:grid; grid-template-columns:7fr 5fr; gap:80px; align-items:stretch; }
.menu__links { display:flex; flex-direction:column; align-items:flex-start; }
.menu__links a { padding:6px 0; font-family:"Avenir Huschka",Arial,sans-serif; font-size:clamp(1.6rem,2.4vw,2.8rem); font-weight:600; line-height:1.35; }
.menu__links a::after,.menu__sidebar a::after { content:""; display:block; width:0; height:1px; background:currentColor; transition:width .25s; }
.menu__links a:hover::after,.menu__links a:focus-visible::after,.menu__sidebar a:hover::after,.menu__sidebar a:focus-visible::after { width:100%; }
.menu__sidebar a::after { display:none; }
.menu__sidebar { display:flex; flex-direction:column; justify-content:flex-start; gap:24px; font-family:"Avenir Huschka",Arial,sans-serif; font-size:clamp(1rem,1.4vw,1.35rem); font-weight:600; }
.menu__sidebar p { margin:0; }
.menu-open { overflow:hidden; }
.hero { --hero-shift:0px; position:relative; height:100svh; min-height:620px; background:#fff; overflow:hidden; }
.hero>img { position:relative; left:50%; width:auto; max-width:none; height:100%; object-fit:contain; transform:translate3d(-50%,var(--hero-shift),0); }
.hero--reveal::after { content:""; position:absolute; z-index:5; inset:0; pointer-events:none; background:#fff; clip-path:inset(0); transition:clip-path .75s cubic-bezier(.76,0,.24,1); will-change:clip-path; }
.hero--reveal.is-revealed::after { clip-path:inset(0 0 100% 0); }
.hero--reveal.is-reveal-skipped::after { display:none; }
.hero>.image-placeholder { height:100%; }
.scroll-hint { position:absolute; right:32px; bottom:28px; display:grid; place-items:center; width:52px; height:52px; border:1px solid currentColor; border-radius:50%; font-size:1.5rem; }
.section { padding:clamp(80px,10vw,150px) 0; scroll-margin-top:80px; }
.section--tint { background:var(--tint); }
.section--dark { background:var(--ink); color:white; }
.eyebrow { margin:0 0 44px; font-family:"Avenir Huschka",Arial,sans-serif; text-transform:uppercase; font-size:.8rem; font-weight:600; letter-spacing:.16em; }
.section-heading { margin:20px 0 50px; font-family:"Avenir Huschka",Arial,sans-serif; font-size:3.3em; font-weight:600; line-height:1.25; letter-spacing:1.125px; text-transform:uppercase; }
.vision { min-height:1000px; padding:79px 0; background:#fff; box-shadow:0 0 0 100vmax #fff; clip-path:inset(0 -100vmax); scroll-margin-top:80px; }
.vision__stage { position:relative; min-height:842px; }
.vision__image { position:absolute; z-index:0; top:0; left:0; width:60%; height:auto; }
.vision__text { position:relative; z-index:1; width:73.5%; margin-left:22.5%; padding-top:25%; }
.vision__quote { margin:0 0 40px; font-family:"Roboto Mono Huschka",monospace; font-size:1.25em; font-weight:600; line-height:1.5; letter-spacing:0; }
.vision__mobile-title { display:none; margin:0 0 35px; font-family:"Avenir Huschka",Arial,sans-serif; font-size:5rem; font-weight:600; line-height:1; text-align:center; text-transform:uppercase; }
.prose { max-width:760px; }
.prose p { margin:0 0 1.2em; }
.legal-page { min-height:80vh; padding:150px 0 110px; background:#fff; }
.legal-page__inner { width:min(1080px,calc(100vw - 48px)); margin-inline:auto; }
.legal-page h1 { margin:0 0 58px; font-family:"Avenir Huschka",Arial,sans-serif; font-size:3.3em; font-weight:600; line-height:1.25; letter-spacing:1.125px; text-transform:uppercase; }
.legal-page__content { max-width:850px; line-height:1.8; letter-spacing:.045em; }
.legal-page__content h2,.legal-page__content h3 { margin:48px 0 14px; font-family:"Avenir Huschka",Arial,sans-serif; font-size:1.2rem; font-weight:600; line-height:1.45; letter-spacing:.075em; }
.legal-page__content p { margin:0 0 22px; }
.legal-page__content a { color:var(--accent); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; overflow-wrap:anywhere; }
.legal-page__content h2:first-child,.legal-page__content h3:first-child { margin-top:0; }
.columns { margin-left:auto; columns:2 300px; column-gap:64px; }
.architecture { padding:79px 0 60px; background:#e7e7e7; }
.architecture__shell { width:min(1080px,calc(100vw - 48px)); }
.architecture__heading { margin:20px 0 0; font-family:"Avenir Huschka",Arial,sans-serif; font-size:3.3em; font-weight:600; line-height:1.25; letter-spacing:1.125px; text-transform:uppercase; }
.filters { display:block; min-height:20px; margin:0 0 40px -5px; font-family:"Roboto Mono Huschka",monospace; font-size:.75em; font-weight:300; line-height:1.7857; letter-spacing:1.125px; }
.filters button,.filters span { display:inline-block; margin:0; border:0; padding:0 20px 0 5px; color:inherit; background:transparent; font:inherit; letter-spacing:inherit; text-align:left; }
.filters button { cursor:pointer; }
.filters button:hover,.filters button:focus-visible { color:var(--accent); }
.project-grid { display:grid; grid-template-columns:repeat(auto-fill,250px); gap:24px; }
.project-card { width:250px; }
.project-card img,.project-card .image-placeholder { width:250px; height:167px; object-fit:cover; transition:transform .35s ease,filter .35s ease; }
.project-card a { position:relative; display:block; width:250px; height:167px; overflow:hidden; background:var(--ink); }
.project-card__caption { position:absolute; inset:0; display:flex; flex-direction:column; padding:20px 20px 0; color:#000; background:rgba(255,255,255,.8); opacity:0; transition:opacity .25s ease; }
.project-card:hover img,.project-card:focus-within img,.project-card.is-hovered img { transform:scale(1.045); filter:brightness(.7); }
.project-card:hover .project-card__caption,.project-card:focus-within .project-card__caption,.project-card.is-hovered .project-card__caption { opacity:1; transform:translateY(0); }
.project-card h3 { margin:0; font-family:Montserrat,Helvetica,Arial,sans-serif; font-size:16px; font-weight:700; line-height:1.4; letter-spacing:.15em; text-transform:uppercase; }
.project-card h3::after { content:""; display:block; width:45px; margin-top:18px; border-bottom:1px solid #d5d5d5; }
.project-card p { margin:0; font-size:.78rem; opacity:.8; }
.image-placeholder { display:grid; place-items:center; min-height:240px; color:rgba(0,0,0,.45); background:linear-gradient(135deg,#d7dee1,#eef1ef); }
.news-carousel { width:min(1080px,calc(100vw - 48px)); padding:79px 0 60px; background:#fff; box-shadow:0 0 0 100vmax #fff; clip-path:inset(0 -100vmax); }
.news-carousel__header { display:flex; align-items:start; justify-content:space-between; gap:30px; }
.news-carousel__header .section-heading { width:100%; }
.news-carousel__track { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-inline:contain; }
.news-carousel__track::-webkit-scrollbar { display:none; }
.news-card { flex:0 0 calc((100% - 72px)/4); min-width:0; scroll-snap-align:start; }
.news-card>a { position:relative; display:block; height:450px; overflow:hidden; background:#ddd; }
.news-card img,.news-card .image-placeholder { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.news-card__caption { position:absolute; inset:0; padding:28px; color:var(--ink); background:rgba(255,255,255,.8); transition:background .25s ease; }
.news-card__caption span { display:inline-block; margin-bottom:22px; padding-bottom:5px; border-bottom:2px solid var(--accent); font-family:"Avenir Huschka",Arial,sans-serif; font-size:1.15rem; font-weight:600; }
.news-card__caption h3 { margin:0; font-family:"Avenir Huschka",Arial,sans-serif; font-size:clamp(1rem,1.45vw,1.35rem); font-weight:600; line-height:1.35; letter-spacing:.04em; }
.news-card:hover img,.news-card:focus-within img { transform:scale(1.035); }
.news-card:hover .news-card__caption,.news-card:focus-within .news-card__caption { background:rgba(255,255,255,.28); }
.news-carousel__navigation { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:30px; }
.news-carousel__arrow { display:grid; place-items:center; width:24px; height:24px; padding:0; border:0; color:#000; background:transparent; cursor:pointer; }
.news-carousel__arrow i { font-family:"Font Awesome 5 Free"; font-size:15px; font-weight:400; font-style:normal; line-height:15px; }
.news-carousel__arrow--prev i::before { content:"\f359"; }
.news-carousel__arrow--next i::before { content:"\f35a"; }
.news-carousel__arrow:disabled { opacity:.25; cursor:default; }
.news-carousel__dots { display:flex; justify-content:center; gap:10px; }
.news-carousel__dots button { width:10px; height:10px; padding:0; border:0; border-radius:50%; background:#ccc; cursor:pointer; }
.news-carousel__dots button.is-active { background:#666; }
.team-section { padding:79px 0 60px; background:#e7e7e7; }
.team-section>.shell { width:min(1080px,calc(100vw - 48px)); }
.team-track { display:flex; flex-wrap:wrap; gap:30px; }
.person { position:relative; flex:0 0 calc((100% - 60px)/3); aspect-ratio:1/1; overflow:hidden; background:#222; }
.person img,.person .image-placeholder { width:100%; height:100%; object-fit:cover; }
.person:not(.person--join) h3 { font-family:Montserrat,Helvetica,Arial,sans-serif; font-size:16px; font-weight:700; line-height:22.4px; letter-spacing:2.4px; text-transform:uppercase; }
.person__title { position:absolute; inset:auto 0 1em; margin:0 0 15px; color:white; text-align:center; text-shadow:0 1px 8px rgba(0,0,0,.45); }
.person__caption { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:space-evenly; padding:30px; background:rgba(255,255,255,.82); opacity:0; transition:opacity .25s ease; }
.person__caption h3 { margin:0 0 12px; }
.person__caption strong { font-weight:600; }
.person__caption a { display:block; width:max-content; max-width:100%; overflow-wrap:anywhere; border:0; font-size:12px; line-height:1.7857; text-decoration:none; }
.person:hover .person__caption,.person:focus-within .person__caption { opacity:1; }
.person:hover .person__title,.person:focus-within .person__title { opacity:0; }
.person--join { position:relative; padding:0; overflow:hidden; color:white; background:#d25800; }
.person--join::after { content:""; position:absolute; inset:0; background:rgba(255,255,255,.8); opacity:0; transition:opacity .25s ease; }
.person--join__title { position:absolute; z-index:1; top:calc(100% - 52px); left:0; width:100%; margin:0; color:#fff; font-family:Montserrat,Helvetica,Arial,sans-serif; font-size:16px; font-weight:700; line-height:22.4px; text-align:center; transition:top .3s ease,left .3s ease,width .3s ease,color .25s ease,text-align .3s ease; }
.person--join__link { position:absolute; z-index:2; left:30px; bottom:30px; color:#000; font-size:15px; line-height:26.7855px; text-decoration:none; border:0; opacity:0; transform:translateY(10px); transition:opacity .2s ease .08s,transform .25s ease .08s; }
.person--join:hover::after,.person--join:focus-within::after { opacity:1; }
.person--join:hover .person--join__title,.person--join:focus-within .person--join__title { top:30px; left:30px; width:calc(100% - 60px); color:#000; text-align:left; }
.person--join:hover .person--join__link,.person--join:focus-within .person--join__link { opacity:1; transform:translateY(0); }
.team-dots { display:none; justify-content:center; gap:10px; margin-top:20px; }
.team-dots i { width:10px; height:10px; border-radius:50%; background:#ccc; }
.team-dots i.is-active { background:#666; }
.jobs { width:100%; padding:79px 0 133.33px; display:block; background:#fff; }
.jobs__inner { width:min(1080px,calc(100vw - 48px)); margin-inline:auto; }
.jobs__intro { margin-bottom:0; }
.jobs__intro p { margin:0 0 30px; }
.jobs__intro a,.jobs__item { color:#000; text-decoration:none; }
.jobs__list { margin-top:86.67px; padding:0 30px; }
.jobs__item { display:grid; grid-template-columns:285px 1fr; align-items:start; padding:15px 0; border:0; font-size:15px; line-height:26.7855px; }
.jobs__item:not(:first-child) { margin-right:-30px; margin-left:-30px; padding-right:30px; padding-left:30px; border-top:1px solid #000; }
.jobs__item--initiative { grid-template-columns:1fr; }
.contact { padding:79px 0 60px; background:#e7e7e7; }
.contact>.shell { width:min(1080px,calc(100vw - 48px)); }
.contact__grid { display:grid; grid-template-columns:350px 700px; gap:30px; min-height:400px; }
.contact__card { display:flex; flex-direction:column; justify-content:space-between; height:400px; padding:37.5px; color:white; background:#d25800; font-weight:400; }
.contact address { font-style:normal; }
.contact address h3 { margin:11px 0 15px; color:#fff; font-size:24px; font-weight:600; line-height:33.6px; text-transform:uppercase; }
.contact address p { margin:0 0 30px; color:#fff; font-size:15px; font-weight:400; line-height:26.7855px; }
.contact__links { margin:0 0 30px; color:#fff; font-size:14.5px; line-height:25.8927px; }
.contact__links a { color:#000; text-decoration:none; }
.contact__map { min-height:400px; z-index:0; }
.footer { padding:79px 0 60px; background:#353535; color:white; }
.footer__container { width:min(1080px,calc(100vw - 48px)); margin-inline:auto; }
.footer__top,.footer__bottom { display:grid; grid-template-columns:7fr 5fr; }
.footer__top { min-height:76.55px; align-items:start; }
.footer__logo { display:block; width:300px; line-height:0; }
.footer__logo img { width:300px; height:auto; }
.footer nav { display:flex; }
.footer__social { justify-content:flex-start; gap:4.45px; margin-top:10px; padding-left:35px; }
.footer__social a { display:inline-block; width:auto; height:auto; padding:0 5px; border:0; border-radius:0; line-height:1; transition:opacity .2s; }
.footer__social a:hover,.footer__social a:focus-visible { color:inherit; background:transparent; opacity:.65; }
.brand-icon { display:inline-block; font-family:"Font Awesome 5 Brands"; font-size:20px; font-style:normal; font-variant:normal; line-height:20px; text-rendering:auto; -webkit-font-smoothing:antialiased; }
.brand-icon { width:24px; text-align:center; }
.brand-icon--twitter::before { content:"\f099"; }
.brand-icon--instagram::before { content:"\f16d"; }
.brand-icon--facebook::before { content:"\f09a"; }
.brand-icon--linkedin::before { content:"\f0e1"; }
.brand-icon--xing::before { content:"\f168"; }
.brand-icon--youtube::before { content:"\f167"; }
.brand-icon--pinterest::before { content:"\f231"; }
.brand-icon--vimeo::before { content:"\f27d"; }
.brand-icon--github::before { content:"\f09b"; }
.brand-icon--behance::before { content:"\f1b4"; }
.footer__navigation { flex-direction:column; align-items:flex-start; font-size:1.3em; font-weight:600; line-height:1.7857; }
.footer__legal { display:flex; min-height:221.56px; padding:0 0 11px 35px; flex-direction:column; justify-content:flex-end; align-items:flex-start; line-height:27px; }
.footer__legal>* { display:block; flex:0 0 27px; width:100%; }
.footer__legal a { border:0; }
.footer__legal-spacer { height:27px; }
.footer__legal small { display:block; color:#ccc; font:inherit; }
.project-detail { min-height:80vh; padding:101px 0 100px; background:#fff; }
.project-detail__inner { width:min(1080px,calc(100vw - 48px)); margin-inline:auto; }
.project-detail__back { margin:0 0 30px -20px; }
.project-detail__back a { color:#000; text-decoration:none; }
.project-detail__back-icon { display:inline-block; margin-right:4px; font-family:"Font Awesome 5 Free"; font-size:15px; font-weight:400; font-style:normal; line-height:15px; }
.project-detail__back-icon::before { content:"\f359"; }
.project-detail h1 { margin:0 0 15px; font-family:Montserrat,Helvetica,Arial,sans-serif; font-size:42px; font-weight:700; line-height:58.8px; letter-spacing:2.1px; text-transform:uppercase; }
.project-slider { position:relative; width:100%; margin-bottom:50px; }
.project-slider__viewport { position:relative; aspect-ratio:940/630; overflow:hidden; background:#eee; }
.project-slider__slide { position:absolute; inset:0; margin:0; opacity:0; visibility:hidden; transition:opacity .45s ease; }
.project-slider__slide.is-active { z-index:1; opacity:1; visibility:visible; }
.project-slider__slide img { width:100%; height:100%; }
.project-slider__image--contain { object-fit:contain; }
.project-slider__image--cover { object-fit:cover; }
.image-credit { position:absolute; z-index:2; right:10px; bottom:10px; max-width:calc(100% - 20px); padding:4px 8px; color:#fff; background:rgba(0,0,0,.58); font-size:11px; font-style:normal; line-height:1.4; letter-spacing:.04em; text-align:right; pointer-events:none; }
.project-slider__arrow { position:absolute; z-index:2; top:50%; width:50px; height:70px; padding:0; transform:translateY(-50%); border:0; color:#fff; background:rgba(0,0,0,.16); font:200 48px/1 Arial,sans-serif; cursor:pointer; transition:background .2s; }
.project-slider__arrow:hover,.project-slider__arrow:focus-visible { background:rgba(0,0,0,.45); }
.project-slider__arrow--prev { left:0; }
.project-slider__arrow--next { right:0; }
.project-slider__dots { position:absolute; z-index:2; right:0; bottom:-34px; left:0; display:flex; justify-content:center; gap:8px; }
.project-slider__dots button { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:#bbb; cursor:pointer; }
.project-slider__dots button.is-active { background:#555; }
.project-detail__content { display:grid; grid-template-columns:700px 350px; gap:30px; }
.project-detail__description p { margin:0 0 30px; }
.project-detail__facts h2 { margin:0; font-family:Montserrat,Helvetica,Arial,sans-serif; font-size:15px; font-weight:700; line-height:26.7855px; text-transform:none; }
.project-detail__facts p { margin:0 0 30px; }
.project-detail__back--bottom { margin-top:0; }
.news-detail__cover { position:relative; aspect-ratio:940/630; margin-bottom:50px; overflow:hidden; background:#eee; }
.news-detail__cover img { width:100%; height:100%; }
.job-detail { min-height:80vh; padding:102px 0 100px; background:#fff; }
.job-detail__inner { width:min(1080px,calc(100vw - 48px)); margin-inline:auto; }
.job-detail__label { margin:0 0 22px; font-family:Montserrat,Helvetica,Arial,sans-serif; font-size:15px; font-weight:700; line-height:26.7855px; letter-spacing:2.4px; text-transform:uppercase; }
.job-detail__header { margin-bottom:0; }
.job-detail__header h1,.job-detail__header p { margin:0; font-family:Montserrat,Helvetica,Arial,sans-serif; font-size:24px; font-weight:700; line-height:33.6px; letter-spacing:1.2px; }
.job-detail__intro { margin:15px 0 30px; }
.job-detail__body { max-width:none; }
.job-detail__body p { margin:0 0 30px; }
.job-detail__body strong { font-weight:600; }
.job-detail__application { margin-top:30px; }
.job-detail__application p { margin:0 0 30px; }
.job-detail__application a { color:#000; text-decoration:none; }
.job-detail .project-detail__back--bottom { margin-top:60px; }
.button { display:inline-block; margin-top:32px; padding:14px 22px; background:var(--ink); color:white; }
@media (max-width:900px) { .news-card{flex-basis:calc((100% - 24px)/2)} }
@media (max-width:1000px) { .person{flex-basis:calc((100% - 30px)/2)} }
@media (max-width:1000px) { .section-heading,.architecture__heading{font-size:2.6em!important} }
@media (max-width:800px) { .vision{min-height:0;padding:80px 0}.vision__stage{min-height:0}.vision__image{display:none}.vision__mobile-title{display:block}.vision__text{width:100%;margin:0;padding:0}.vision__quote{text-align:center} }
@media (max-width:1128px) { .project-detail__content{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)} }
@media (max-width:1100px) { .contact__grid{grid-template-columns:1fr}.contact__card,.contact__map{width:100%} }
@media (max-width:760px) { :root{--shell:calc(100vw - 32px)} .site-header{min-height:76px;padding-inline:16px}.brand{width:220px}.brand img{width:100%}.menu-toggle{gap:10px}.menu-toggle span{display:none}.menu-toggle[aria-expanded="true"]{top:3px;right:16px}.menu__inner{width:80vw;padding:90px 0 50px}.menu__columns{grid-template-columns:1fr;gap:50px}.menu__links a{font-size:clamp(1.45rem,7vw,2.2rem)}.menu__sidebar{gap:30px}.project-grid{grid-template-columns:minmax(0,1fr)}.project-card,.project-card a{width:100%}.project-card a{height:auto;aspect-ratio:250/167}.project-card img,.project-card .image-placeholder{width:100%;height:100%}.jobs,.contact__grid,.footer__top,.footer__bottom{grid-template-columns:1fr}.jobs__item{grid-template-columns:1fr 1fr}.team-track{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.team-track::-webkit-scrollbar{display:none}.person{flex-basis:80vw;scroll-snap-align:start}.team-dots{display:flex}.news-card{flex-basis:80vw}.news-card>a{height:450px}.news-carousel__arrow{display:none}.jobs{gap:36px}.footer__social{justify-content:flex-start;flex-wrap:wrap;padding-left:0}.footer__legal{padding:30px 0 0}.project-detail,.job-detail{padding-top:100px}.project-detail__back{margin-left:0}.project-detail h1{font-size:28px;line-height:1.35}.project-slider__arrow{width:38px;height:54px;font-size:38px}.project-detail__content{grid-template-columns:1fr;gap:20px}.job-detail__header h1,.job-detail__header p{font-size:21px;line-height:1.4} }
@media (max-width:760px) { .legal-page{padding:112px 0 80px}.legal-page__inner{width:calc(100vw - 32px)}.legal-page h1{margin-bottom:42px;font-size:2.4em}.legal-page__content h2,.legal-page__content h3{margin-top:38px;font-size:1.08rem} }
@media (max-width:480px) { .team-grid{grid-template-columns:1fr}.site-header{padding:18px 16px}.section{padding:72px 0} }
@media (max-width:600px) { .scroll-indicator{display:none} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *{transition:none!important;animation:none!important} .hero--reveal::after{display:none} }
