:root {
      --obsidian:   #0E0E0E;
      --chalk:      #F2EFE8;
      --warm-slate: #2C2A25;
      --bone:       #C8C2B4;
      --brass:      #C9A84C;
      --muted:      #888780;
      --divider:    #D8D4CC;
      --font-serif: 'Playfair Display', Georgia, serif;
      --font-sans:  'DM Sans', system-ui, sans-serif;
    }

    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      background: var(--chalk);
      color: var(--obsidian);
      font-family: var(--font-sans);
      font-size: 16px;
      line-height: 1.75;
      font-weight: 400;
      -webkit-font-smoothing: antialiased;
    }
    img { display: block; max-width: 100%; }
    a { text-decoration: none; }

    /* NAV */
    nav {
      position: fixed;
      inset: 0 0 auto 0;
      z-index: 200;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 32px 64px;
      transition: background 0.5s ease, padding 0.4s ease;
    }
    nav.scrolled {
      background: rgba(14,14,14,0.95);
      backdrop-filter: blur(12px);
      padding: 18px 64px;
      box-shadow: 0 1px 0 rgba(200,194,180,0.07);
    }
    .nav-logo img { height: 44px; width: auto; display: block; }
    .nav-links { display: flex; gap: 44px; list-style: none; }
    .nav-links a {
      font-size: 11px; font-weight: 400; letter-spacing: 1.5px;
      text-transform: uppercase; color: var(--bone); transition: color 0.2s;
    }
    .nav-links a:hover { color: var(--chalk); }

    /* HAMBURGER */
    .hamburger {
      display: none; flex-direction: column; gap: 6px;
      cursor: pointer; padding: 4px; background: none; border: none; z-index: 210;
    }
    .hamburger span {
      display: block; width: 26px; height: 1px; background: var(--bone);
      transition: transform 0.3s, opacity 0.3s;
    }
    .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .hamburger.open span:nth-child(2) { opacity: 0; }
    .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* MOBILE MENU */
    .mobile-menu {
      display: none; position: fixed; inset: 0; background: var(--obsidian);
      z-index: 195; flex-direction: column; align-items: center; justify-content: center; gap: 44px;
    }
    .mobile-menu.open { display: flex; }
    .mobile-menu a {
      font-family: var(--font-serif); font-size: clamp(36px, 10vw, 56px);
      font-weight: 400; font-style: italic; color: var(--chalk); transition: color 0.2s;
    }
    .mobile-menu a:hover { color: var(--brass); }

    /* HERO */
    .hero {
      min-height: 100vh;
      display: flex; flex-direction: column; justify-content: center;
      padding: 120px 80px 80px;
      position: relative; overflow: hidden;
      background: var(--obsidian);
    }
    .hero-bg {
      position: absolute; inset: 0;
      background-image: url('/assets/gerrit.jpg');
      background-size: cover; background-position: center 30%;
      opacity: 0.65; filter: grayscale(20%);
    }
    .hero-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(105deg, rgba(14,14,14,0.96) 0%, rgba(14,14,14,0.82) 45%, rgba(14,14,14,0.62) 100%);
    }
    .hero-grain {
      position: absolute; inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
      background-size: 220px 220px; opacity: 0.03; pointer-events: none;
    }
    .hero-content { position: relative; z-index: 1; max-width: 1000px; }
    .hero-eyebrow {
      font-size: 10px; font-weight: 500; letter-spacing: 3px;
      text-transform: uppercase; color: var(--brass); margin-bottom: 36px;
      display: flex; align-items: center; gap: 16px;
    }
    .hero-eyebrow::before {
      content: ''; display: block; width: 40px; height: 1px;
      background: var(--brass); flex-shrink: 0;
    }
    .hero-headline {
      font-family: var(--font-serif);
      font-size: clamp(52px, 8vw, 108px); font-weight: 400;
      color: var(--chalk); line-height: 0.98; letter-spacing: -1px; margin-bottom: 80px;
    }
    .hero-headline em { font-style: italic; color: var(--bone); }
    .hero-sub {
      font-size: 18px; font-weight: 300; color: var(--bone);
      max-width: 520px; line-height: 1.65; margin-bottom: 88px;
    }
    .hero-cta {
      display: inline-block; padding: 17px 40px;
      border: 1px solid rgba(201,168,76,0.6); color: var(--brass);
      font-size: 11px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase;
      transition: background 0.25s, color 0.25s, border-color 0.25s;
    }
    .hero-cta:hover { background: var(--brass); color: var(--obsidian); border-color: var(--brass); }
    .awards-strip {
      position: absolute; bottom: 48px; right: 80px;
      display: flex; gap: 24px; align-items: center; z-index: 1;
    }
    .awards-strip img {
      height: 80px; width: auto;
      filter: brightness(0) invert(1); opacity: 0.45;
      object-fit: contain; transition: opacity 0.25s;
    }
    .awards-strip img:hover { opacity: 0.85; }

    /* MANIFESTO */
    .manifesto { background: var(--chalk); padding: 160px 80px; }
    .manifesto-inner { max-width: 900px; }
    .manifesto-quote {
      font-family: var(--font-serif);
      font-size: clamp(30px, 4vw, 52px); font-weight: 400; font-style: italic;
      color: var(--obsidian); line-height: 1.2;
      margin-bottom: 80px; padding-bottom: 80px; border-bottom: 1px solid var(--divider);
    }
    .manifesto-body { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 120px; }
    .manifesto-body p { font-size: 16px; color: var(--warm-slate); line-height: 1.85; }
    .manifesto-body strong { color: var(--obsidian); font-weight: 500; }

    /* SHARED */
    .section-rule { width: 40px; height: 1px; background: var(--brass); margin-bottom: 28px; }
    .section-eyebrow {
      font-size: 10px; font-weight: 500; letter-spacing: 2.5px;
      text-transform: uppercase; color: var(--muted); margin-bottom: 20px;
    }
    h2 {
      font-family: var(--font-serif);
      font-size: clamp(34px, 4.5vw, 56px); font-weight: 400; line-height: 1.1;
    }
    h2 em { font-style: italic; color: var(--muted); }

    /* SERVICES */
    .services { background: #1a1917; padding: 128px 80px; }
    .services .section-eyebrow { color: rgba(201,168,76,0.7); }
    .services > h2 { color: var(--chalk); margin-bottom: 24px; }
    .services > h2 em { color: var(--bone); }
    .services-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 40px; background: transparent;
    }
    .service-card {
      background: var(--obsidian); padding: 72px 64px;
      border: 1px solid rgba(200,194,180,0.07);
      transition: border-color 0.35s;
    }
    .service-card:hover { border-color: rgba(201,168,76,0.2); }
    .service-number {
      font-family: var(--font-serif); font-size: 48px; font-style: italic;
      color: var(--brass); opacity: 0.35; margin-bottom: 24px; line-height: 1;
    }
    .service-title {
      font-family: var(--font-serif); font-size: 30px; font-weight: 400;
      color: var(--chalk); line-height: 1.15; margin-bottom: 20px;
    }
    .service-desc { font-size: 15px; color: var(--bone); line-height: 1.8; margin-bottom: 32px; }
    .service-tags { display: flex; flex-wrap: wrap; gap: 8px; }
    .service-tag {
      font-size: 10px; font-weight: 400; letter-spacing: 1px; text-transform: uppercase;
      color: var(--muted); border: 1px solid rgba(136,135,128,0.22); padding: 5px 12px;
    }
    .service-card.full {
      grid-column: 1 / -1; display: grid;
      grid-template-columns: 1fr 1.2fr; gap: 64px; align-items: center;
    }
    .service-card.full .service-title { font-size: 36px; }
    .service-card.full .service-desc { font-size: 16px; margin-bottom: 0; }
    .services-intro {
      font-size: 16px; color: var(--bone); line-height: 1.75;
      max-width: 640px; margin-bottom: 64px;
    }
    .services-model {
      margin-top: 48px; max-width: 640px;
      padding-top: 40px; border-top: 1px solid rgba(200,194,180,0.1);
    }
    .services-model p { font-size: 14px; color: var(--bone); line-height: 1.85; margin-bottom: 16px; }
    .services-model p:last-child { margin-bottom: 0; }
    .services-model-tagline { color: var(--chalk) !important; font-weight: 500 !important; }

    /* PROCESS */
    .process { background: var(--chalk); padding: 160px 80px; }
    .process > h2 { margin-bottom: 72px; }
    .process-grid {
      display: grid; grid-template-columns: repeat(4, 1fr);
      border-top: 1px solid var(--divider); border-left: 1px solid var(--divider);
    }
    .process-step {
      padding: 52px 44px;
      border-right: 1px solid var(--divider); border-bottom: 1px solid var(--divider);
    }
    .process-number {
      font-family: var(--font-serif); font-size: 40px; font-style: italic;
      color: var(--brass); opacity: 0.5; margin-bottom: 20px; line-height: 1;
    }
    .process-title {
      font-family: var(--font-serif); font-size: 20px; font-weight: 400;
      color: var(--obsidian); line-height: 1.2; margin-bottom: 16px;
    }
    .process-desc { font-size: 14px; color: var(--warm-slate); line-height: 1.8; }

    /* WORK */
    .work { background: var(--chalk); padding: 160px 80px; }
    .work-header { margin-bottom: 72px; }
    .work-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
    .work-card { background: white; border: 1px solid var(--divider); overflow: hidden; }
    .work-thumb {
      width: 100%; aspect-ratio: 16 / 9;
      overflow: hidden; background: var(--warm-slate);
      position: relative; display: block;
    }
    .work-thumb img {
      width: 100%; height: 100%; object-fit: cover; object-position: center top;
      transition: transform 0.5s ease;
    }
    .work-thumb:hover img { transform: scale(1.03); }
    /* Play button overlay */
    .work-thumb::after {
      content: '';
      position: absolute; inset: 0;
      background: rgba(14,14,14,0.35);
      opacity: 0; transition: opacity 0.3s;
    }
    .work-thumb:hover::after { opacity: 1; }
    .play-btn {
      position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
      width: 64px; height: 64px;
      border: 1.5px solid rgba(242,239,232,0.7); border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      z-index: 2; opacity: 0; transition: opacity 0.3s, transform 0.3s;
      pointer-events: none;
    }
    .play-btn::after {
      content: '';
      border-left: 20px solid rgba(242,239,232,0.9);
      border-top: 12px solid transparent;
      border-bottom: 12px solid transparent;
      margin-left: 4px;
    }
    .work-thumb:hover .play-btn { opacity: 1; transform: translate(-50%, -50%) scale(1.08); }
    .work-info { padding: 32px 36px 40px; }
    .work-cat {
      font-size: 10px; font-weight: 500; letter-spacing: 2px;
      text-transform: uppercase; color: var(--muted); margin-bottom: 12px;
    }
    .work-title {
      font-family: var(--font-serif); font-size: 24px; font-weight: 400;
      color: var(--obsidian); line-height: 1.25; margin-bottom: 14px;
    }
    .work-desc { font-size: 14px; color: var(--warm-slate); line-height: 1.75; }
    .work-note {
      display: inline-block; margin-top: 14px;
      font-size: 11px; color: var(--muted); font-style: italic;
    }
    .work-links {
      display: flex; gap: 20px; margin-top: 24px; padding-top: 20px;
      border-top: 1px solid var(--divider); flex-wrap: wrap;
    }
    .work-link {
      font-size: 11px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase;
      color: var(--obsidian); display: flex; align-items: center; gap: 7px;
      transition: color 0.2s;
    }
    .work-link:hover { color: var(--brass); }
    .work-link::before {
      content: '▶'; font-size: 8px; color: var(--brass);
    }

    /* CLIENTS */
    .clients { background: #EDEAE2; padding: 72px 80px; }
    .clients .section-eyebrow { color: var(--muted); margin-bottom: 20px; }
    .clients h2 { color: var(--obsidian); margin-bottom: 52px; }
    .clients-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 24px;
    }
    .client-cell {
      display: flex; align-items: center; justify-content: center;
      padding: 18px;
    }
    .client-cell img {
      width: 100px; height: 100px;
      object-fit: contain;
      filter: grayscale(100%);
      opacity: 0.5; transition: opacity 0.25s, filter 0.25s;
    }
    .client-cell:hover img { opacity: 1; filter: grayscale(0%); }

    /* TESTIMONIALS — NEW LAYOUT
       Row 1: Rayk full width — video left 55%, info right 45%
       Row 2: Sebastian | Monika — 2 equal columns
    */
    .testimonials { background: var(--chalk); padding: 160px 80px; }
    .testimonials h2 { margin-bottom: 72px; }

    /* Rayk row — full width, side by side */
    .tc-rayk {
      display: grid; grid-template-columns: 55fr 45fr;
      border: 1px solid var(--divider); background: white; margin-bottom: 24px;
      overflow: hidden;
    }
    .tc-rayk-video { background: var(--obsidian); }
    .tc-rayk-video .vimeo-wrap {
      width: 100%; aspect-ratio: 16 / 9; background: var(--warm-slate);
    }
    .tc-rayk-video .vimeo-wrap iframe { width: 100%; height: 100%; border: none; display: block; }
    .tc-rayk-info {
      background: var(--obsidian); padding: 56px 52px;
      display: flex; flex-direction: column; justify-content: center;
    }
    .tc-rayk-eyebrow {
      font-size: 10px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase;
      color: rgba(201,168,76,0.7); margin-bottom: 20px;
    }
    .tc-rayk-quote {
      font-family: var(--font-serif); font-size: 22px; font-weight: 400; font-style: italic;
      color: var(--chalk); line-height: 1.6; margin-bottom: 40px;
    }
    .tc-rayk-name { font-size: 16px; font-weight: 500; color: var(--chalk); margin-bottom: 6px; }
    .tc-rayk-role { font-size: 13px; color: var(--muted); line-height: 1.5; }

    /* Bottom row — 2 columns */
    .tc-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
    .tc-text {
      background: white; border: 1px solid var(--divider);
      display: flex; flex-direction: column; overflow: hidden;
    }
    .tc-photo-header {
      width: 100%; aspect-ratio: 16 / 9;
      overflow: hidden; background: var(--warm-slate); flex-shrink: 0;
    }
    .tc-photo-header img {
      width: 100%; height: 100%; object-fit: contain; object-position: center center;
      filter: grayscale(15%); transition: transform 0.5s ease;
    }
    .tc-text:hover .tc-photo-header img { transform: scale(1.03); }
    .tc-body { padding: 48px 48px 52px; display: flex; flex-direction: column; flex: 1; }
    .tc-quote {
      font-family: var(--font-serif); font-size: 18px; font-weight: 400; font-style: italic;
      color: var(--obsidian); line-height: 1.65; flex: 1; margin-bottom: 28px;
    }
    .tc-author { border-top: 1px solid var(--divider); padding-top: 20px; }
    .tc-name { font-size: 14px; font-weight: 500; color: var(--obsidian); margin-bottom: 4px; }
    .tc-role { font-size: 12px; color: var(--muted); line-height: 1.5; }

    /* EDITORIAL STATEMENT */
    .editorial-statement {
      display: block;
      padding: 160px 80px;
      background: var(--chalk);
    }
    .editorial-statement.dark {
      background: var(--obsidian);
    }
    .editorial-statement p {
      font-family: var(--font-serif);
      font-size: clamp(36px, 5vw, 76px);
      font-weight: 400;
      line-height: 1.15;
      color: var(--obsidian);
      letter-spacing: -0.5px;
      max-width: 1100px;
    }
    .editorial-statement.dark p {
      color: var(--chalk);
    }
    .editorial-statement p em {
      font-style: italic;
      color: var(--bone);
    }

    /* EDITORIAL TESTIMONIALS */
    .tc-editorial-pair {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 96px;
      padding-top: 80px;
      border-top: 1px solid var(--divider);
    }
    .tc-editorial-quote {
      font-family: var(--font-serif);
      font-size: clamp(19px, 2.2vw, 28px);
      font-weight: 400;
      font-style: italic;
      color: var(--obsidian);
      line-height: 1.6;
      margin-bottom: 40px;
    }
    .tc-editorial-sep {
      width: 32px;
      height: 1px;
      background: var(--brass);
      margin-bottom: 20px;
    }
    .tc-editorial-name {
      font-size: 14px;
      font-weight: 500;
      color: var(--obsidian);
      margin-bottom: 4px;
    }
    .tc-editorial-role {
      font-size: 12px;
      color: var(--muted);
      line-height: 1.5;
    }

    /* ABOUT */
    .about { display: grid; grid-template-columns: 1fr 1fr; min-height: 680px; }
    .about-photo { position: relative; overflow: hidden; background: var(--warm-slate); }
    .about-photo img {
      width: 100%; height: 100%; object-fit: cover; object-position: center top;
      filter: grayscale(20%) contrast(1.05); display: block;
    }
    .about-content {
      background: var(--obsidian); padding: 88px 72px;
      display: flex; flex-direction: column; justify-content: center;
    }
    .about-content .section-rule { background: rgba(201,168,76,0.5); }
    .about-content .section-eyebrow { color: var(--brass); }
    .about-content h2 { color: var(--chalk); margin-bottom: 36px; }
    .about-content h2 em { color: var(--bone); }
    .about-para { font-size: 15px; color: var(--bone); line-height: 1.85; margin-bottom: 18px; }
    .about-para strong { color: var(--chalk); font-weight: 500; }
    .about-para:last-of-type { margin-bottom: 0; }
    .about-credentials {
      margin-top: 48px; padding-top: 40px;
      border-top: 1px solid rgba(200,194,180,0.1);
      display: flex; flex-wrap: wrap; gap: 36px 48px;
    }
    .cred-item { display: flex; flex-direction: column; gap: 5px; }
    .cred-label {
      font-size: 10px; font-weight: 500; letter-spacing: 1.5px;
      text-transform: uppercase; color: var(--muted);
    }
    .cred-value { font-size: 13px; color: var(--bone); line-height: 1.5; }
    .cred-link { color: var(--brass); font-size: 13px; transition: opacity 0.2s; }
    .cred-link:hover { opacity: 0.75; }

    /* CONTACT — dark split layout */
    .contact { background: var(--obsidian); padding: 128px 80px; }
    .contact-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: start;
    }
    .contact h2 { font-size: clamp(36px, 5vw, 68px); margin-bottom: 24px; color: var(--chalk); }
    .contact h2 em { color: var(--bone); }
    .contact-sub {
      font-size: 16px; color: var(--bone); line-height: 1.8; margin-bottom: 52px;
    }
    .contact-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
    .contact-note { font-size: 13px; color: var(--muted); margin-top: 24px; font-style: italic; }
    .btn-primary {
      display: inline-block; padding: 18px 44px;
      background: var(--brass); color: var(--obsidian);
      font-size: 11px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase;
      transition: background 0.25s;
    }
    .btn-primary:hover { background: #b8922f; }
    .btn-email {
      display: inline-flex; align-items: center; gap: 8px;
      color: var(--bone); font-size: 14px;
      border-bottom: 1px solid rgba(200,194,180,0.25); padding-bottom: 2px;
      transition: color 0.2s, border-color 0.2s;
    }
    .btn-email:hover { color: var(--chalk); border-color: var(--chalk); }

    /* Contact right — key facts */
    .contact-facts {
      padding-top: 8px;
      display: flex; flex-direction: column; gap: 0;
    }
    .contact-fact {
      padding: 32px 0;
      border-bottom: 1px solid rgba(200,194,180,0.08);
      display: grid; grid-template-columns: 80px 1fr; gap: 24px; align-items: start;
    }
    .contact-fact:first-child { border-top: 1px solid rgba(200,194,180,0.08); }
    .fact-number {
      font-family: var(--font-serif); font-size: 44px; font-weight: 400;
      font-style: italic; color: var(--brass); line-height: 1;
    }
    .fact-label { font-size: 13px; color: var(--bone); line-height: 1.6; padding-top: 6px; }
    .fact-label strong { display: block; color: var(--chalk); font-weight: 500; font-size: 15px; margin-bottom: 4px; }

    /* FOOTER */
    footer {
      background: var(--obsidian); padding: 40px 80px;
      display: flex; justify-content: space-between; align-items: center;
      border-top: 1px solid rgba(200,194,180,0.06);
    }
    .footer-logo img { height: 28px; width: auto; display: block; filter: brightness(0) invert(1); opacity: 0.75; }
    .footer-meta { display: flex; gap: 40px; align-items: center; }
    .footer-meta a { font-size: 11px; color: var(--muted); transition: color 0.2s; letter-spacing: 0.5px; }
    .footer-meta a:hover { color: var(--bone); }
    .footer-copy { font-size: 11px; color: rgba(136,135,128,0.45); }

    /* COOKIE BANNER */
    #cookie-banner {
      position: fixed; bottom: 0; left: 0; right: 0; z-index: 500;
      background: var(--obsidian);
      border-top: 1px solid rgba(200,194,180,0.1);
      padding: 24px 64px;
      opacity: 0; transform: translateY(8px);
      transition: opacity 0.4s ease, transform 0.4s ease;
    }
    #cookie-banner.cb-visible { opacity: 1; transform: translateY(0); }
    .cb-inner {
      max-width: 1100px; margin: 0 auto;
      display: flex; align-items: center; justify-content: space-between; gap: 40px;
      flex-wrap: wrap;
    }
    .cb-text {
      font-size: 13px; color: var(--bone); line-height: 1.65;
      flex: 1; min-width: 260px;
    }
    .cb-text a { color: var(--brass); text-decoration: none; }
    .cb-text a:hover { opacity: 0.75; }
    .cb-actions { display: flex; gap: 12px; flex-shrink: 0; }
    .cb-btn {
      font-family: var(--font-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 1.5px; text-transform: uppercase;
      padding: 12px 28px; border: none; cursor: pointer; transition: background 0.2s, color 0.2s;
    }
    .cb-accept { background: var(--brass); color: var(--obsidian); }
    .cb-accept:hover { background: #b8922f; }
    .cb-decline {
      background: transparent; color: var(--muted);
      border: 1px solid rgba(136,135,128,0.3);
    }
    .cb-decline:hover { color: var(--bone); border-color: rgba(200,194,180,0.4); }
    @media (max-width: 640px) {
      #cookie-banner { padding: 20px 24px; }
      .cb-inner { flex-direction: column; gap: 20px; }
      .cb-actions { width: 100%; }
      .cb-btn { flex: 1; }
    }

    /* REVEAL */
    .reveal {
      opacity: 0; transform: translateY(20px);
      transition: opacity 0.75s cubic-bezier(.25,.46,.45,.94), transform 0.75s cubic-bezier(.25,.46,.45,.94);
    }
    .reveal.in-view { opacity: 1; transform: translateY(0); }
    .d1 { transition-delay: 0.08s; }
    .d2 { transition-delay: 0.18s; }
    .d3 { transition-delay: 0.28s; }
    .d4 { transition-delay: 0.38s; }

    /* RESPONSIVE */
    @media (max-width: 1024px) {
      nav, nav.scrolled { padding-left: 48px; padding-right: 48px; }
      .hero, .manifesto, .services, .work, .clients, .testimonials, .contact, footer { padding-left: 48px; padding-right: 48px; }
      .about-content { padding: 72px 48px; }
    }
    @media (max-width: 860px) {
      nav { padding: 24px 28px; } nav.scrolled { padding: 14px 28px; }
      .nav-links { display: none; }
      .hamburger { display: flex; }
      .hero { padding: 100px 28px 64px; }
      .awards-strip { display: none; }
      .manifesto, .services, .process, .work, .clients, .testimonials, .contact { padding: 80px 28px; }
      footer { padding: 28px 28px; }
      .manifesto-body { grid-template-columns: 1fr; gap: 24px; }
      .services-grid { grid-template-columns: 1fr; }
      .service-card.full { grid-column: auto; display: block; }
      .work-grid { grid-template-columns: 1fr; }
      .process-grid { grid-template-columns: 1fr 1fr; }
      .clients-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
      .tc-rayk { grid-template-columns: 1fr; }
      .tc-rayk-info { padding: 36px 28px; }
      .tc-rayk-quote { font-size: 18px; }
      .tc-bottom { grid-template-columns: 1fr; }
      .about { grid-template-columns: 1fr; }
      .about-photo { min-height: 340px; } .about-photo img { min-height: 340px; }
      .about-content { padding: 64px 28px; }
      .contact-grid { grid-template-columns: 1fr; gap: 56px; }
      footer { flex-direction: column; gap: 16px; text-align: center; }
      .footer-meta { gap: 20px; }
      .contact-actions { flex-direction: column; align-items: flex-start; }
      .editorial-statement { padding: 100px 28px; }
      .tc-editorial-pair { grid-template-columns: 1fr; gap: 56px; }
    }
    @media (max-width: 480px) {
      .clients-grid { grid-template-columns: repeat(2, 1fr); }
      .process-grid { grid-template-columns: 1fr; }
    }