<!DOCTYPE html><html lang="en"> <head><meta name="sentry-trace" content="a724c22d5a8855bb812ffb7687d4d146-aa1c1f1d364b150c-0"/><meta name="baggage" content="sentry-environment=development,sentry-public_key=4ea9352c05bfbb19a8430ddf9f2dd710,sentry-trace_id=a724c22d5a8855bb812ffb7687d4d146,sentry-org_id=4511843178446848,sentry-sampled=false,sentry-sample_rand=0.2496499695489841"/>
<meta name="sentry-route-name" content="%2F"/><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="color-scheme" content="light"><title>Frederik Trovatten  - Award-Winning Photographer</title><link rel="icon" href="/favicon.png" type="image/png" sizes="192x192"><link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180"><!-- Images are same-origin /images/* (Netlify → Sanity). Do not preconnect
         cdn.sanity.io: PSI flags it as unused and it steals early connections. --><link rel="preload" as="image" href="/images/street-photography-frederik-trovatten.webp?w=768&amp;q=72&amp;fit=max" imagesrcset="/images/street-photography-frederik-trovatten.webp?w=360&amp;q=72&amp;fit=max 360w, /images/street-photography-frederik-trovatten.webp?w=480&amp;q=72&amp;fit=max 480w, /images/street-photography-frederik-trovatten.webp?w=640&amp;q=72&amp;fit=max 640w, /images/street-photography-frederik-trovatten.webp?w=768&amp;q=72&amp;fit=max 768w, /images/street-photography-frederik-trovatten.webp?w=800&amp;q=72&amp;fit=max 800w" imagesizes="100vw" media="(max-width: 700px)" fetchpriority="high"><link rel="preload" as="image" href="/images/street-photography-frederik-trovatten.webp?w=768&amp;q=82&amp;fit=max" imagesrcset="/images/street-photography-frederik-trovatten.webp?w=360&amp;q=82&amp;fit=max 360w, /images/street-photography-frederik-trovatten.webp?w=480&amp;q=82&amp;fit=max 480w, /images/street-photography-frederik-trovatten.webp?w=640&amp;q=82&amp;fit=max 640w, /images/street-photography-frederik-trovatten.webp?w=768&amp;q=82&amp;fit=max 768w, /images/street-photography-frederik-trovatten.webp?w=960&amp;q=82&amp;fit=max 960w, /images/street-photography-frederik-trovatten.webp?w=1200&amp;q=82&amp;fit=max 1200w" imagesizes="100vw" media="(min-width: 701px)" fetchpriority="high"><meta name="description" content="I'm Frederik Trovatten. Award-winning Photographer and content creator. Before photography, I spent 15 years dedicated to digital marketing. Welcome."><link rel="canonical" href="https://trovatten.com/"><meta name="robots" content="index,follow"><meta property="og:title" content="Frederik Trovatten  - Award-Winning Photographer"><meta property="og:description" content="I'm Frederik Trovatten. Award-winning Photographer and content creator. Before photography, I spent 15 years dedicated to digital marketing. Welcome."><meta property="og:url" content="https://trovatten.com/"><meta property="og:type" content="website"><meta property="og:site_name" content="Frederik Trovatten"><meta property="og:image" content="https://trovatten.com/images/frederik-trovatten-profile-photo-social.jpg?rect=0%2C269%2C1000%2C525&amp;w=1200&amp;h=630&amp;fm=jpg&amp;q=82&amp;fit=crop"><meta property="og:image:secure_url" content="https://trovatten.com/images/frederik-trovatten-profile-photo-social.jpg?rect=0%2C269%2C1000%2C525&amp;w=1200&amp;h=630&amp;fm=jpg&amp;q=82&amp;fit=crop"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:alt" content="Frederik Trovatten  - Award-Winning Photographer"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Frederik Trovatten  - Award-Winning Photographer"><meta name="twitter:description" content="I'm Frederik Trovatten. Award-winning Photographer and content creator. Before photography, I spent 15 years dedicated to digital marketing. Welcome."><meta name="twitter:image" content="https://trovatten.com/images/frederik-trovatten-profile-photo-social.jpg?rect=0%2C269%2C1000%2C525&amp;w=1200&amp;h=630&amp;fm=jpg&amp;q=82&amp;fit=crop"><meta name="twitter:image:alt" content="Frederik Trovatten  - Award-Winning Photographer"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://trovatten.com/#person","name":"Frederik Trovatten","alternateName":"Trovatten","url":"https://trovatten.com/about","image":{"@type":"ImageObject","@id":"https://trovatten.com/about#portrait","contentUrl":"https://trovatten.com/images/frederik-trovatten-avatar-5cb48836.webp?w=800&fit=max&q=78","creator":{"@id":"https://trovatten.com/#person"},"creditText":"Frederik Trovatten","copyrightNotice":"Frederik Trovatten","license":"https://trovatten.com/image-licensing","acquireLicensePage":"https://trovatten.com/image-licensing"},"jobTitle":"Documentary and commercial photographer, filmmaker, and YouTuber","description":"Danish photographer and filmmaker known for documentary, street, and commercial photography projects.","award":["The Burger King Mexico campaign won three Gold Lions at Cannes Lions (2022)","Guldägget for the Coca-Cola campaign with Uncommon Creative Studio"],"knowsAbout":["Documentary photography","Street photography","Commercial photography","Photography marketing"],"sameAs":["https://www.wikidata.org/wiki/Q136131092","https://www.instagram.com/trovatten/","https://www.youtube.com/@FTrovatten","https://x.com/trovatten","https://www.linkedin.com/in/frederiktrovatten/"]},{"@type":"WebSite","@id":"https://trovatten.com/#website","url":"https://trovatten.com/","name":"Frederik Trovatten","alternateName":["Trovatten","trovatten.com"],"publisher":{"@id":"https://trovatten.com/#person"},"inLanguage":"en"},{"@type":"WebPage","@id":"https://trovatten.com/#webpage","url":"https://trovatten.com/","name":"Frederik Trovatten  - Award-Winning Photographer","description":"I'm Frederik Trovatten. Award-winning Photographer and content creator. Before photography, I spent 15 years dedicated to digital marketing. Welcome.","isPartOf":{"@id":"https://trovatten.com/#website"},"image":"https://trovatten.com/images/frederik-trovatten-profile-photo-social.jpg?rect=0%2C269%2C1000%2C525&w=1200&h=630&fm=jpg&q=82&fit=crop","inLanguage":"en","about":{"@id":"https://trovatten.com/#person"}}]}</script><!--
  PostHog is initialized once by GTM. This only queues page classification
  before that initialization so the native $pageview inherits the properties.
--> <script>(function(){const context = {"page_type":"homepage","content_slug":"home","site_area":"homepage"};

  (() => {
    window.__trovattenAnalyticsContext = context;
    window.posthog = window.posthog || [];
    if (typeof window.posthog.register === "function") {
      window.posthog.register(context);
    } else if (typeof window.posthog.push === "function") {
      window.posthog.push(["register", context]);
    }
  })();
})();</script> <script src="/analytics.js?v=20260809" defer></script><!--
  Advanced Consent Mode v2 (max practical measurement).

  - Tags always load (Stape Custom Loader). Denied users still send cookieless
    Google pings so GA can count traffic and model conversions.
  - Global default: granted (non-regulated regions get full cookies without a click).
  - EEA + UK + CH default: denied until Accept all (cookieless until then).
  - Stored v1.all / v1.necessary overrides defaults via consent update.
  - "Necessary only" is still respected (denied + no marketing cookies).

  Loader snippet regenerated from Stape Power-ups → Custom Loader with:
  Domain metrics.trovatten.com, Same Origin Path /metrics, GTM-P2SQXNC,
  Enhanced ad blocker protection, Cookie Keeper via external_id.
  Netlify edge proxy: netlify/edge-functions/stape-metrics.js
--> <script>
  (() => {
    // Reversible master switch. Keep the consent implementation in place so it
    // can be restored later by changing this one value back to true.
    const consentEnabled = false;
    const cookieName = "trovatten_consent";
    const match = document.cookie
      .split("; ")
      .find((cookie) => cookie.startsWith(`${cookieName}=`));
    let storedValue = "";
    if (match) {
      try {
        storedValue = decodeURIComponent(match.split("=").slice(1).join("="));
      } catch {
        storedValue = "";
      }
    }
    const preference = consentEnabled
      ? storedValue === "v1.all"
        ? "all"
        : storedValue === "v1.necessary"
          ? "necessary"
          : null
      : "all";

    window.dataLayer = window.dataLayer || [];
    window.gtag = window.gtag || function gtag() {
      window.dataLayer.push(arguments);
    };

    const denied = {
      ad_storage: "denied",
      ad_user_data: "denied",
      ad_personalization: "denied",
      analytics_storage: "denied",
      personalization_storage: "denied",
      functionality_storage: "denied",
      security_storage: "granted",
    };

    const granted = {
      ad_storage: "granted",
      ad_user_data: "granted",
      ad_personalization: "granted",
      analytics_storage: "granted",
      personalization_storage: "granted",
      functionality_storage: "granted",
      security_storage: "granted",
    };

    // GDPR/ePrivacy-heavy markets: start denied (cookieless pings only).
    // Google applies `region` from the request geo, not the browser locale.
    const regulatedRegions = [
      "AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "GR",
      "HU", "IS", "IE", "IT", "LV", "LI", "LT", "LU", "MT", "NL", "NO", "PL",
      "PT", "RO", "SK", "SI", "ES", "SE", "GB", "CH",
    ];

    if (consentEnabled) {
      // Global default first: full measurement outside regulated regions.
      window.gtag("consent", "default", { ...granted, wait_for_update: 500 });
      // Regulated regions override the global default until the user accepts.
      window.gtag("consent", "default", {
        ...denied,
        region: regulatedRegions,
        wait_for_update: 500,
      });
    } else {
      // Consent UI is temporarily off: grant every consent type everywhere.
      window.gtag("consent", "default", granted);
    }

    window.gtag("set", "ads_data_redaction", true);
    window.gtag("set", "url_passthrough", true);

    if (consentEnabled) {
      if (preference === "all") {
        window.gtag("consent", "update", granted);
      } else if (preference === "necessary") {
        window.gtag("consent", "update", denied);
      }
    }

    window.__trovattenConsentEnabled = consentEnabled;
    window.__trovattenConsentPreference = preference;

    /**
     * Stape Custom Loader (same-origin + Cookie Keeper).
     * Relative /metrics works on every host that runs the Netlify edge proxy.
     * On Safari 16.4+ with an external_id cookie, Stape switches to the kp*
     * Cookie Keeper path and appends &bi= for durable first-party cookies.
     */
    function loadMetrics() {
      if (window.__trovattenMetricsLoaded || document.getElementById("trovatten-metrics")) {
        return;
      }
      window.__trovattenMetricsLoaded = true;

      function readCookie(name) {
        const parts = document.cookie.split(";");
        for (let i = 0; i < parts.length; i++) {
          const pair = parts[i].split("=");
          if (pair[0].trim() === name) return pair[1];
        }
      }

      function readLocalStorage(key) {
        return localStorage.getItem(key);
      }

      function readJsVariable(key) {
        return window[key];
      }

      function readCssSelector(selector, attr) {
        const el = document.querySelector(selector);
        if (!el) return undefined;
        return attr ? el.getAttribute(attr) : el.textContent;
      }

      // Load from the Stape custom domain. Same-origin /metrics proxy is kept
      // in netlify.toml for future use, but Netlify blocks several GA collect
      // paths through force-proxies (403), so the loader must use the subdomain
      // until Same Origin Path is cleared in Stape or proxying is fixed.
      // Cookie Keeper (Safari 16.4+) still extends cookie lifetime via bi=.
      const loaderBase = "https://metrics.trovatten.com";
      const loaderId = "aahepwgjp";
      // Stape Custom Loader query (Cookie Keeper + enhanced adblock). After you
      // clear Same Origin Path in Stape and re-Generate, replace this if it changes.
      const loaderQuery =
        "o=GQ5aMCQoRTFCOTYvPiZOF01YSUZWAQZcBBgIARERHAQeRAQYHUMbDgBXSBoVERoIExk%3D";
      const uidSource = "cookie";
      const uidCookieName = "external_id";
      const uidCssAttr = "";

      let useCookieKeeper = false;
      let browserId;

      try {
        const ua = navigator.userAgent;
        const safariMatch = new RegExp(
          "Version/([0-9._]+)(.*Mobile)?.*Safari.*",
        ).exec(ua);
        const isModernSafari = !!(safariMatch && parseFloat(safariMatch[1]) >= 16.4);
        const isStapeUserId = uidSource === "stapeUserId";

        if (isModernSafari && !isStapeUserId) {
          const readers = {
            cookie: readCookie,
            localStorage: readLocalStorage,
            jsVariable: readJsVariable,
            cssSelector: readCssSelector,
          };
          const names = Array.isArray(uidCookieName) ? uidCookieName : [uidCookieName];
          const reader = readers[uidSource];
          if (uidSource && reader) {
            for (let i = 0; i < names.length; i++) {
              const value = uidCssAttr
                ? reader(names[i], uidCssAttr)
                : reader(names[i]);
              if (value) {
                browserId = value;
                break;
              }
            }
          } else {
            console.warn("invalid uid source", uidSource);
          }
        }

        useCookieKeeper = isModernSafari && (!!browserId || isStapeUserId);
      } catch (error) {
        console.error(error);
      }

      window.dataLayer = window.dataLayer || [];
      window.dataLayer.push({ "gtm.start": new Date().getTime(), event: "gtm.js" });

      let scriptId = loaderId;
      if (useCookieKeeper) {
        scriptId =
          scriptId.length > 8
            ? scriptId.replace(/([a-z]{8}$)/, "kp$1")
            : "kp" + scriptId;
      }

      const biParam = browserId ? "&bi=" + encodeURIComponent(browserId) : "";
      const script = document.createElement("script");
      script.id = "trovatten-metrics";
      script.async = true;
      script.src = loaderBase + "/" + scriptId + ".js?" + loaderQuery + biParam;
      document.head.appendChild(script);
    }

    window.__trovattenLoadMetrics = loadMetrics;

    /**
     * Keep consent defaults and dataLayer available immediately, but move the
     * expensive vendor chain outside the page's critical rendering window.
     * A real CTA/form interaction starts it straight away so queued conversion
     * events keep their attribution. Passive page views wait until the page has
     * been stable for long enough that vendor downloads cannot compete with LCP.
     */
    function scheduleMetrics() {
      if (window.__trovattenMetricsScheduled || window.__trovattenMetricsLoaded) {
        return;
      }
      window.__trovattenMetricsScheduled = true;

      const interactionEvents = ["pointerdown", "keydown"];
      let fallbackTimer;

      function cleanup() {
        interactionEvents.forEach((eventName) => {
          window.removeEventListener(eventName, startMetricsFromInteraction);
        });
        if (fallbackTimer) window.clearTimeout(fallbackTimer);
      }

      function startMetrics() {
        cleanup();
        loadMetrics();
      }

      function startMetricsFromInteraction(event) {
        if (event.type === "keydown") {
          if (event.key !== "Enter" && event.key !== " ") return;
        } else {
          const target = event.target;
          if (
            !(target instanceof Element) ||
            !target.closest("a[href],button,input,select,textarea,[role='button']")
          ) {
            return;
          }
        }
        startMetrics();
      }

      function startAfterCriticalWindow() {
        // GTM fans out into Google, Meta and PostHog bundles. A ten-second
        // passive delay keeps that non-visual work out of mobile LCP while the
        // interaction path above still starts measurement immediately.
        if (fallbackTimer) window.clearTimeout(fallbackTimer);
        fallbackTimer = window.setTimeout(startMetrics, 10000);
      }

      interactionEvents.forEach((eventName) => {
        window.addEventListener(eventName, startMetricsFromInteraction, {
          passive: true,
        });
      });

      if (document.readyState === "complete") startAfterCriticalWindow();
      else window.addEventListener("load", startAfterCriticalWindow, { once: true });

      // Do not lose measurement entirely when a resource prevents `load`.
      fallbackTimer = window.setTimeout(startMetrics, 12000);
    }

    window.__trovattenScheduleMetrics = scheduleMetrics;
    scheduleMetrics();

    /**
     * Google linker params (_gl / _ga*) may be needed for payment attribution on
     * community.trovatten.com, but they should not pollute main-site URLs.
     * Capture → keep main-site address bar clean → re-apply only on community hops.
     */
    (function scopeGoogleLinkerToCommunity() {
      const STORAGE_KEY = "trovatten_ga_linker";
      const COMMUNITY_HOST = "community.trovatten.com";

      function isLinkerKey(key) {
        return key === "_gl" || key === "_ga" || key.indexOf("_ga_") === 0;
      }

      function readStored() {
        try {
          return JSON.parse(sessionStorage.getItem(STORAGE_KEY) || "{}");
        } catch {
          return {};
        }
      }

      function writeStored(map) {
        try {
          sessionStorage.setItem(STORAGE_KEY, JSON.stringify(map));
        } catch {
          // Private mode / blocked storage — attribution still works via GTM when present.
        }
      }

      function captureFromParams(params) {
        const stored = readStored();
        let changed = false;
        params.forEach((value, key) => {
          if (isLinkerKey(key) && value) {
            stored[key] = value;
            changed = true;
          }
        });
        if (changed) writeStored(stored);
        return stored;
      }

      function cleanLocationBar() {
        const url = new URL(window.location.href);
        let dirty = false;
        Array.from(url.searchParams.keys()).forEach((key) => {
          if (isLinkerKey(key)) {
            url.searchParams.delete(key);
            dirty = true;
          }
        });
        if (dirty) {
          const next = url.pathname + url.search + url.hash;
          window.history.replaceState(window.history.state, "", next);
        }
      }

      function maintainCleanMainSiteUrl() {
        captureFromParams(new URLSearchParams(window.location.search));
        cleanLocationBar();
      }

      function isCommunityUrl(url) {
        return url.hostname === COMMUNITY_HOST;
      }

      function isMainSiteUrl(url) {
        const host = url.hostname;
        return host === "trovatten.com" || host === "www.trovatten.com" || host === window.location.hostname;
      }

      function applyStoredLinker(url) {
        const stored = readStored();
        Object.keys(stored).forEach((key) => {
          if (!url.searchParams.has(key) && stored[key]) {
            url.searchParams.set(key, stored[key]);
          }
        });
        return url;
      }

      function stripLinker(url) {
        Array.from(url.searchParams.keys()).forEach((key) => {
          if (isLinkerKey(key)) url.searchParams.delete(key);
        });
        return url;
      }

      window.__trovattenGetGaLinkerParams = function getGaLinkerParams() {
        maintainCleanMainSiteUrl();
        return readStored();
      };

      maintainCleanMainSiteUrl();
      // url_passthrough / GTM may re-append linker params after tags load.
      window.setTimeout(maintainCleanMainSiteUrl, 400);
      window.setTimeout(maintainCleanMainSiteUrl, 1500);
      window.setTimeout(maintainCleanMainSiteUrl, 4000);

      document.addEventListener(
        "click",
        (event) => {
          const target = event.target;
          if (!(target instanceof Element)) return;
          const anchor = target.closest("a[href]");
          if (!anchor || !(anchor instanceof HTMLAnchorElement)) return;
          if (anchor.target && anchor.target !== "_self") return;

          let url;
          try {
            url = new URL(anchor.href, window.location.href);
          } catch {
            return;
          }

          if (isCommunityUrl(url)) {
            // Payment / community hop: keep attribution linker params.
            captureFromParams(url.searchParams);
            applyStoredLinker(url);
            anchor.href = url.toString();
            return;
          }

          if (isMainSiteUrl(url) && url.origin === window.location.origin) {
            // Same-site navigation must stay clean (no _gl spam in the address bar).
            const cleaned = stripLinker(url);
            if (cleaned.toString() !== anchor.href) {
              anchor.href = cleaned.pathname + cleaned.search + cleaned.hash;
            }
          }
        },
        true,
      );
    })();
  })();
</script><style>.product-cta[data-astro-cid-pcor3p33]{margin-block:1.25rem 2.75rem}
.cookie-consent{font-family:Libre Franklin Variable,Arial,Helvetica,sans-serif}.cookie-consent[hidden]{display:none}.cookie-consent{z-index:1000;color:#fff;background:#111;border:1px solid #4a4a4a;border-radius:1.25rem;width:min(36rem,100vw - 2rem);padding:1.5rem;position:fixed;bottom:clamp(1rem,2.4vw,2rem);right:clamp(1rem,2.4vw,2rem);box-shadow:0 18px 60px #00000047}.cookie-consent__copy h2{color:#fff;letter-spacing:-.02em;margin:0;font-size:clamp(1.25rem,2.2vw,1.55rem);font-weight:750;line-height:1.16}.cookie-consent__copy p{color:#c9c9c9;margin:.45rem 0 0;font-size:.94rem;line-height:1.45}.cookie-consent__copy a{color:inherit;text-underline-offset:.18em;text-decoration:underline}.cookie-consent__actions{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.25rem;display:grid}.cookie-consent__button{appearance:none;font:inherit;cursor:pointer;border:1px solid #fff;border-radius:999px;min-height:3.25rem;padding:.75rem 1rem;font-weight:700;transition:background .15s,color .15s,transform .15s}.cookie-consent__button--necessary{color:#fff;background:0 0}.cookie-consent__button--all{color:#000;background:#fff}.cookie-consent__button:hover{transform:translateY(-1px)}.cookie-consent__button--necessary:hover{color:#000;background:#fff}.cookie-consent__button--all:hover{background:#e8e8e8}.cookie-consent__button:focus-visible,.cookie-consent__copy a:focus-visible{outline-offset:3px;outline:3px solid #fff}.consent-required-placeholder{color:#111;text-align:center;background:#ededed;place-items:center;min-height:100%;padding:2rem;display:grid}.consent-required-placeholder button{color:#fff;font:inherit;cursor:pointer;background:#111;border:1px solid #111;border-radius:999px;margin-top:.85rem;padding:.75rem 1rem;font-weight:700}@media (width<=560px){.cookie-consent{border-radius:1rem;width:calc(100vw - 1.5rem);padding:1rem;bottom:.75rem;right:.75rem}.cookie-consent__copy h2{white-space:nowrap;font-size:.98rem;line-height:1.2}.cookie-consent__copy p{margin-top:.35rem;font-size:.78rem;line-height:1.4}.cookie-consent__actions{gap:.5rem;margin-top:.85rem}.cookie-consent__button{white-space:nowrap;min-height:2.75rem;padding:.5rem .65rem;font-size:.8rem}}@media (prefers-reduced-motion:reduce){.cookie-consent__button{transition:none}}
@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/libre-franklin-cyrillic-ext-wght-normal.BbRulJFC.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/libre-franklin-cyrillic-wght-normal.se3OnFSl.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/libre-franklin-vietnamese-wght-normal.DTJpi3oK.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/libre-franklin-latin-ext-wght-normal.CeZZaleV.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/libre-franklin-latin-wght-normal.CLTz0ja0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{color-scheme:light;--font-headline:Arial, Helvetica, system-ui, -apple-system, sans-serif;--font-body:Arial, Helvetica, system-ui, -apple-system, sans-serif;--color-ink:#111;--color-paper:#fff;--btn-radius:7px;--btn-pad-y:14px;--btn-pad-x:18px;--btn-size:13px;--btn-tracking:.08em;--btn-min-height:44px;--measure-copy:68ch;--measure-editorial-copy:64ch;--measure-editorial-display:1000px;--type-body:clamp(1rem, 1.25vw, 1.125rem);--leading-body:1.55;--type-h1:clamp(2.75rem, 5vw, 4.75rem);--type-h2:clamp(2rem, 3.5vw, 3.25rem);--type-h3:clamp(1.4rem, 2.1vw, 2rem);--type-h4:clamp(1.1rem, 1.5vw, 1.35rem);--weight-h1:800;--weight-h2:800;--weight-h3:700;--leading-h1:1;--leading-h2:1.08;--leading-h3:1.18;--tracking-h1:-.035em;--tracking-h2:-.025em;--tracking-h3:-.015em;--space-section:clamp(4rem, 8vw, 7rem);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.55}h1,h2,h3,h4{font-family:Libre Franklin Variable,Arial,Helvetica,sans-serif!important}h1{font-weight:var(--weight-h1)!important;letter-spacing:-.035em!important}h2{font-weight:var(--weight-h2)!important;letter-spacing:-.02em!important}h3{font-weight:var(--weight-h3)!important;letter-spacing:-.01em!important}h4{font-weight:700!important}*{box-sizing:border-box}html,body,main,.document{background:#fff}html,body{max-width:100%;overflow-x:hidden}html{min-height:100%}body{min-height:100dvh;font-family:var(--font-body);letter-spacing:0;flex-direction:column;margin:0;font-weight:400;line-height:1.55;display:flex}main{flex:1 0 auto;min-width:0}a{color:inherit}img{max-width:100%;height:auto;display:block}figcaption{font-family:var(--font-body);letter-spacing:0;font-size:.9rem;font-weight:400;line-height:1.5}h1,h2,h3,h4,.page-title h1,.hero__copy h1,.hero__copy h2,.home-hero h1,.home-campaign h2,.home-resources h2,.home-social h2,.home-copy>h2,.portfolio-index>h1,.portfolio-card h2,.portfolio-copy h2,.portfolio-copy h3,.blog-card h2,.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4,.overlay-text h2,.cta h1,.cta h2,.related h1,.related h2{font-family:var(--font-headline);font-weight:var(--weight-h3);font-style:normal;line-height:var(--leading-h3)}h1,.page-title h1,.hero__copy h1,.home-hero h1,.portfolio-index>h1{font-size:var(--type-h1);font-weight:var(--weight-h1);line-height:var(--leading-h1);letter-spacing:var(--tracking-h1)}h2,.rich-text h2{font-size:var(--type-h2);font-weight:var(--weight-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}h3,.portfolio-copy h3,.rich-text h3{font-size:var(--type-h3);font-weight:var(--weight-h3);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3)}h4,.rich-text h4{font-size:var(--type-h4);letter-spacing:0}p,li,.rich-text,.overlay-text,.cta,.home-kicker,.portfolio-intro p,.portfolio-copy,.site-footer,.home-intro .rich-text,.home-campaign .rich-text,.home-resources .rich-text,.home-copy .rich-text{font-family:var(--font-body);letter-spacing:0;font-weight:400}.rich-text p,.portfolio-copy p,.portfolio-intro p{line-height:1.55}.site-header,.site-footer{font-family:var(--font-body);justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem clamp(1rem,4vw,4rem);display:flex}.site-header{z-index:50;background:#fff;justify-content:flex-start;gap:clamp(2.5rem,4vw,4.5rem);width:min(1320px,100% - clamp(2rem,8vw,8rem));min-height:8rem;margin-inline:auto;padding-inline:0;position:relative}.site-footer{background:#fff;flex:none;width:100%;margin-top:0;padding:0 clamp(1.25rem,4vw,4rem) 2rem;display:block}.site-footer__inner{border-top:1px solid #d8d8d8;width:min(1180px,100%);margin-inline:auto}.site-footer__main{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1.25rem,2.5vw,2rem);padding:2rem 0 1.25rem;display:flex}.site-footer__nav,.site-footer__social{justify-content:center;align-items:center;display:flex}.site-footer nav a{min-height:44px}.site-footer__nav{flex-wrap:wrap;gap:clamp(1rem,2vw,1.75rem);font-size:.92rem}.site-footer__nav a,.site-footer__meta a,.site-footer__meta button{color:#333;text-underline-offset:.25em;text-decoration:none}.site-footer__nav a:hover,.site-footer__nav a:focus-visible,.site-footer__meta a:hover,.site-footer__meta a:focus-visible,.site-footer__meta button:hover,.site-footer__meta button:focus-visible{color:#000;text-decoration:underline}.site-footer__social{gap:.65rem}.site-footer__social a{color:#222;border:1px solid #d8d8d8;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;transition:border-color .16s,color .16s;display:grid}.site-footer__social a:hover,.site-footer__social a:focus-visible{color:#000;border-color:#111}.site-footer__social svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}.site-footer__social svg .fill{fill:currentColor;stroke:none}.site-footer__social svg .play{fill:#fff;stroke:none}.site-footer__meta{color:#707070;border-top:1px solid #ededed;justify-content:center;align-items:center;gap:1.25rem;padding:.9rem 0 0;font-size:.78rem;display:flex}.site-footer__meta p{margin:0}.site-footer__meta a,.site-footer__meta button{align-items:center;min-height:44px;display:inline-flex}.site-footer__meta a{color:inherit}.site-footer__meta button{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}body.is-home .site-header{background:0 0;position:absolute;top:0;left:50%;transform:translate(-50%)}body.is-home .site-header:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#ffffffe0 0%,#ffffffb3 48%,#ffffff2e 78%,#fff0 100%);width:100vw;height:calc(100% + 4rem);position:absolute;top:0;left:50%;transform:translate(-50%)}.header-menu{flex:1;justify-content:space-between;align-items:center;gap:2rem;min-width:0;display:flex}.primary-nav,.social-nav{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.primary-nav{font-family:var(--font-body);letter-spacing:0;font-size:.95rem;font-weight:500}.primary-nav>a,.nav-folder>summary{cursor:pointer;font-family:var(--font-body);letter-spacing:0;font-weight:500;text-decoration:none}.primary-nav>a.active{text-underline-offset:.45rem;text-decoration:underline}.nav-folder{position:relative}.nav-folder>summary{align-items:center;gap:.35rem;list-style:none;display:flex}.nav-folder>summary span{display:none}.nav-folder>summary::-webkit-details-marker{display:none}.nav-folder__menu{width:max-content;min-width:18rem;font-family:var(--font-body);letter-spacing:0;background:#fff;padding:1rem 0;font-size:.95rem;font-weight:500;display:none;position:absolute;top:100%;left:0}.nav-folder[open] .nav-folder__menu,.nav-folder:focus-within .nav-folder__menu{display:grid}.nav-folder__menu a{padding:.35rem 1rem;font-weight:500;text-decoration:none}.nav-folder__menu a:hover,.nav-folder__menu a:focus-visible{text-decoration:underline}.social-nav{flex-wrap:nowrap;gap:1rem}.social-nav a{place-items:center;width:1.7rem;height:1.7rem;display:grid}.social-nav svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.social-nav svg .fill{fill:currentColor;stroke:none}.social-nav svg .play{fill:#fff;stroke:none}.brand{font-family:var(--font-body);letter-spacing:-.02em;white-space:nowrap;font-size:1.25rem;font-style:normal;font-weight:700;line-height:1.2;text-decoration:none}.mobile-menu-toggle{cursor:pointer;background:0 0;border:0;width:3rem;height:3rem;padding:.5rem;display:none}.mobile-menu-toggle span{background:#111;width:100%;height:3px;margin:6px 0;transition:transform .2s,opacity .2s;display:block}.button,.home-button,a.button,a.home-button,.section-actions .button,.section-actions a.button{box-sizing:border-box;padding:var(--btn-pad-y) var(--btn-pad-x);min-height:var(--btn-min-height);border-radius:var(--btn-radius);color:#fff;font-family:var(--font-body);font-weight:600;font-size:var(--btn-size);letter-spacing:var(--btn-tracking);text-transform:uppercase;box-shadow:none;cursor:pointer;appearance:none;background:#000;border:1px solid #000;justify-content:center;align-items:center;margin:0;line-height:1.2;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.button:hover,.button:focus-visible,.home-button:hover,.home-button:focus-visible,a.button:hover,a.button:focus-visible,a.home-button:hover,a.home-button:focus-visible{color:#000;box-shadow:none;background:#fff;border-color:#000;outline:none}.home-button--primary,.home-button--secondary{border-radius:var(--btn-radius);font-weight:600;font-size:var(--btn-size);letter-spacing:var(--btn-tracking);text-transform:uppercase;border:1px solid #000}.home-button--primary,a.home-button--primary{color:#fff;background:#000}.home-button--secondary,a.home-button--secondary{color:#000;background:#fff}.home-button--secondary:hover,.home-button--secondary:focus-visible,a.home-button--secondary:hover,a.home-button--secondary:focus-visible{color:#fff;background:#000}.home-button--wide{width:min(20rem,100vw - 3rem);padding:14px 20px}.home-project-card .home-button{min-width:9rem}.home-campaign .home-button{margin-top:2rem}.section--darkSection .button,.section--quotePanel .button,.hero .button{color:#000;background:#fff;border-color:#fff}.section--darkSection .button:hover,.section--darkSection .button:focus-visible,.section--quotePanel .button:hover,.section--quotePanel .button:focus-visible,.hero .button:hover,.hero .button:focus-visible{color:#fff;background:0 0;border-color:#fff}.document{min-height:0}.page-title,.rich-text,.overlay-text,.cta,.related--text{width:min(760px,100% - 2rem);margin:clamp(1.75rem,4vw,4rem) auto clamp(3rem,8vw,8rem)}.section--richTextSection>h2{width:min(760px,100% - 2rem);margin:clamp(1.75rem,4vw,4rem) auto 0}.section--richTextSection>h2+.rich-text{margin-top:clamp(1.25rem,2vw,1.5rem)}.page-title h1{font-size:var(--type-h1);line-height:1}.cta>.rich-text{width:100%;margin:1.5rem 0 0}.cta>.rich-text h3{margin:2rem 0 .45rem;font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.2}.cta>.rich-text h3+p{margin-top:0}.rich-text,.body-copy{font-family:var(--font-body);font-size:var(--type-body);letter-spacing:0;font-weight:400;line-height:var(--leading-body)}.rich-text h1{font-size:var(--type-h1);line-height:var(--leading-h1)}.rich-text h2{font-size:var(--type-h2);line-height:var(--leading-h2)}.rich-text h3{font-size:var(--type-h3);line-height:var(--leading-h3)}.rich-text h4{font-size:var(--type-h4);margin:clamp(1.75rem,3vw,2.5rem) 0 .5rem;line-height:1.25}.rich-text h4+p{margin-top:0;margin-bottom:1.35rem}.underexposed-callout{color:#fff;text-align:left;background:#111;flex-direction:column;align-items:flex-start;gap:.85rem;width:100%;margin:clamp(1.25rem,2.5vw,2rem) 0;padding:clamp(1.1rem,2.2vw,1.5rem) clamp(1.15rem,2.5vw,1.75rem);display:flex}.underexposed-callout__copy{max-width:38rem}.underexposed-callout__eyebrow{color:#b8b8b8;letter-spacing:.16em;text-transform:uppercase;margin:0 0 .45rem;font-size:.7rem;font-weight:700;line-height:1}.underexposed-callout__heading{font-family:var(--font-headline);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(1.2rem,1.8vw,1.55rem);font-weight:700;line-height:1.2}.underexposed-callout__body{color:#cfcfcf;max-width:42ch;margin:.35rem 0 0;font-size:.95rem;line-height:1.35}.underexposed-callout a.underexposed-callout__button{color:#111;white-space:nowrap;background:#fff;border-color:#fff;flex:none;margin:.15rem 0 0}.underexposed-callout a.underexposed-callout__button:hover,.underexposed-callout a.underexposed-callout__button:focus-visible{color:#fff;background:0 0;border-color:#fff}.key-insight{color:#fff;background:#111;width:100%;margin:clamp(2rem,4vw,3rem) 0;padding:clamp(1.35rem,3vw,2rem)}.key-insight__eyebrow{color:#b8b8b8;letter-spacing:.16em;text-transform:uppercase;margin:0 0 .65rem;font-size:.7rem;font-weight:700;line-height:1}.key-insight__heading{max-width:18ch;font-family:var(--font-headline);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,4vw,3rem);font-weight:700;line-height:1}.key-insight__body{color:#f1f1f1;max-width:48ch;margin:.85rem 0 0;font-size:1rem;line-height:1.5}.editorial-placeholder,.editorial-layout__item figure.editorial-placeholder{color:#555;text-align:center;background:#d7d7d7;place-items:center;width:100%;margin:clamp(1.5rem,3vw,2.5rem) 0;display:grid}.editorial-placeholder--3-2{aspect-ratio:3/2}.editorial-placeholder--16-9{aspect-ratio:16/9}.editorial-placeholder--4-3{aspect-ratio:4/3}.editorial-placeholder span{letter-spacing:.1em;text-transform:uppercase;max-width:28ch;padding:1rem;font-size:clamp(.7rem,1.5vw,.85rem);font-weight:700;line-height:1.35}@media print{.underexposed-callout,.key-insight{break-inside:avoid;page-break-inside:avoid}}.document--blogPost .page-title{width:min(1100px,100% - 2rem);margin:clamp(1.5rem,4vw,3.5rem) auto 0}.document--blogPost .page-title h1{max-width:none;letter-spacing:var(--tracking-h1);text-align:center;text-wrap:balance;margin:0;font-size:clamp(2.25rem,5vw,4.5rem);line-height:1}.document--blogPost .page-title p{max-width:65ch;font-family:var(--font-body);margin:clamp(1rem,2vw,1.5rem) 0 0;font-size:clamp(1.05rem,2vw,1.2rem);line-height:1.55}.document--blogPost .article-hero--reddit{grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);align-items:center;gap:clamp(2rem,5vw,5rem);width:min(1180px,100% - clamp(2rem,5vw,5rem));margin:clamp(2rem,5vw,4.5rem) auto clamp(2.5rem,5vw,4rem);display:grid}.document--blogPost .article-hero--reddit .page-title{width:100%;margin:0}.document--blogPost .article-hero--reddit .page-title h1{text-align:left;font-size:clamp(3rem,4.6vw,4.75rem);line-height:.96}.document--blogPost .article-hero--reddit .page-title p{max-width:43ch}.document--blogPost .article-hero__media{background:#f4f4f4;border:1px solid #d8d8d8;border-radius:clamp(.75rem,1.5vw,1.25rem);margin:0;overflow:hidden;box-shadow:0 1.25rem 3.25rem #1111111f}.document--blogPost .article-hero__media img{width:100%;height:auto}.document--blogPost .article-hero--reddit+.rich-text{margin-top:0}@media (width<=900px){.document--blogPost .article-hero--reddit{grid-template-columns:1fr;gap:clamp(1.5rem,5vw,2.5rem);width:min(740px,100% - 2rem);margin-top:clamp(1.5rem,5vw,3rem)}.document--blogPost .article-hero--reddit .page-title h1{text-align:center;font-size:clamp(2.5rem,9vw,4.25rem)}.document--blogPost .article-hero--reddit .page-title p{margin-inline:auto}}.document--blogPost>.rich-text{margin:clamp(1.25rem,2vw,1.5rem) auto clamp(4rem,8vw,7rem)}.document--blogPost>.rich-text--before-inline-portfolio{margin-bottom:0}.document--blogPost>.section--inlinePortfolioCarousel .related-carousel{margin-top:clamp(2.5rem,6vw,5rem);margin-bottom:clamp(3rem,7vw,5rem)}.document--blogPost>.rich-text--after-inline-portfolio{margin-top:0}.document--blogPost .sections .rich-text{font-family:var(--font-body);font-size:clamp(1.05rem,2vw,1.2rem);line-height:1.55}.document--blogPost .sections>.section--richTextSection>.rich-text,.document--blogPost .sections>.section--darkSection>.rich-text{margin:clamp(1.25rem,2vw,1.5rem) auto}.document--blogPost .section--videoEmbed .video{margin:clamp(2rem,4vw,3rem) auto}.document--blogPost .section--videoEmbed .video__heading{text-wrap:balance;width:min(760px,100%);margin:0 auto clamp(1.25rem,2vw,1.5rem);font-size:clamp(1.75rem,4vw,3rem);line-height:1.08}.document--blogPost .rich-text>:first-child{margin-top:0}.document--blogPost .rich-text>:last-child{margin-bottom:0}.document--blogPost .rich-text p{margin:0 0 1.25em}.document--blogPost .rich-text h2{text-wrap:balance;margin:1.75em 0 .6em;font-size:clamp(1.75rem,4vw,3rem);line-height:1.08}.document--blogPost .rich-text h3{margin:1.65em 0 .55em;font-size:clamp(1.35rem,2.75vw,2rem);line-height:1.15}.document--blogPost .rich-text h4{margin:1.5em 0 .5em;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.25}.document--blogPost .rich-text ul,.document--blogPost .rich-text ol{margin:0 0 1.5rem;padding-left:1.4em}.document--blogPost .rich-text li+li{margin-top:.35em}.document--blogPost .rich-text figure{margin:clamp(1.75rem,4vw,2.75rem) 0}.document--blogPost .rich-text figcaption{margin-top:.65rem}.document--editorial .editorial-content{width:min(var(--measure-editorial-display), calc(100% - 2rem));max-width:none;margin-left:auto;margin-right:auto}.document--editorial .editorial-content>h1,.document--editorial .editorial-content>h2,.document--editorial .editorial-content>h3,.document--editorial .editorial-content>h4{text-wrap:balance;width:100%;max-width:none}.document--editorial .editorial-content>p,.document--editorial .editorial-content>blockquote,.document--editorial .editorial-content>ul,.document--editorial .editorial-content>ol,.document--editorial .editorial-content>pre,.document--editorial .editorial-content>table{width:min(100%, var(--measure-editorial-copy));max-width:var(--measure-editorial-copy);margin-left:auto;margin-right:auto}.document--editorial .section--richTextSection>h2{width:min(var(--measure-editorial-display), calc(100% - 2rem));text-wrap:balance;max-width:none;margin-left:auto;margin-right:auto}.hero{color:#fff;background:#111;place-items:end start;min-height:75vh;display:grid;position:relative;overflow:hidden}.hero img{object-fit:cover;opacity:.82;width:100%;height:100%;position:absolute;inset:0}.hero__copy{width:min(850px,90%);font-family:var(--font-body);padding:clamp(2rem,7vw,7rem);position:relative}.hero__copy h1{margin:.2em 0;font-size:clamp(3rem,8vw,8rem);line-height:.95}.portfolio-project-header{background:var(--color-paper);width:100%;color:var(--color-ink)}.portfolio-project-header__media{background:#f2f2f2;width:100%;height:clamp(360px,55svh,520px);overflow:hidden}.portfolio-project-header__media picture{width:100%;height:100%;display:block}.portfolio-project-header__media img{object-fit:cover;object-position:center center;width:100%;max-width:none;height:100%}.portfolio-project-header__introduction{padding:3rem 0 3.5rem}.portfolio-project-header__inner{gap:clamp(1.5rem,5vw,2rem);width:min(1440px,100%);margin-inline:auto;padding-inline:clamp(1.75rem,7.5vw,2rem);display:grid}.portfolio-project-header h1{max-width:13ch;letter-spacing:var(--tracking-h1);overflow-wrap:normal;word-break:normal;text-wrap:balance;margin:0;font-size:clamp(3rem,13vw,4.5rem);line-height:.97}.portfolio-project-header__copy{min-width:0;max-width:32rem;font-family:var(--font-body);font-size:clamp(1.1875rem,2.5vw,1.3125rem);line-height:1.5}.portfolio-project-header__copy>p,.portfolio-project-header__copy>.rich-text{width:100%;margin:0}.portfolio-project-header__copy .rich-text{font-size:inherit;line-height:inherit}.portfolio-project-header__copy .rich-text>:first-child{margin-top:0}.portfolio-project-header__copy .rich-text>:last-child{margin-bottom:0}.portfolio-project-header__copy .rich-text p{line-height:inherit}.portfolio-project-header__copy .rich-text h2,.portfolio-project-header__copy .rich-text h3,.portfolio-project-header__copy .rich-text h4{text-wrap:balance;margin:0 0 1rem;font-size:clamp(1.25rem,4.8vw,1.6rem);line-height:1.15}.portfolio-project-header--title-only .portfolio-project-header__introduction{padding-bottom:2.5rem}.portfolio-project-header+.sections{padding-top:clamp(1.5rem,4vw,3rem)}@media (width>=768px) and (width<=1023px){.portfolio-project-header__media{height:clamp(420px,58svh,620px)}}@media (width>=1024px){.portfolio-project-header__media{height:clamp(480px,60vh,680px)}.portfolio-project-header__introduction{padding:clamp(3.5rem,5vw,5rem) 0}.portfolio-project-header__inner{grid-template-columns:minmax(0,1.38fr) minmax(0,.92fr);align-items:start;gap:clamp(3rem,7vw,7rem);padding-inline:clamp(3rem,6vw,5rem)}.portfolio-project-header h1{font-size:clamp(4.5rem,7vw,7.5rem);line-height:.96}.portfolio-project-header__copy{max-width:36rem;font-size:clamp(1.1875rem,1.45vw,1.3125rem)}.portfolio-project-header--title-only .portfolio-project-header__inner{grid-template-columns:minmax(0,1fr)}.portfolio-project-header--title-only .portfolio-project-header__introduction{padding-bottom:clamp(4rem,5vw,5rem)}.portfolio-project-header+.sections{padding-top:clamp(3rem,4vw,5rem)}.document--muay-thai .portfolio-project-header__media{height:clamp(400px,48vh,540px);max-height:70vh}}.document--muay-thai .section--muay-thai-narration .rich-text{font-family:var(--font-headline);margin-block:clamp(3rem,7vw,7rem);font-size:clamp(1.25rem,2vw,1.6rem);font-weight:700;line-height:1.2}.document--muay-thai .section--muay-thai-narration .rich-text p{margin:0}.home-hero{place-items:start center;height:clamp(20rem,30vw,26rem);padding-top:clamp(6.25rem,8vw,7rem);display:grid;position:relative;overflow:hidden}.home-hero img{object-fit:cover;object-position:50% 70%;width:100%;height:100%;position:absolute;inset:0}.home-hero h1{z-index:1;text-align:center;width:min(68rem,100% - 3rem);margin:0;font-size:clamp(2.6rem,5vw,4.75rem);line-height:.95;position:relative}.home-hero h1 span{display:block}@media (width>=768px){.home-hero h1{position:absolute;top:50%;transform:translateY(-50%)}.home-hero h1 span:first-child{white-space:nowrap}}.home-intro{text-align:center;justify-items:center;gap:clamp(2rem,3vw,2.75rem);padding:clamp(3.5rem,5vw,5rem) 1rem clamp(2.5rem,4vw,4rem);display:grid}.home-intro .rich-text,.home-resources .rich-text,.home-campaign .rich-text,.home-copy .rich-text{width:auto;margin:0}.home-intro .rich-text,.home-intro__copy{width:min(720px,100%)}.home-intro__copy p{margin:0}.home-intro__copy p+p{margin-top:1.25rem}.home-intro__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;width:min(760px,100%);display:flex}.home-kicker{letter-spacing:0;margin:0;font-size:clamp(1rem,1.8vw,1.25rem);font-weight:500}.home-section-heading{text-align:center;width:min(760px,100% - 3rem);margin:0 auto clamp(2.5rem,5vw,4rem)}.home-section-heading h2{margin:0 0 1rem}.home-section-heading p{margin:0}.home-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);width:min(1240px,100% - 3rem);margin:0 auto clamp(4rem,8vw,8rem);display:grid}.home-project-card{align-content:start;justify-items:center;gap:1.5rem;display:grid}.home-project-card>a:first-child{width:100%;display:block}.home-project-card img{aspect-ratio:1;object-fit:cover;width:100%}.home-campaign{background:#f7f7f7;border-radius:0 0 1rem 1rem;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:clamp(2rem,6vw,7rem);margin:0 0 clamp(4rem,8vw,8rem);padding:clamp(2rem,5vw,5rem) max(1.5rem,50% - 620px);display:grid}.home-campaign img{aspect-ratio:4/3;object-fit:cover;border-radius:.5rem;width:100%}.home-campaign h2{margin:0 0 2rem}.home-campaign .rich-text{width:auto}.home-campaign p{margin:0}.home-resources{text-align:center;width:min(900px,100% - 3rem);margin:0 auto clamp(5rem,10vw,10rem)}.home-resources h2{margin:0 0 1rem}.home-resources>p{margin:0}.home-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,8vw,8rem);margin-top:3rem;display:grid}.home-resource-grid .home-project-card img{aspect-ratio:4/3;object-fit:contain}.home-social{text-align:center;margin:0 auto clamp(6rem,12vw,12rem)}.home-social h2{margin:0 0 1.5rem}.home-social nav{justify-content:center;gap:1.25rem;display:flex}.home-social a{place-items:center;width:2.75rem;height:2.75rem;display:grid}.home-social svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:2rem;height:2rem}.home-social svg .fill{fill:currentColor;stroke:none}.home-social svg .play{fill:#fff;stroke:none}.home-copy{width:min(760px,100% - 3rem);margin:0 auto clamp(3.5rem,6vw,5rem)}.home-copy>h2{margin-bottom:4rem}.home-copy .rich-text{width:auto}.home-copy .rich-text h3{margin-top:3rem}.portfolio-index{padding:0}.portfolio-index>h1{text-align:center;width:min(720px,100% - 2rem);margin:1rem auto 2.5rem;font-size:clamp(2.5rem,4vw,3.5rem);line-height:1.05}@media (width>=768px){.portfolio-index>h1{white-space:nowrap;width:max-content;max-width:calc(100% - 2rem)}}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem) clamp(1rem,2vw,2rem);width:min(1180px,100% - 3rem);margin:0 auto clamp(6rem,10vw,10rem);display:grid}.portfolio-card{color:inherit;text-align:center;font-family:var(--font-body);gap:1.25rem;text-decoration:none;display:grid}.portfolio-card img{aspect-ratio:1;object-fit:cover;width:100%}.portfolio-card picture,.blog-card picture{width:100%;display:block}.portfolio-card__image--deferred{background:#f3f3f3}.portfolio-card h2{margin:0;font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.15}.portfolio-intro,.portfolio-copy{width:min(760px,100% - 3rem);font-family:var(--font-body)}.portfolio-intro{margin:0 auto clamp(6rem,10vw,10rem)}.portfolio-copy{margin:0 auto clamp(3rem,6vw,6rem)}.portfolio-intro p{font-size:clamp(1.05rem,2vw,1.25rem);font-weight:400;line-height:1.55}.portfolio-copy{line-height:1.55}.portfolio-copy h2{margin-top:4rem;font-size:clamp(1.75rem,3vw,2.6rem)}.portfolio-copy h3{margin-top:2.5rem}.portfolio-copy li+li{margin-top:.75rem}.image-block.fullWidth,.image-block.fullWidth img{width:100%}.image-block.contained{width:min(var(--portfolio-image-max-width,1100px), 90%);margin:5vw auto}.image-block.contained>img{margin-inline:auto}.image-block.contained>a{width:fit-content;max-width:100%;margin-inline:auto;display:block}.image-collection{gap:clamp(.5rem,2vw,2rem);padding:clamp(.5rem,2vw,2rem);display:grid}.imagePair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.imageGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.imageGrid figure{overflow:hidden}.imageGrid img{aspect-ratio:1;object-fit:cover;width:100%;height:100%}.imageSequence,.imageGallery{grid-template-columns:1fr}.portfolio-image-row{align-items:start;gap:clamp(.5rem,1.2vw,1.25rem);margin:0 auto clamp(.5rem,1.2vw,1.25rem);display:grid}.portfolio-image-row--contained{width:min(1320px,100% - 2rem)}.portfolio-image-row--full{width:100%}.portfolio-image-row--pair{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-image-row--triptych{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-image-row--justified{max-width:var(--portfolio-row-max-width,1320px)}.portfolio-image-row figure{min-width:0;margin:0}.portfolio-image-row picture{width:100%;display:block}.portfolio-image-row img{width:100%;height:auto;aspect-ratio:var(--portfolio-image-aspect,auto);display:block}@media (width>=701px){.portfolio-image-row--justified.portfolio-image-row--pair,.portfolio-image-row--justified.portfolio-image-row--triptych{justify-content:center;align-items:flex-start;display:flex}.portfolio-image-row--justified figure{flex:var(--portfolio-image-aspect,1) 1 0}}.image-collection figure,.image-block{margin:0}.media-section>.rich-text,.image-collection>.rich-text,.video>.rich-text{width:min(760px,100% - 2rem);margin:clamp(3rem,7vw,7rem) auto}.section--photo-origin-quote .media-section>.rich-text{margin-top:clamp(1.75rem,4vw,3rem)}.section--photo-origin-quote .rich-text h3{margin:0 0 .75rem;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.2}.section--photo-origin-quote .rich-text p{margin:0;font-size:clamp(1.05rem,1.7vw,1.2rem)}.section--mexico-city-portfolio-faq .cta>.rich-text{width:100%;margin:1.5rem 0 0}.section--mexico-city-portfolio-faq .rich-text ul{margin:1.25rem 0 2.5rem;padding-left:1.35em}.section--mexico-city-portfolio-faq .rich-text li{padding-left:.25em}.section--mexico-city-portfolio-faq .rich-text li+li{margin-top:1rem}.section--mexico-city-portfolio-faq .rich-text h3{margin:2.25rem 0 .75rem}.image-collection>.rich-text{grid-column:1/-1}.editorial-story{width:min(1180px,100% - 2rem);margin:clamp(4rem,9vw,9rem) auto}.editorial-story__intro{border-top:1px solid #111;grid-template-columns:minmax(14rem,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(2rem,7vw,7rem);padding:clamp(2rem,4vw,3.5rem) 0 clamp(4rem,8vw,7rem);display:grid}.editorial-story__intro-heading h2,.editorial-story__copy h3,.editorial-story__coda h2{letter-spacing:-.045em;margin:0}.editorial-story__intro-heading h2{max-width:11ch;font-size:clamp(2.4rem,5.2vw,5rem);line-height:.96}.editorial-story__eyebrow,.editorial-story__number{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;margin:0 0 1.25rem;font-size:.76rem;font-weight:700;line-height:1.2}.editorial-story__intro>.rich-text{width:100%;margin:0;font-size:clamp(1.08rem,1.65vw,1.28rem);line-height:1.58}.editorial-story__intro>.rich-text p:first-child{margin-top:0}.document--muay-thai .editorial-story__intro-media{margin:0 0 clamp(4.5rem,10vw,9rem)}.document--muay-thai .editorial-story__intro-media .editorial-placeholder{margin:0}.editorial-story__chapters{gap:clamp(4.5rem,10vw,9rem);display:grid}.editorial-story__chapter{grid-template-columns:minmax(0,1.35fr) minmax(17rem,.65fr);align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.editorial-story__chapter.is-reversed{grid-template-columns:minmax(17rem,.65fr) minmax(0,1.35fr)}.editorial-story__chapter.is-reversed .editorial-story__media{order:2}.editorial-story__chapter.is-reversed .editorial-story__copy{order:1}.editorial-story__media{grid-template-columns:1fr;gap:clamp(.35rem,.7vw,.65rem);display:grid}.editorial-story__media.is-diptych,.document--muay-thai .editorial-story__media.is-triptych{grid-template-columns:repeat(2,minmax(0,1fr))}.document--muay-thai .editorial-story__media.is-triptych figure:first-child{grid-column:1/-1}.editorial-story__media figure{margin:0;overflow:hidden}.editorial-story__media img{aspect-ratio:4/3;object-fit:cover;width:100%}.editorial-story__media.is-diptych img{aspect-ratio:2/3}.document--muay-thai .editorial-story__media.is-triptych img{aspect-ratio:4/3}.document--muay-thai .editorial-story__media.is-triptych figure:first-child img{aspect-ratio:3/2}.editorial-story--preserve-aspect .editorial-story__media{align-items:start}.editorial-story--preserve-aspect .editorial-story__media img{aspect-ratio:auto;object-fit:contain;height:auto}.editorial-story--preserve-aspect .editorial-story__media.is-portrait-single{justify-self:center;width:min(100%,34rem)}.editorial-story__copy{max-width:27rem}.editorial-story__number{color:#777;font-variant-numeric:tabular-nums}.editorial-story__copy h3{max-width:13ch;font-size:clamp(2rem,3.5vw,3.35rem);line-height:1}.editorial-story__copy>.rich-text{width:100%;margin:1.5rem 0 0;font-size:clamp(1rem,1.35vw,1.1rem);line-height:1.62}.editorial-story__copy>.rich-text p{margin:0}.document--muay-thai .editorial-story__copy>.rich-text p+p{margin-top:1.1rem}.editorial-story__coda{margin-top:var(--space-section);color:#fff;background:#111;grid-template-columns:minmax(14rem,.8fr) minmax(0,1.2fr);gap:clamp(2rem,7vw,7rem);padding:clamp(2.5rem,6vw,5rem);display:grid}.editorial-story__coda h2{max-width:8ch;font-size:var(--type-h2);line-height:var(--leading-h2)}.editorial-story__coda>.rich-text{width:100%;margin:0;font-size:clamp(1.05rem,1.55vw,1.22rem);line-height:1.6}.editorial-story__coda>.rich-text p:first-child{margin-top:0}.editorial-story__coda>.rich-text p:last-child{margin-bottom:0}@media (width<=760px){.editorial-story{width:min(100% - 1.5rem,38rem)}.editorial-story__intro,.editorial-story__chapter,.editorial-story__chapter.is-reversed,.editorial-story__coda{grid-template-columns:1fr}.editorial-story__intro{gap:1.75rem}.editorial-story__intro-heading h2{max-width:10ch}.editorial-story__chapter,.editorial-story__chapter.is-reversed{gap:1.75rem}.editorial-story__chapter.is-reversed .editorial-story__media,.editorial-story__chapter.is-reversed .editorial-story__copy{order:initial}.editorial-story__copy{max-width:none}.editorial-story__copy h3{max-width:12ch}.editorial-story__coda{gap:1.75rem}.document--muay-thai .editorial-story__media.is-triptych{grid-template-columns:1fr}.document--muay-thai .editorial-story__media.is-triptych figure:first-child{grid-column:auto}.document--muay-thai .editorial-story__media.is-triptych img,.document--muay-thai .editorial-story__media.is-triptych figure:first-child img{aspect-ratio:auto}}@media (width<=900px){.imageGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.imageGrid{grid-template-columns:1fr}.imageGrid img{aspect-ratio:auto;height:auto}}@media (width<=700px){.portfolio-image-row--pair,.portfolio-image-row--triptych{grid-template-columns:1fr}.portfolio-image-row--contained{width:calc(100% - 1rem)}}.section-actions{flex-wrap:wrap;justify-content:center;gap:1rem;width:min(760px,100% - 2rem);margin:2rem auto 5rem;display:flex}.video{width:min(900px,100% - 2rem);margin:clamp(1.5rem,4vw,3rem) auto clamp(2rem,5vw,4rem)}.section--videoEmbed .video{width:min(900px,100% - 2rem)}.video__heading{text-align:left;margin:0 0 1.5rem}.video__frame{aspect-ratio:16/9;background:#111;border-radius:.5rem;overflow:hidden}.video__frame iframe,.lite-video,.lite-video iframe,.lite-video__button{border:0;width:100%;height:100%}.lite-video__button{cursor:pointer;background:#111;padding:0;display:block;position:relative;overflow:hidden}.lite-video__button img{object-fit:cover;width:100%;height:100%}.lite-video__button picture{width:100%;height:100%;display:block}.lite-video__button:before,.lite-video__button:after{content:"";z-index:1;pointer-events:none;position:absolute;left:0;right:0}.lite-video__button:before{background:linear-gradient(#000000b8,#0000);height:6rem;top:0}.lite-video__button:after{background:linear-gradient(#0000,#0000008a);height:5rem;bottom:0}.lite-video__title,.lite-video__youtube{z-index:2;color:#fff;text-align:left;text-shadow:0 1px 3px #000c;position:absolute}.lite-video__title{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.88rem,2vw,1.15rem);font-weight:700;line-height:1.25;top:1rem;left:1rem;right:1rem;overflow:hidden}.lite-video__youtube{background:#0000009e;border-radius:999px;padding:.55rem .8rem;font-size:.78rem;font-weight:700;bottom:1rem;right:1rem}.lite-video__play{z-index:2;background:red;border-radius:.8rem;width:4.5rem;height:3.1rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lite-video__play:after{content:"";border-top:.65rem solid #0000;border-bottom:.65rem solid #0000;border-left:1.05rem solid #fff;position:absolute;top:50%;left:54%;transform:translate(-50%,-50%)}.editorial-layout{grid-template-columns:repeat(24,minmax(0,1fr));grid-auto-rows:minmax(0,auto);gap:11px;width:min(1320px,100% - 2rem);margin:0 auto;padding:clamp(3rem,7vw,7rem) 0;display:grid}.editorial-layout--soft{background:#f6f6f6;width:100%;padding-inline:max(1rem,50% - 660px)}.editorial-layout--dark{color:#fff;background:#111;width:100%;padding-inline:max(1rem,50% - 660px)}.editorial-layout--faq{flex-direction:column;gap:clamp(1.5rem,3vw,2.5rem);width:min(760px,100% - 2rem);display:flex}.editorial-layout--faq .editorial-layout__item{width:100%}.editorial-layout--faq .editorial-layout__item .rich-text{max-width:none}.editorial-layout--faq .editorial-layout__item:not(:first-child) .rich-text h3{margin:clamp(2rem,4vw,3rem) 0 .75rem;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.2}.editorial-layout--faq .editorial-layout__item:not(:first-child) .rich-text h3:first-child{margin-top:0}.editorial-layout--faq .editorial-layout__item:not(:first-child) .rich-text p{margin:0 0 1.25rem}.editorial-layout--faq .editorial-layout__item:not(:first-child) .rich-text ol{margin-bottom:1.5rem}.editorial-layout__item{grid-column:var(--desktop-column);grid-row:var(--desktop-row);align-self:start;min-width:0}.editorial-layout__item .rich-text{width:100%;max-width:var(--measure-copy);margin:0 auto;font-size:clamp(1rem,1.45vw,1.15rem)}.editorial-layout__item.align-center .rich-text{margin-inline:auto}.editorial-layout__item.align-right .rich-text{margin-left:auto}.editorial-layout__item .rich-text h1,.editorial-layout__item .rich-text h2,.editorial-layout__item .rich-text h3,.editorial-layout__item .rich-text p,.editorial-layout__item .rich-text ul,.editorial-layout__item .rich-text ol{margin-top:0}.editorial-layout__item figure{margin:0}.editorial-layout__item img,.editorial-layout__item .video__frame{width:100%}.video__caption{color:#222;text-align:left;margin:.75rem 0 0;font-size:.95rem;line-height:1.55}.portable-video{margin:1.75rem 0}.portable-video .video__frame{width:100%}.editorial-layout__item--layoutAction{justify-content:center;align-items:start;display:flex}.editorial-layout__item--layoutDivider hr{border:0;border-top:1px solid;width:100%;margin:0}.editorial-layout__item.align-center{text-align:center}.editorial-layout__item.align-right{text-align:right}.sections>.section:first-child .editorial-layout{padding-top:clamp(1.5rem,3vw,3rem)}.section--layoutSection+.section--layoutSection .editorial-layout{padding-top:0}.project-navigation{width:min(760px,100% - 2rem);font-family:var(--font-body);margin:clamp(3rem,8vw,8rem) auto}.project-navigation .rich-text{width:100%;margin:0}.section--quotePanel,.section--darkSection{color:#fff;background:#111;padding:clamp(3rem,8vw,8rem) 1rem}.pull-quote{color:#333;width:min(44rem,100% - 3rem);font-family:var(--font-body);letter-spacing:-.01em;text-wrap:pretty;border:0;border-left:2px solid #ccc;margin:clamp(1.75rem,3.5vw,2.5rem) auto;padding:.1rem 0 .1rem clamp(1rem,2vw,1.5rem);font-size:clamp(1.25rem,1.5vw,1.5rem);font-style:italic;font-weight:400;line-height:1.35}.pull-quote p{margin:0}.pull-quote cite{color:#555;letter-spacing:.02em;margin-top:.85rem;font-size:.875rem;font-style:normal;font-weight:500;line-height:1.45;display:block}.rich-text--long-quote .pull-quote{max-width:40rem;font-size:clamp(1.15rem,1.3vw,1.375rem);line-height:1.4}.section--quotePanel .pull-quote,.section--darkSection .pull-quote{color:#eee;border-left-color:#aaa}.section--quotePanel .pull-quote cite,.section--darkSection .pull-quote cite{color:#bbb}.listing{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;padding:2rem clamp(1rem,4vw,4rem) 6rem;display:grid}.listing a{min-height:220px;font-family:var(--font-headline);letter-spacing:.03em;background:#eee;align-items:flex-end;padding:2rem;font-size:2rem;font-weight:700;text-decoration:none;display:flex}.blog-index{width:min(1320px,100% - 2rem);margin:4rem auto 8rem}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5rem 3rem;display:grid}.blog-card{text-align:center;font-family:var(--font-body);gap:1.5rem;text-decoration:none;display:grid}.blog-card img{aspect-ratio:3/2;object-fit:cover;width:100%}.blog-card h2{margin:0;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.15}.blog-pagination{font-family:var(--font-body);grid-template-columns:minmax(7rem,1fr) auto minmax(7rem,1fr);align-items:center;gap:1.5rem;margin-top:clamp(4rem,8vw,7rem);font-size:1rem;font-weight:700;display:grid}.blog-pagination__direction{color:inherit;text-underline-offset:.2em;text-decoration:underline}.blog-pagination__direction:last-child{text-align:right}.blog-pagination__direction.is-disabled{opacity:.3;text-decoration:none}.blog-pagination__pages{gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.blog-pagination__pages a,.blog-pagination__pages span{width:2.75rem;height:2.75rem;color:inherit;border:1px solid #111;border-radius:50%;place-items:center;text-decoration:none;display:grid}.blog-pagination__pages [aria-current=page]{color:#fff;background:#111}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.related-carousel{width:100%;margin:clamp(4rem,10vw,8rem) 0 clamp(3rem,8vw,6rem);padding:0;overflow:hidden}.related-carousel__title{text-align:center;width:min(720px,100% - 2rem);font-family:var(--font-headline);letter-spacing:.03em;margin:0 auto 2.5rem;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.15}.related-carousel__shell{width:100%;padding:0 clamp(.5rem,2vw,1rem);position:relative}.related-carousel__track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-flow:row;align-items:flex-start;gap:1.5rem;padding:.25rem 3.25rem 1rem;scroll-padding-inline:1rem;display:flex;overflow:auto hidden}.related-carousel__track::-webkit-scrollbar{display:none}.related-carousel__card{scroll-snap-align:center;flex:0 0 clamp(240px,30vw,380px);justify-items:center;gap:1.25rem;width:clamp(240px,30vw,380px);min-width:clamp(240px,30vw,380px);max-width:380px;display:grid}.related-carousel__media{width:100%;color:inherit;border-radius:0;text-decoration:none;display:block;overflow:hidden}.related-carousel__media img{aspect-ratio:1;object-fit:cover;object-position:center;width:100%}.related-carousel__cta{text-align:center;white-space:normal;max-width:calc(100% - .5rem);line-height:1.25}.related-carousel__nav{z-index:2;color:#fff;cursor:pointer;width:2.75rem;height:2.75rem;box-shadow:none;background:#111;border:0;border-radius:999px;place-items:center;padding:0;font-size:1.1rem;line-height:1;display:grid;position:absolute;top:42%;transform:translateY(-50%)}.related-carousel__nav:hover,.related-carousel__nav:focus-visible{color:#111;background:#fff;outline:1px solid #111}.related-carousel__nav--prev{left:.35rem}.related-carousel__nav--next{right:.35rem}.commercial-opening{width:min(900px,100% - 3rem);margin:clamp(3rem,6vw,6rem) auto clamp(3.5rem,7vw,6rem)}.commercial-opening__inner{display:block}.commercial-opening h1{letter-spacing:-.05em;max-width:12ch;margin:0;font-size:clamp(3.75rem,6.2vw,6rem);line-height:.94}.commercial-opening__copy{max-width:650px;font-family:var(--font-body);border-top:1px solid #111;margin-top:clamp(2rem,4vw,3rem);padding-top:clamp(1.5rem,3vw,2rem);font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.55}.commercial-opening__copy p{margin:0}.commercial-opening__copy p+p{margin-top:1.25rem}.commercial-opening__actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:2rem;display:flex}.commercial-opening__primary,.commercial-opening__secondary{letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;min-height:2.9rem;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.commercial-opening__primary{color:#fff;background:#111;border:1px solid #111;padding:.85rem 1.1rem;text-decoration:none}.commercial-opening__primary:hover,.commercial-opening__primary:focus-visible{color:#111;background:#fff}.commercial-opening__secondary{color:inherit;text-underline-offset:.25em}.document--commercial-street-photography .section--commercialProjectPhotoSlider+.section--layoutSection .editorial-layout{padding-top:clamp(2rem,5vw,4rem)}.commercial-photo-slider{width:min(900px,100% - 3rem);margin:0 auto clamp(4.5rem,9vw,8rem);scroll-margin-top:2rem}.commercial-photo-slider__header{justify-content:space-between;align-items:baseline;gap:2rem;margin-bottom:clamp(1.25rem,2.5vw,2rem);display:flex}.commercial-photo-slider__header h2{max-width:none;font-family:var(--font-headline);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,3.8vw,3rem);font-weight:700;line-height:.98}.commercial-photo-slider__header p{font-family:var(--font-body);letter-spacing:.1em;white-space:nowrap;margin:0;font-size:.8rem;font-weight:700}.commercial-photo-slider__stage{outline:none;position:relative}.commercial-photo-slider__stage:focus-visible{outline-offset:.35rem;outline:2px solid #111}.commercial-photo-slider__slide{margin:0;display:block}.commercial-photo-slider__slide[hidden]{display:none}.commercial-photo-slider__media{background:#f2f2f0;place-items:center;width:100%;height:clamp(22rem,42vw,30rem);min-height:0;display:grid;position:relative;overflow:hidden}.commercial-photo-slider__media picture{width:100%;height:100%;display:block;position:absolute;inset:0}.commercial-photo-slider__media img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.commercial-photo-slider__slide figcaption{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:1rem;margin:0;padding-top:.9rem;font-size:.78rem;font-weight:700;display:flex}.commercial-photo-slider__slide figcaption a{color:inherit;text-underline-offset:.2em}.commercial-photo-slider__slide figcaption span{color:#555}.commercial-photo-slider__nav{z-index:2;color:#fff;cursor:pointer;background:#111;border:0;border-radius:50%;place-items:center;width:3.25rem;height:3.25rem;padding:0;font-size:1.1rem;line-height:1;display:grid;position:absolute;top:46%;transform:translateY(-50%)}.commercial-photo-slider__nav:hover,.commercial-photo-slider__nav:focus-visible{color:#111;background:#fff;outline:1px solid #111}.commercial-photo-slider__nav--prev{left:clamp(.75rem,2vw,1.5rem)}.commercial-photo-slider__nav--next{right:clamp(.75rem,2vw,1.5rem)}@media (width<=900px){.commercial-opening{width:min(760px,100% - 2rem);margin-top:clamp(2.5rem,8vw,4.5rem)}.commercial-opening h1{font-size:clamp(3.2rem,12vw,5.5rem)}}@media (width<=700px){.commercial-opening{margin-bottom:3.5rem}.commercial-opening h1{max-width:10ch;font-size:clamp(3rem,14vw,4.4rem)}.commercial-opening__actions{flex-direction:column;align-items:flex-start;margin-top:1.75rem}.commercial-photo-slider{width:calc(100% - 2rem)}.commercial-photo-slider__header h2{font-size:clamp(2rem,10vw,3rem)}.commercial-photo-slider__media{height:min(55vh,27rem);min-height:20rem}.commercial-photo-slider__nav{width:2.75rem;height:2.75rem}}.document--contact{padding:clamp(3.5rem,8vw,8rem) 0 0}.contact-panel{grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);align-items:start;gap:clamp(2.5rem,7vw,7rem);width:min(1100px,100% - 3rem);margin:0 auto;display:grid}.contact-copy h1{margin:0 0 2rem;font-size:clamp(2.5rem,5vw,4.8rem);line-height:.98}.contact-copy .rich-text{width:auto;margin:0}.contact-copy .rich-text h2,.contact-copy .rich-text h3{margin-top:0}.contact-form{background:#fff;border:1px solid #111;gap:1.2rem;padding:clamp(1.4rem,3vw,2.5rem);display:grid}.contact-form__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.contact-form label{gap:.45rem;font-weight:700;display:grid}.contact-form input,.contact-form textarea{color:#111;width:100%;font:inherit;background:#fff;border:1px solid #777;border-radius:0;padding:.8rem .9rem;font-weight:400;line-height:1.4}.contact-form textarea{resize:vertical;min-height:10rem}.contact-form input:focus,.contact-form textarea:focus{outline-offset:2px;border-color:#000;outline:2px solid #000}.contact-form__honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-form__submit{color:#fff;background:#000;border:2px solid #000;width:fit-content;min-width:10rem}.contact-form__submit:disabled{cursor:wait;opacity:.55}.contact-form__status{min-height:1.5em;margin:0;font-size:.95rem}.contact-form__status.is-success{font-weight:700}.contact-form__status.is-error{color:#9b111e}.contact-projects{margin-top:clamp(5rem,10vw,10rem)}@media (width<=760px){.document--contact{padding-top:2.5rem}.contact-panel{grid-template-columns:1fr;width:min(100% - 2rem,680px)}.contact-copy h1{font-size:clamp(2.5rem,13vw,4rem)}.contact-form__row{grid-template-columns:1fr}.contact-form__submit{width:100%}}.related__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.related__grid a{font-family:var(--font-body);letter-spacing:0;gap:.75rem;font-weight:500;text-decoration:none;display:grid}.related__grid img{aspect-ratio:4/5;object-fit:cover;width:100%}@media (width<=900px){.related-carousel__track{gap:1.15rem;padding:.25rem 2.75rem 1rem}.related-carousel__card{flex-basis:min(78vw,340px);width:min(78vw,340px);min-width:min(78vw,340px)}.related-carousel__nav{width:2.75rem;height:2.75rem;top:38%}}@media (width<=700px){.related-carousel__title{margin-bottom:1.75rem;font-size:clamp(1.5rem,6vw,2rem)}.related-carousel__track{padding:.25rem 2.5rem .75rem}.related-carousel__card{flex-basis:min(82vw,320px);width:min(82vw,320px);min-width:min(82vw,320px)}.related-carousel__cta{padding:10px 14px;font-size:12px}}.resource-hero{text-align:center;width:min(760px,100% - 2rem);margin:clamp(2.5rem,6vw,5rem) auto clamp(2rem,4vw,3rem)}.resource-hero h1{font-family:var(--font-headline);letter-spacing:var(--tracking-h1);margin:0 0 1.5rem;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:700;line-height:1.1}.resource-hero__intro{font-family:var(--font-body);letter-spacing:0;font-size:clamp(1.05rem,1.8vw,1.2rem);line-height:1.55}.resource-hero__intro .rich-text{width:auto;font-family:var(--font-body);font-size:inherit;margin:0}.resource-section{width:min(1180px,100% - 2rem);margin:0 auto clamp(3.5rem,8vw,6rem)}.resource-section__title{text-align:center;font-family:var(--font-headline);letter-spacing:var(--tracking-h2);margin:0 0 1.25rem;font-size:clamp(1.75rem,3.5vw,2.6rem);font-weight:700}.resource-section__intro,.resource-section__trailing{text-align:center;width:min(720px,100%);font-family:var(--font-body);line-height:1.55}.resource-section__intro{margin:0 auto 2.5rem}.resource-section__trailing{margin:2.5rem auto 0}.resource-section__intro .rich-text,.resource-section__trailing .rich-text{width:auto;font-family:var(--font-body);margin:0;font-size:1.05rem}.resource-section__trailing strong+a{margin-left:.25em}.resource-section--prose{width:min(760px,100% - 2rem)}.resource-section--prose .resource-section__title,.resource-section--prose .resource-section__intro,.resource-section--prose .resource-section__trailing{text-align:left}.resource-section--prose .resource-section__intro,.resource-section--prose .resource-section__trailing{width:100%;margin-inline:0}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(1.75rem,3vw,2.75rem) clamp(1.25rem,2.5vw,2rem);display:grid}.product-card{text-align:center;grid-template-rows:auto minmax(0,1fr);justify-items:center;gap:1rem;display:grid}.product-card__media{aspect-ratio:1;background:#fff;border-radius:0;place-items:center;width:100%;padding:0;text-decoration:none;display:grid;overflow:hidden}.product-card__media img{object-fit:contain;object-position:center;width:100%;height:100%;max-height:100%}.product-card__body{flex-direction:column;align-items:center;gap:.75rem;width:100%;height:100%;display:flex}.product-card__title{font-family:var(--font-headline);letter-spacing:.02em;margin:0;font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:700;line-height:1.25}.product-card__title a{text-underline-offset:.2em;text-decoration:underline}.product-card__copy{font-family:var(--font-body);letter-spacing:0;color:#222;font-size:.98rem;line-height:1.55}.product-card__copy .rich-text{width:auto;font-family:inherit;font-size:inherit;text-align:center;margin:0}.product-card__copy .rich-text p{margin:0 0 .65rem}.product-card__body .product-card__cta{max-width:100%;margin-top:auto}.book-carousel{width:min(1180px,100% - 2rem);margin:0 auto clamp(4rem,9vw,7rem);overflow:hidden}.book-carousel__heading{text-align:center;width:min(820px,100%);font-family:var(--font-headline);letter-spacing:var(--tracking-h2);text-wrap:balance;margin:0 auto 2.5rem;font-size:clamp(1.75rem,3.5vw,2.6rem);font-weight:700;line-height:1.12}.book-carousel__shell{position:relative}.book-carousel__track{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:1.5rem;padding:.25rem 3.5rem 1.25rem;scroll-padding-inline:3.5rem;display:flex;overflow:auto hidden}.book-carousel__track::-webkit-scrollbar{display:none}.book-carousel__card{text-align:center;scroll-snap-align:start;flex:0 0 clamp(240px,28vw,340px);grid-template-rows:auto auto minmax(0,1fr);align-content:start;justify-items:center;gap:1rem;width:clamp(240px,28vw,340px);display:grid}.book-carousel__media{aspect-ratio:4/5;background:#fff;place-items:center;width:100%;text-decoration:none;display:grid;overflow:hidden}.book-carousel__media img{object-fit:contain;object-position:center;width:100%;height:100%}.book-carousel__title{min-height:2.6em;font-family:var(--font-headline);letter-spacing:.02em;margin:0;font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:700;line-height:1.3}.book-carousel__title a{color:inherit;text-underline-offset:.2em;text-decoration:underline}.book-carousel__cta{align-self:end;min-width:9rem}.book-carousel__nav{z-index:2;color:#fff;cursor:pointer;background:#111;border:1px solid #111;border-radius:999px;place-items:center;width:2.75rem;height:2.75rem;padding:0;font-size:1.1rem;line-height:1;display:grid;position:absolute;top:38%;transform:translateY(-50%)}.book-carousel__nav:hover,.book-carousel__nav:focus-visible{color:#111;background:#fff}.book-carousel__nav:disabled{opacity:.25;cursor:default}.book-carousel__nav--prev{left:.25rem}.book-carousel__nav--next{right:.25rem}@media (width<=900px){.book-carousel__card{flex-basis:clamp(240px,42vw,320px);width:clamp(240px,42vw,320px)}}@media (width<=700px){.book-carousel{width:100%}.book-carousel__heading{width:calc(100% - 2rem);margin-bottom:1.75rem}.book-carousel__track{gap:1rem;padding-inline:2.75rem;scroll-padding-inline:2.75rem}.book-carousel__card{flex-basis:min(78vw,300px);width:min(78vw,300px)}.book-carousel__nav{width:2.75rem;height:2.75rem}.book-carousel__nav--prev{left:.2rem}.book-carousel__nav--next{right:.2rem}}.about-hero{text-align:center;width:min(760px,100% - 2rem);margin:clamp(2rem,5vw,4rem) auto 2rem}.about-portrait{width:min(280px,55vw);margin:0 auto 1.75rem}.about-portrait img{aspect-ratio:1;object-fit:cover;object-position:center top;border-radius:.75rem;width:100%;height:auto}.about-hero h1{font-family:var(--font-headline);letter-spacing:var(--tracking-h1);text-wrap:balance;margin:0 0 1.5rem;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:700;line-height:1.15}.about-body{width:min(760px,100% - 2rem);margin:0 auto clamp(2.5rem,5vw,4rem)}.about-body--intro{margin-bottom:clamp(2rem,4vw,3rem)}.about-body .rich-text{width:auto;margin:0}.about-credibility{border-top:1px solid color-mix(in srgb, currentColor 18%, transparent);width:min(760px,100% - 2rem);margin:0 auto 1rem;padding-top:1.25rem}.about-credibility .rich-text{width:auto;margin:0;font-size:.95rem;line-height:1.5}.about-credibility .rich-text p{width:auto;margin:0}.about-primary-action{width:min(760px,100% - 2rem);margin:0 auto clamp(3rem,6vw,5rem)}.about-primary-action .rich-text{width:auto;margin:0}.about-primary-action p{margin:0}.about-primary-action a{align-items:center;min-height:44px;font-weight:700;display:inline-flex}.about-primary-action a:after{content:"→";margin-left:.5rem}.about-details{width:min(1040px,100% - 2rem);margin:0 auto clamp(4rem,8vw,7rem)}.about-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.about-fact-card,.about-today__card{background:color-mix(in srgb, currentColor 4%, transparent);border:1px solid color-mix(in srgb, currentColor 10%, transparent);border-radius:.75rem;padding:clamp(1.4rem,3vw,2.25rem)}.about-fact-card .rich-text,.about-faq .rich-text,.about-today__card .rich-text{width:auto;margin:0}.about-fact-card .rich-text>:first-child,.about-faq .rich-text>:first-child,.about-today__card .rich-text>:first-child{margin-top:0}.about-fact-card .rich-text>:last-child,.about-faq .rich-text>:last-child,.about-today__card .rich-text>:last-child{margin-bottom:0}.about-fact-card h2{margin-bottom:1rem;font-size:clamp(1.45rem,2.5vw,2rem)}.about-fact-card ul{margin:0;padding-left:1.15rem}.about-fact-card li+li{margin-top:.65rem}.about-faq{width:min(760px,100%);margin:clamp(3rem,6vw,5rem) auto 0}.about-faq h2{margin:0 0 1.5rem}.about-faq h3{margin:1.6rem 0 .4rem;font-size:clamp(1.15rem,2vw,1.4rem)}.about-faq h3+p{margin-top:0}.about-journey{text-align:center;width:min(900px,100% - 2rem);margin:0 auto clamp(3rem,6vw,5rem)}.about-journey h2{font-family:var(--font-headline);letter-spacing:var(--tracking-h2);margin:0 0 1.5rem;font-weight:700}.about-journey .about-body{text-align:left;margin-bottom:clamp(1.75rem,4vw,2.75rem)}.about-journey__video{width:100%}.about-journey__video .video__frame{aspect-ratio:16/9;background:#111;border-radius:.5rem;width:100%;overflow:hidden}.about-today{width:min(1040px,100% - 2rem);margin:0 auto clamp(4rem,8vw,7rem)}.about-today>h2{text-align:center;margin:0 0 clamp(1.5rem,3vw,2.5rem)}.about-today__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.about-today__card h3{margin-bottom:.7rem;font-size:clamp(1.2rem,2vw,1.5rem)}.about-today__card p{margin-top:0}@media (width<=900px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.25rem}}@media (width<=700px){.product-grid{grid-template-columns:1fr;gap:2.5rem;width:min(420px,100%);margin:0 auto}.about-portrait{width:min(220px,60vw)}.about-facts-grid,.about-today__grid{grid-template-columns:1fr}.about-fact-card,.about-today__card{padding:1.35rem}.about-today>h2{text-align:left}}@media (hover:hover) and (width>=901px){.nav-folder:hover .nav-folder__menu{display:grid}}@media (width<=1100px) and (width>=901px){.site-header{flex-wrap:wrap;align-items:flex-start;row-gap:1.25rem}.header-menu{flex:0 0 100%;order:3;width:100%}.primary-nav{width:100%}}@media (width<=767px){.underexposed-callout{gap:.75rem;margin:1.15rem 0 1.75rem;padding:1.1rem 1.15rem}.underexposed-callout__heading{font-size:clamp(1.15rem,4.6vw,1.35rem);line-height:1.22}.underexposed-callout__body{font-size:.9rem}.underexposed-callout__button{justify-self:start}.pull-quote{border-left-width:2px;width:calc(100% - 2rem);margin:1.75rem auto;padding-left:1rem;font-size:clamp(1.2rem,4vw,1.375rem);line-height:1.38}.rich-text--long-quote .pull-quote{font-size:clamp(1.1rem,3.6vw,1.25rem);line-height:1.42}.brand{z-index:2;font-family:var(--font-body);letter-spacing:0;font-size:clamp(14px,4vw,18px);font-style:normal;font-weight:600;line-height:1.2;position:relative}.editorial-layout,.editorial-layout--soft,.editorial-layout--dark{flex-direction:column;gap:1.5rem;width:100%;padding:3.5rem 1.25rem;display:flex}.editorial-layout__item{width:100%}.editorial-layout__item--layoutDivider{display:none}.editorial-layout__item .rich-text h1{font-size:clamp(2rem,10vw,3.2rem)}.editorial-layout__item .rich-text h2{font-size:clamp(1.75rem,7.5vw,2.4rem)}.editorial-layout__item .rich-text h3{font-size:clamp(1.35rem,5.5vw,1.75rem)}}@media (width<=900px){body.mobile-menu-open{overflow:hidden}.site-header{justify-content:space-between;gap:1rem;width:100%;min-height:6.5rem;margin-inline:0;padding:1rem 1.25rem 1.25rem}.mobile-menu-toggle{z-index:2;width:2.75rem;height:2.75rem;padding:.5rem;display:block;position:relative}.mobile-menu-toggle span{height:2px;margin:5px 0}.mobile-menu-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.mobile-menu-toggle.is-open span:nth-child(2){opacity:0}.mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.header-menu{z-index:1;height:100dvh;padding:calc(6.5rem + env(safe-area-inset-top)) 1.25rem calc(2rem + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fff;display:none;position:fixed;inset:0;overflow:hidden auto}.header-menu.is-open{display:block}.primary-nav{width:100%;max-width:34rem;font-family:var(--font-body);letter-spacing:0;flex-direction:column;align-items:stretch;gap:0;margin:0 auto;font-size:clamp(1.5rem,6.5vw,2rem);font-weight:500;line-height:1.15;display:flex}.primary-nav>a{border-bottom:1px solid #e5e5e5;align-items:center;min-height:3.4rem;display:flex}.primary-nav>a.active{text-decoration:none}.nav-folder{text-align:left;border-bottom:1px solid #e5e5e5;width:100%}.nav-folder>summary{justify-content:space-between;min-height:3.4rem;font-weight:500}.nav-folder>summary span{font-size:.9em;font-weight:400;transition:transform .16s;display:inline}.nav-folder[open]>summary span{transform:rotate(90deg)}.nav-folder__menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;width:100%;min-width:0;padding:.35rem 0 1rem;font-size:clamp(.98rem,4vw,1.1rem);font-weight:400;line-height:1.25;position:static}.nav-folder__menu a{overflow-wrap:anywhere;align-items:center;min-width:0;min-height:2.75rem;padding:.55rem 0;display:flex}.social-nav{justify-content:center;gap:1.25rem;margin-top:2rem;display:flex}.social-nav a{width:2.75rem;height:2.75rem}.social-nav svg{width:1.8rem;height:1.8rem}}@media (width>=701px){.site-footer__main{gap:clamp(1rem,2vw,1.75rem)}}@media (width<=700px){body.is-home .site-header{align-items:center;min-height:0;padding:1rem 1.25rem}body.is-home .site-header:before{height:6.5rem}.home-hero{height:clamp(19rem,44svh,23rem);margin-top:0;padding-top:0}.home-hero img{object-fit:cover;object-position:50% 70%;height:118%;inset:-10% 0 auto}.home-hero h1{font-size:clamp(1.25rem,6.25vw,1.625rem);line-height:.9;position:absolute;top:52%;transform:translateY(-50%)}.home-hero h1 span:first-child{white-space:nowrap}.home-intro{gap:.875rem;padding:1.5rem 1.5rem 2.5rem}.home-button--wide{width:calc(100vw - 3rem);padding:14px 20px}.home-intro__actions{width:100%}.home-project-grid{grid-template-columns:1fr;gap:4rem;width:calc(100% - 3rem);margin-bottom:5rem}.home-project-card img{aspect-ratio:1}.home-campaign{border-radius:0;grid-template-columns:1fr;padding:3rem 1.5rem}.home-resource-grid,.portfolio-grid,.imagePair{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr;gap:3rem}.blog-pagination{grid-template-columns:1fr auto 1fr;gap:.75rem;font-size:.9rem}.blog-pagination__pages a,.blog-pagination__pages span{width:2.5rem;height:2.5rem}.site-footer{margin-top:0;padding-inline:1.25rem}.site-footer__main{flex-direction:column;gap:.8rem;padding:1.35rem 0 .9rem}.site-footer__nav{justify-content:center;gap:0 1.1rem;width:100%;font-size:.88rem;display:flex}.site-footer__social{gap:.55rem}.site-footer__meta{justify-content:center;padding-top:.75rem}}.document--legend .legend-opening{width:min(1000px,100% - 2rem);margin:clamp(2rem,5vw,4.5rem) auto clamp(1.25rem,2.5vw,2rem)}.document--legend .legend-opening h1{letter-spacing:-.045em;text-align:center;text-wrap:balance;max-width:1000px;margin:0 auto;font-size:clamp(2.75rem,4.5vw,4rem);line-height:.98}.document--legend .legend-opening p{text-align:left;width:min(680px,100%);margin:clamp(1.25rem,2vw,1.75rem) auto 0;font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.5}.document--legend .sections>.section--videoEmbed:first-child .video{width:min(1000px,100% - 2rem);margin:0 auto clamp(2.5rem,5vw,4.5rem)}.document--legend .sections>.section--videoEmbed:first-child .video__caption{width:min(680px,100%);margin:.75rem auto 0}.document--legend .editorial-layout{flex-direction:column;gap:clamp(1.75rem,3vw,3rem);width:min(1000px,100% - 2rem);padding:clamp(1.5rem,3vw,3rem) 0;display:flex}.document--legend .editorial-layout__item{width:100%}.document--legend .editorial-layout__item .rich-text{text-align:left;width:min(680px,100%);max-width:680px;margin-inline:auto}.document--legend .editorial-layout__item--layoutImage,.document--legend .editorial-layout__item--layoutVideo{width:min(1000px,100%);margin-inline:auto}.document--legend .section--richTextSection>.rich-text,.document--legend .section--darkSection>.rich-text{width:min(680px,100% - 2rem);margin:clamp(1.75rem,3vw,3rem) auto}@media (width<=700px){.document--legend .legend-opening{margin:1.5rem auto 1.25rem}.document--legend .legend-opening h1{font-size:clamp(2.25rem,10vw,2.75rem);line-height:1}.document--legend .legend-opening p{margin-top:1rem;font-size:1.05rem;line-height:1.48}.document--legend .sections>.section--videoEmbed:first-child .video{margin-bottom:2.5rem}.document--legend .editorial-layout{gap:1.5rem;width:100%;padding:1.5rem 1rem}}
</style></head> <body class="is-home"> <header class="site-header"> <a class="brand" href="/">Frederik Trovatten</a> <button class="mobile-menu-toggle" type="button" aria-label="Open menu" aria-expanded="false" aria-controls="header-menu" data-mobile-menu-toggle> <span></span><span></span><span></span> </button> <div class="header-menu" id="header-menu" data-header-menu> <nav class="primary-nav" aria-label="Main navigation"> <a href="/" class="active" aria-current="page" data-primary-nav-link> Home </a><a href="/portfolio" data-primary-nav-link> Portfolio </a><a href="/underexposed" data-primary-nav-link> Underexposed </a> <details class="nav-folder"> <summary>Resources <span aria-hidden="true">›</span></summary> <div class="nav-folder__menu"> <a href="/gear" data-resource-nav-link>Gear</a><a href="/books" data-resource-nav-link>Books</a><a href="/photography-courses" data-resource-nav-link>Courses</a><a href="/camera" data-resource-nav-link>Cameras</a><a href="/photography-gift-ideas" data-resource-nav-link>Photography gifts</a><a href="/film-photography" data-resource-nav-link>Film Photography</a><a href="/streetphotography" data-resource-nav-link>Street Photography</a><a href="/vivian-maier" data-resource-nav-link>Vivian Maier</a><a href="/robert-frank" data-resource-nav-link>Robert Frank</a><a href="/joel-meyerowitz" data-resource-nav-link>Joel Meyerowitz</a><a href="/alexey-titarenko" data-resource-nav-link>Alexey Titarenko</a><a href="/henri-cartier-bresson" data-resource-nav-link>Henri Cartier Bresson</a><a href="/albert-watson" data-resource-nav-link>Albert Watson</a><a href="/instagram" data-resource-nav-link>Instagram</a><a href="/seo" data-resource-nav-link>SEO</a><a href="/press" data-resource-nav-link>PR</a> </div> </details> <a href="/about" data-primary-nav-link> About </a><a href="/contact" data-primary-nav-link> Contact </a><a href="/blog" data-primary-nav-link> Blog </a> </nav> <nav class="social-nav" aria-label="Social links"> <a href="https://instagram.com/trovatten" aria-label="Instagram" data-social-nav-link> <svg viewBox="0 0 24 24" aria-hidden="true"> <rect x="3" y="3" width="18" height="18" rx="5"></rect> <circle cx="12" cy="12" r="4"></circle> <circle cx="17.5" cy="6.5" r="1" class="fill"></circle> </svg>    </a><a href="https://twitter.com/trovatten" aria-label="Twitter" data-social-nav-link>  <svg viewBox="0 0 24 24" aria-hidden="true"> <path class="fill" d="M21 5.1c-.7.3-1.5.5-2.3.6a4 4 0 0 0-6.9 2.7v.9A11.3 11.3 0 0 1 3.6 5c-1.2 2.1-.6 4.8 1.4 6.2-.6 0-1.2-.2-1.8-.5 0 2.2 1.6 4.1 3.8 4.5-.4.1-.8.2-1.3.2-.3 0-.6 0-.8-.1.6 1.9 2.4 3.3 4.5 3.3A8.1 8.1 0 0 1 4.3 20H3a11.4 11.4 0 0 0 6.2 1.8c7.5 0 11.6-6.2 11.6-11.6v-.5A8 8 0 0 0 23 7.6c-.7.3-1.5.5-2.3.6A4 4 0 0 0 22.5 6c-.7.4-1.5.7-2.4.9A4 4 0 0 0 21 5.1Z"></path> </svg>   </a><a href="https://www.youtube.com/@ftrovatten" aria-label="YouTube" data-social-nav-link>   <svg viewBox="0 0 24 24" aria-hidden="true"> <rect class="fill" x="2" y="5" width="20" height="14" rx="4"></rect> <path d="m10 9 6 3-6 3Z" class="play"></path> </svg>  </a><a href="mailto:frederiktro@gmail.com" aria-label="Email" data-social-nav-link>    <svg viewBox="0 0 24 24" aria-hidden="true"> <rect x="2.5" y="5" width="19" height="14" rx="1"></rect> <path d="m3 6 9 7 9-7"></path> </svg> </a> </nav> </div> </header> <script>
  (() => {
    const toggle = document.querySelector("[data-mobile-menu-toggle]");
    const menu = document.querySelector("[data-header-menu]");
    const resourceFolder = menu?.querySelector(".nav-folder");
    if (!(toggle instanceof HTMLButtonElement) || !(menu instanceof HTMLElement)) return;
    const close = () => {
      toggle.classList.remove("is-open");
      menu.classList.remove("is-open");
      toggle.setAttribute("aria-expanded", "false");
      toggle.setAttribute("aria-label", "Open menu");
      document.body.classList.remove("mobile-menu-open");
      if (resourceFolder instanceof HTMLDetailsElement) resourceFolder.open = false;
    };
    toggle.addEventListener("click", () => {
      const opening = !menu.classList.contains("is-open");
      if (!opening) return close();
      toggle.classList.add("is-open");
      menu.classList.add("is-open");
      toggle.setAttribute("aria-expanded", "true");
      toggle.setAttribute("aria-label", "Close menu");
      document.body.classList.add("mobile-menu-open");
    });
    menu.querySelectorAll("a").forEach((link) => link.addEventListener("click", close));
    document.addEventListener("keydown", (event) => {
      if (event.key === "Escape") close();
    });
  })();
</script> <main> <article class="document document--home"> <section class="home-hero"> <picture> <source media="(max-width: 700px)" srcset="/images/street-photography-frederik-trovatten.webp?w=360&amp;q=72&amp;fit=max 360w, /images/street-photography-frederik-trovatten.webp?w=480&amp;q=72&amp;fit=max 480w, /images/street-photography-frederik-trovatten.webp?w=640&amp;q=72&amp;fit=max 640w, /images/street-photography-frederik-trovatten.webp?w=768&amp;q=72&amp;fit=max 768w, /images/street-photography-frederik-trovatten.webp?w=800&amp;q=72&amp;fit=max 800w" sizes="100vw"> <img src="/images/street-photography-frederik-trovatten.webp?w=1200&amp;q=82&amp;fit=max" srcset="/images/street-photography-frederik-trovatten.webp?w=360&amp;q=82&amp;fit=max 360w, /images/street-photography-frederik-trovatten.webp?w=480&amp;q=82&amp;fit=max 480w, /images/street-photography-frederik-trovatten.webp?w=640&amp;q=82&amp;fit=max 640w, /images/street-photography-frederik-trovatten.webp?w=768&amp;q=82&amp;fit=max 768w, /images/street-photography-frederik-trovatten.webp?w=960&amp;q=82&amp;fit=max 960w, /images/street-photography-frederik-trovatten.webp?w=1200&amp;q=82&amp;fit=max 1200w" width="1200" height="675" alt="Street photography frederik trovatten" sizes="100vw" loading="eager" decoding="async" fetchpriority="high"> </picture> <h1> <span>Documentary and commercial</span> <span>photographer</span> </h1> </section> <section class="home-intro"> <div class="home-intro__copy body-copy"> <p>
I’m Frederik. I photograph people, culture, and commercial campaigns. I also help photographers to get seen and hired through Underexposed.
</p> </div> <div class="home-intro__actions" data-analytics-cta-location="homepage_hero"> <a class="home-button home-button--primary" href="/underexposed" data-home-primary-cta> Join Underexposed </a> <a class="home-button home-button--secondary" href="https://www.youtube.com/@ftrovatten" data-home-secondary-cta> YouTube </a> </div> </section> <header class="home-section-heading"> <h2>Photography projects</h2> <p class="body-copy">
Commercial commissions and personal projects.
</p> </header> <section class="home-project-grid" aria-label="Photography projects"> <article class="home-project-card" data-home-portfolio-card> <a href="/portfolio/burger-king" aria-label="Burger King campaign"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-deferred-image data-deferred-src="/images/burger-king-photography-project.webp?w=800&amp;q=78&amp;fit=max" data-deferred-srcset="/images/burger-king-photography-project.webp?w=360&amp;q=78&amp;fit=max 360w, /images/burger-king-photography-project.webp?w=480&amp;q=78&amp;fit=max 480w, /images/burger-king-photography-project.webp?w=640&amp;q=78&amp;fit=max 640w, /images/burger-king-photography-project.webp?w=768&amp;q=78&amp;fit=max 768w, /images/burger-king-photography-project.webp?w=800&amp;q=78&amp;fit=max 800w" width="1000" height="829" alt="Burger King campaign" sizes="(max-width: 700px) calc(100vw - 48px), (max-width: 1100px) calc(50vw - 48px), 33vw" loading="lazy" decoding="async" fetchpriority="low"> <noscript> <img src="/images/burger-king-photography-project.webp?w=800&amp;q=78&amp;fit=max" srcset="/images/burger-king-photography-project.webp?w=360&amp;q=78&amp;fit=max 360w, /images/burger-king-photography-project.webp?w=480&amp;q=78&amp;fit=max 480w, /images/burger-king-photography-project.webp?w=640&amp;q=78&amp;fit=max 640w, /images/burger-king-photography-project.webp?w=768&amp;q=78&amp;fit=max 768w, /images/burger-king-photography-project.webp?w=800&amp;q=78&amp;fit=max 800w" width="1000" height="829" alt="Burger King campaign" sizes="(max-width: 700px) calc(100vw - 48px), (max-width: 1100px) calc(50vw - 48px), 33vw" loading="lazy" decoding="async"> </noscript> </a> <a class="home-button home-button--secondary" href="/portfolio/burger-king" data-home-portfolio-button> Burger King campaign </a> </article><article class="home-project-card" data-home-portfolio-card> <a href="/portfolio/mexico-city" aria-label="Mexico City street photography"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-deferred-image data-deferred-src="/images/basics-of-street-photography-for-beginners.webp?w=800&amp;q=78&amp;fit=max" data-deferred-srcset="/images/basics-of-street-photography-for-beginners.webp?w=360&amp;q=78&amp;fit=max 360w, /images/basics-of-street-photography-for-beginners.webp?w=480&amp;q=78&amp;fit=max 480w, /images/basics-of-street-photography-for-beginners.webp?w=640&amp;q=78&amp;fit=max 640w, /images/basics-of-street-photography-for-beginners.webp?w=768&amp;q=78&amp;fit=max 768w, /images/basics-of-street-photography-for-beginners.webp?w=800&amp;q=78&amp;fit=max 800w" width="1184" height="670" alt="Mexico City street photography" sizes="(max-width: 700px) calc(100vw - 48px), (max-width: 1100px) calc(50vw - 48px), 33vw" loading="lazy" decoding="async" fetchpriority="low"> <noscript> <img src="/images/basics-of-street-photography-for-beginners.webp?w=800&amp;q=78&amp;fit=max" srcset="/images/basics-of-street-photography-for-beginners.webp?w=360&amp;q=78&amp;fit=max 360w, /images/basics-of-street-photography-for-beginners.webp?w=480&amp;q=78&amp;fit=max 480w, /images/basics-of-street-photography-for-beginners.webp?w=640&amp;q=78&amp;fit=max 640w, /images/basics-of-street-photography-for-beginners.webp?w=768&amp;q=78&amp;fit=max 768w, /images/basics-of-street-photography-for-beginners.webp?w=800&amp;q=78&amp;fit=max 800w" width="1184" height="670" alt="Mexico City street photography" sizes="(max-width: 700px) calc(100vw - 48px), (max-width: 1100px) calc(50vw - 48px), 33vw" loading="lazy" decoding="async"> </noscript> </a> <a class="home-button home-button--secondary" href="/portfolio/mexico-city" data-home-portfolio-button> Mexico City street photography </a> </article><article class="home-project-card" data-home-portfolio-card> <a href="/portfolio/day-of-the-dead" aria-label="Mexico’s Day of the Dead"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-deferred-image data-deferred-src="/images/day-of-the-dead-photography.webp?w=800&amp;q=78&amp;fit=max" data-deferred-srcset="/images/day-of-the-dead-photography.webp?w=360&amp;q=78&amp;fit=max 360w, /images/day-of-the-dead-photography.webp?w=480&amp;q=78&amp;fit=max 480w, /images/day-of-the-dead-photography.webp?w=640&amp;q=78&amp;fit=max 640w, /images/day-of-the-dead-photography.webp?w=768&amp;q=78&amp;fit=max 768w, /images/day-of-the-dead-photography.webp?w=800&amp;q=78&amp;fit=max 800w" width="1280" height="1600" alt="Mexico’s Day of the Dead" sizes="(max-width: 700px) calc(100vw - 48px), (max-width: 1100px) calc(50vw - 48px), 33vw" loading="lazy" decoding="async" fetchpriority="low"> <noscript> <img src="/images/day-of-the-dead-photography.webp?w=800&amp;q=78&amp;fit=max" srcset="/images/day-of-the-dead-photography.webp?w=360&amp;q=78&amp;fit=max 360w, /images/day-of-the-dead-photography.webp?w=480&amp;q=78&amp;fit=max 480w, /images/day-of-the-dead-photography.webp?w=640&amp;q=78&amp;fit=max 640w, /images/day-of-the-dead-photography.webp?w=768&amp;q=78&amp;fit=max 768w, /images/day-of-the-dead-photography.webp?w=800&amp;q=78&amp;fit=max 800w" width="1280" height="1600" alt="Mexico’s Day of the Dead" sizes="(max-width: 700px) calc(100vw - 48px), (max-width: 1100px) calc(50vw - 48px), 33vw" loading="lazy" decoding="async"> </noscript> </a> <a class="home-button home-button--secondary" href="/portfolio/day-of-the-dead" data-home-portfolio-button> Mexico’s Day of the Dead </a> </article> </section> <section class="home-campaign"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-deferred-image data-deferred-src="/images/coke-cola-taco-trovatten-photo-project.webp?w=900&amp;q=78&amp;fit=max" data-deferred-srcset="/images/coke-cola-taco-trovatten-photo-project.webp?w=360&amp;q=78&amp;fit=max 360w, /images/coke-cola-taco-trovatten-photo-project.webp?w=480&amp;q=78&amp;fit=max 480w, /images/coke-cola-taco-trovatten-photo-project.webp?w=640&amp;q=78&amp;fit=max 640w, /images/coke-cola-taco-trovatten-photo-project.webp?w=768&amp;q=78&amp;fit=max 768w, /images/coke-cola-taco-trovatten-photo-project.webp?w=900&amp;q=78&amp;fit=max 900w" width="960" height="1200" alt="Coca Cola x Trovatten" sizes="(max-width: 760px) calc(100vw - 48px), (max-width: 1400px) 40vw, 560px" loading="lazy" decoding="async" fetchpriority="low"> <noscript> <img src="/images/coke-cola-taco-trovatten-photo-project.webp?w=900&amp;q=78&amp;fit=max" srcset="/images/coke-cola-taco-trovatten-photo-project.webp?w=360&amp;q=78&amp;fit=max 360w, /images/coke-cola-taco-trovatten-photo-project.webp?w=480&amp;q=78&amp;fit=max 480w, /images/coke-cola-taco-trovatten-photo-project.webp?w=640&amp;q=78&amp;fit=max 640w, /images/coke-cola-taco-trovatten-photo-project.webp?w=768&amp;q=78&amp;fit=max 768w, /images/coke-cola-taco-trovatten-photo-project.webp?w=900&amp;q=78&amp;fit=max 900w" width="960" height="1200" alt="Coca Cola x Trovatten" sizes="(max-width: 760px) calc(100vw - 48px), (max-width: 1400px) 40vw, 560px" loading="lazy" decoding="async"> </noscript> <div> <h2>Coca-Cola campaign</h2> <p class="body-copy"> For Coca-Cola, I photographed and filmed the people behind Mexico City’s taco culture. The commercials aired on national television in Norway, and the complete photography series was exhibited at Oslo Central Station. </p> <a class="home-button home-button--primary" href="/portfolio/coca-cola">View the Coca-Cola campaign</a> </div> </section> <section class="home-project-grid" aria-label="More photography projects"> <article class="home-project-card" data-home-portfolio-card> <a href="/portfolio/muay-thai" aria-label="Muay Thai photography"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-deferred-image data-deferred-src="/images/muay-thai-photography.webp?w=800&amp;q=78&amp;fit=max" data-deferred-srcset="/images/muay-thai-photography.webp?w=360&amp;q=78&amp;fit=max 360w, /images/muay-thai-photography.webp?w=480&amp;q=78&amp;fit=max 480w, /images/muay-thai-photography.webp?w=640&amp;q=78&amp;fit=max 640w, /images/muay-thai-photography.webp?w=768&amp;q=78&amp;fit=max 768w, /images/muay-thai-photography.webp?w=800&amp;q=78&amp;fit=max 800w" width="1000" height="667" alt="Muay Thai photography" sizes="(max-width: 700px) calc(100vw - 48px), (max-width: 1100px) calc(50vw - 48px), 33vw" loading="lazy" decoding="async" fetchpriority="low"> <noscript> <img src="/images/muay-thai-photography.webp?w=800&amp;q=78&amp;fit=max" srcset="/images/muay-thai-photography.webp?w=360&amp;q=78&amp;fit=max 360w, /images/muay-thai-photography.webp?w=480&amp;q=78&amp;fit=max 480w, /images/muay-thai-photography.webp?w=640&amp;q=78&amp;fit=max 640w, /images/muay-thai-photography.webp?w=768&amp;q=78&amp;fit=max 768w, /images/muay-thai-photography.webp?w=800&amp;q=78&amp;fit=max 800w" width="1000" height="667" alt="Muay Thai photography" sizes="(max-width: 700px) calc(100vw - 48px), (max-width: 1100px) calc(50vw - 48px), 33vw" loading="lazy" decoding="async"> </noscript> </a> <a class="home-button home-button--secondary" href="/portfolio/muay-thai" data-home-portfolio-button> Muay Thai photography </a> </article><article class="home-project-card" data-home-portfolio-card> <a href="/portfolio/street-portraits" aria-label="Street portraits"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-deferred-image data-deferred-src="/images/street-portraits.webp?w=800&amp;q=78&amp;fit=max" data-deferred-srcset="/images/street-portraits.webp?w=360&amp;q=78&amp;fit=max 360w, /images/street-portraits.webp?w=480&amp;q=78&amp;fit=max 480w, /images/street-portraits.webp?w=640&amp;q=78&amp;fit=max 640w, /images/street-portraits.webp?w=768&amp;q=78&amp;fit=max 768w, /images/street-portraits.webp?w=800&amp;q=78&amp;fit=max 800w" width="1000" height="899" alt="Street portraits" sizes="(max-width: 700px) calc(100vw - 48px), (max-width: 1100px) calc(50vw - 48px), 33vw" loading="lazy" decoding="async" fetchpriority="low"> <noscript> <img src="/images/street-portraits.webp?w=800&amp;q=78&amp;fit=max" srcset="/images/street-portraits.webp?w=360&amp;q=78&amp;fit=max 360w, /images/street-portraits.webp?w=480&amp;q=78&amp;fit=max 480w, /images/street-portraits.webp?w=640&amp;q=78&amp;fit=max 640w, /images/street-portraits.webp?w=768&amp;q=78&amp;fit=max 768w, /images/street-portraits.webp?w=800&amp;q=78&amp;fit=max 800w" width="1000" height="899" alt="Street portraits" sizes="(max-width: 700px) calc(100vw - 48px), (max-width: 1100px) calc(50vw - 48px), 33vw" loading="lazy" decoding="async"> </noscript> </a> <a class="home-button home-button--secondary" href="/portfolio/street-portraits" data-home-portfolio-button> Street portraits </a> </article><article class="home-project-card" data-home-portfolio-card> <a href="/portfolio/studio-portraits" aria-label="Studio portraits"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-deferred-image data-deferred-src="/images/studio-portrait-12d31454.webp?w=800&amp;q=78&amp;fit=max" data-deferred-srcset="/images/studio-portrait-12d31454.webp?w=360&amp;q=78&amp;fit=max 360w, /images/studio-portrait-12d31454.webp?w=480&amp;q=78&amp;fit=max 480w, /images/studio-portrait-12d31454.webp?w=640&amp;q=78&amp;fit=max 640w, /images/studio-portrait-12d31454.webp?w=768&amp;q=78&amp;fit=max 768w, /images/studio-portrait-12d31454.webp?w=800&amp;q=78&amp;fit=max 800w" width="1279" height="1279" alt="Studio portraits" sizes="(max-width: 700px) calc(100vw - 48px), (max-width: 1100px) calc(50vw - 48px), 33vw" loading="lazy" decoding="async" fetchpriority="low"> <noscript> <img src="/images/studio-portrait-12d31454.webp?w=800&amp;q=78&amp;fit=max" srcset="/images/studio-portrait-12d31454.webp?w=360&amp;q=78&amp;fit=max 360w, /images/studio-portrait-12d31454.webp?w=480&amp;q=78&amp;fit=max 480w, /images/studio-portrait-12d31454.webp?w=640&amp;q=78&amp;fit=max 640w, /images/studio-portrait-12d31454.webp?w=768&amp;q=78&amp;fit=max 768w, /images/studio-portrait-12d31454.webp?w=800&amp;q=78&amp;fit=max 800w" width="1279" height="1279" alt="Studio portraits" sizes="(max-width: 700px) calc(100vw - 48px), (max-width: 1100px) calc(50vw - 48px), 33vw" loading="lazy" decoding="async"> </noscript> </a> <a class="home-button home-button--secondary" href="/portfolio/studio-portraits" data-home-portfolio-button> Studio portraits </a> </article> </section> <section class="home-resources"> <h2>Photography resources</h2> <div class="rich-text"> <p>The <a href="/camera">cameras</a> and gear I actually use, the <a href="/books">photo books</a> I return to, and the <a href="/photography-courses">photography courses</a> I believe are worth taking.</p> </div> <div class="home-resource-grid"> <article class="home-project-card"> <a href="/gear" aria-label="My photography gear"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-deferred-image data-deferred-src="/images/best-street-photography-camera.webp?w=640&amp;q=78&amp;fit=max" data-deferred-srcset="/images/best-street-photography-camera.webp?w=360&amp;q=78&amp;fit=max 360w, /images/best-street-photography-camera.webp?w=480&amp;q=78&amp;fit=max 480w, /images/best-street-photography-camera.webp?w=640&amp;q=78&amp;fit=max 640w" width="699" height="387" alt="My photography gear" sizes="(max-width: 700px) 100vw, 40vw" loading="lazy" decoding="async" fetchpriority="low"> <noscript> <img src="/images/best-street-photography-camera.webp?w=640&amp;q=78&amp;fit=max" srcset="/images/best-street-photography-camera.webp?w=360&amp;q=78&amp;fit=max 360w, /images/best-street-photography-camera.webp?w=480&amp;q=78&amp;fit=max 480w, /images/best-street-photography-camera.webp?w=640&amp;q=78&amp;fit=max 640w" width="699" height="387" alt="My photography gear" sizes="(max-width: 700px) 100vw, 40vw" loading="lazy" decoding="async"> </noscript> </a> <a class="home-button home-button--secondary" href="/gear">My photography gear</a> </article><article class="home-project-card"> <a href="/books" aria-label="Recommended photo books"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-deferred-image data-deferred-src="/images/the-americans-by-robert-frank-photo-book.webp?w=640&amp;q=78&amp;fit=max" data-deferred-srcset="/images/the-americans-by-robert-frank-photo-book.webp?w=360&amp;q=78&amp;fit=max 360w, /images/the-americans-by-robert-frank-photo-book.webp?w=480&amp;q=78&amp;fit=max 480w, /images/the-americans-by-robert-frank-photo-book.webp?w=640&amp;q=78&amp;fit=max 640w" width="999" height="799" alt="Recommended photo books" sizes="(max-width: 700px) 100vw, 40vw" loading="lazy" decoding="async" fetchpriority="low"> <noscript> <img src="/images/the-americans-by-robert-frank-photo-book.webp?w=640&amp;q=78&amp;fit=max" srcset="/images/the-americans-by-robert-frank-photo-book.webp?w=360&amp;q=78&amp;fit=max 360w, /images/the-americans-by-robert-frank-photo-book.webp?w=480&amp;q=78&amp;fit=max 480w, /images/the-americans-by-robert-frank-photo-book.webp?w=640&amp;q=78&amp;fit=max 640w" width="999" height="799" alt="Recommended photo books" sizes="(max-width: 700px) 100vw, 40vw" loading="lazy" decoding="async"> </noscript> </a> <a class="home-button home-button--secondary" href="/books">Recommended photo books</a> </article> </div> </section> <section class="home-social"> <h2>Follow my work</h2> <nav aria-label="Homepage social links"> <a href="https://instagram.com/trovatten" aria-label="Instagram"><svg viewBox="0 0 24 24" aria-hidden="true"> <rect x="3" y="3" width="18" height="18" rx="5"></rect> <circle cx="12" cy="12" r="4"></circle> <circle cx="17.5" cy="6.5" r="1" class="fill"></circle> </svg>   </a><a href="https://twitter.com/trovatten" aria-label="Twitter"> <svg viewBox="0 0 24 24" aria-hidden="true"> <path class="fill" d="M21 5.1c-.7.3-1.5.5-2.3.6a4 4 0 0 0-6.9 2.7v.9A11.3 11.3 0 0 1 3.6 5c-1.2 2.1-.6 4.8 1.4 6.2-.6 0-1.2-.2-1.8-.5 0 2.2 1.6 4.1 3.8 4.5-.4.1-.8.2-1.3.2-.3 0-.6 0-.8-.1.6 1.9 2.4 3.3 4.5 3.3A8.1 8.1 0 0 1 4.3 20H3a11.4 11.4 0 0 0 6.2 1.8c7.5 0 11.6-6.2 11.6-11.6v-.5A8 8 0 0 0 23 7.6c-.7.3-1.5.5-2.3.6A4 4 0 0 0 22.5 6c-.7.4-1.5.7-2.4.9A4 4 0 0 0 21 5.1Z"></path> </svg>  </a><a href="https://www.youtube.com/@ftrovatten" aria-label="YouTube">  <svg viewBox="0 0 24 24" aria-hidden="true"> <rect class="fill" x="2" y="5" width="20" height="14" rx="4"></rect> <path d="m10 9 6 3-6 3Z" class="play"></path> </svg> </a><a href="mailto:frederiktro@gmail.com" aria-label="Email">   <svg viewBox="0 0 24 24" aria-hidden="true"> <rect x="2.5" y="5" width="19" height="14" rx="1"></rect> <path d="m3 6 9 7 9-7"></path> </svg></a> </nav> </section> <section class="home-copy" data-analytics-cta-location="homepage_body"> <h2>My work as a photographer</h2> <div class="rich-text"> <p>I’m a <a href="/blog/danish-photographer">Danish photographer</a> with a background in documentary and street photography. I started taking photography seriously while living in Mexico City. That experience still shapes how I work today: get close, pay attention and let real people carry the story.</p><p>I use the same approach for personal projects and commercial assignments. As a <a href="/commercial-street-photography">commercial street photographer</a>, I have photographed campaigns for Coca-Cola and Burger King. My personal <a href="/streetphotography">street photography</a> is driven by the same curiosity, whether I am working in Mexico City, Istanbul, Bangkok or Copenhagen.</p><p>A Burger King campaign built around my photography won two Cannes Lions. For Coca-Cola, I returned to <a href="/portfolio/mexico-city">photographing mexico city culture</a>, documenting the people and traditions surrounding it&#39;s taco scene.</p><h3>Beyond client work</h3><p>I share what I have learned with more than 120,000 photographers on YouTube. The videos show how I photograph, how I approach strangers and how I build stories from ordinary moments.</p><p>Through Underexposed, I teach <a href="/underexposed">photography marketing</a>, <a href="/press">PR</a>, <a href="/seo">photography SEO</a> and <a href="/instagram">Instagram</a> to put photographers’ work in front of editors, clients and the people who can create opportunities.</p><p>Most of my personal work is <a href="/blog/bnw-photographer">black-and-white photography</a>. Removing colour makes me pay closer attention to light, gesture, texture and timing. It also gives very different places and projects a visual language that feels unmistakably mine. I also return to <a href="/film-photography">film photography</a> for the slower pace and discipline it brings to the way I see.</p><p>I continue to learn by studying other <a href="/portfolio/candid-photography">candid photographers</a>. <a href="/henri-cartier-bresson">Henri Cartier-Bresson</a> changed how I think about <a href="/blog/composition">composition</a>. <a href="/vivian-maier">Vivian Maier</a> and <a href="/blog/bruce-davidson">Bruce Davidson</a> showed me what patience and proximity can do. <a href="/robert-frank">Robert Frank</a>, <a href="/joel-meyerowitz">Joel Meyerowitz</a> and <a href="/alexey-titarenko">Alexey Titarenko</a> showed me three very different ways to turn everyday streets into personal work.</p> </div> </section> </article> </main> <footer class="site-footer"> <div class="site-footer__inner"> <div class="site-footer__main"> <nav class="site-footer__nav" aria-label="Footer navigation"> <a href="/about">About</a><a href="/contact">Contact</a><a href="/portfolio">Portfolio</a><a href="/underexposed">Underexposed</a> </nav> <nav class="site-footer__social" aria-label="Social media"> <a href="https://www.instagram.com/trovatten/" aria-label="Frederik Trovatten on Instagram" title="Frederik Trovatten on Instagram" target="_blank" rel="me noopener noreferrer"> <svg viewBox="0 0 24 24" aria-hidden="true"> <rect x="3" y="3" width="18" height="18" rx="5"></rect> <circle cx="12" cy="12" r="4"></circle> <circle cx="17.5" cy="6.5" r="1" class="fill"></circle> </svg>    </a><a href="https://www.youtube.com/@ftrovatten" aria-label="Frederik Trovatten on YouTube" title="Frederik Trovatten on YouTube" target="_blank" rel="me noopener noreferrer">   <svg viewBox="0 0 24 24" aria-hidden="true"> <rect class="fill" x="2" y="5" width="20" height="14" rx="4"></rect> <path d="m10 9 6 3-6 3Z" class="play"></path> </svg>  </a> </nav> </div> <div class="site-footer__meta"> <p>&copy; 2026 Frederik Trovatten</p> <a href="/privacy-policy-1">Privacy</a> </div> </div> </footer> <aside class="cookie-consent" data-cookie-consent role="region" aria-labelledby="cookie-consent-title" aria-describedby="cookie-consent-description" hidden> <div class="cookie-consent__copy"> <h2 id="cookie-consent-title">Cookies help us improve Trovatten.</h2> <p id="cookie-consent-description">
Analytics and advertising cookies help us measure results.
<a href="/privacy-policy-1">Privacy policy</a> </p> </div> <div class="cookie-consent__actions"> <button type="button" class="cookie-consent__button cookie-consent__button--necessary" data-consent-choice="necessary">
Necessary only
</button> <button type="button" class="cookie-consent__button cookie-consent__button--all" data-consent-choice="all">
Accept all
</button> </div> </aside> <script src="/cookie-consent.js" defer></script> <noscript> <style>
    img[data-deferred-image] { display: none !important; }
  </style> </noscript> <script type="module">(()=>{let e=e=>{e.closest(`picture`)?.querySelectorAll(`source[data-deferred-source-srcset]`).forEach(e=>{let t=e.dataset.deferredSourceSrcset;t&&(e.srcset=t),delete e.dataset.deferredSourceSrcset});let t=e.dataset.deferredSrcset,n=e.dataset.deferredSrc;t&&(e.srcset=t),n&&(e.src=n),delete e.dataset.deferredSrcset,delete e.dataset.deferredSrc,e.removeAttribute(`data-deferred-image`)},t=Array.from(document.querySelectorAll(`img[data-deferred-image]`));if(!t.length)return;if(!(`IntersectionObserver`in window)){t.forEach(e);return}let n=new IntersectionObserver(t=>{for(let r of t){if(!r.isIntersecting)continue;let t=r.target;n.unobserve(t),e(t)}},{rootMargin:`100px 0px`});t.forEach(e=>n.observe(e))})();</script> <script type="module" src="/_astro/DeferredSentry.astro_astro_type_script_index_0_lang.et_cys3v.js"></script>  </body> </html>