@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=Instrument+Sans:wght@400;500;600&display=swap');

:root {
  --paper: #f7f6f2;
  --paper-2: #efede7;
  --ink: #141312;
  --muted: #6b6862;
  --line: #d9d5cc;
  --accent: #b4352a;
  --dark-card: #22201c;
  --radius: 18px;
  --page-x: clamp(20px, 3.9vw, 56px);
  --header-h: 92px;
  --ease: cubic-bezier(.22,1,.36,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: #050505; }
body {
  margin: 0;
  color: var(--ink);
  background: #050505;
  font-family: 'Instrument Sans', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
img { display: block; max-width: 100%; }

.site-shell {
  position: relative;
  z-index: 2;
  background: var(--paper);
  border-radius: 0 0 clamp(32px, 5vw, 76px) clamp(32px, 5vw, 76px);
  overflow: clip;
  box-shadow: 0 28px 80px rgba(0,0,0,.18);
}

.container { width: min(1328px, calc(100% - (2 * var(--page-x)))); margin: 0 auto; }
.eyebrow {
  font: 600 11px/1 'Archivo', sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--muted);
}
.display {
  margin: 0;
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  letter-spacing: -.045em;
  text-transform: uppercase;
}

/* header */
.site-header {
  position: absolute;
  inset: 0 0 auto 0;
  height: var(--header-h);
  padding: 0 var(--page-x);
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 30;
  color: #fff;
}
.brand { font: 800 16px/1 'Archivo', sans-serif; letter-spacing: -.02em; }
.desktop-nav { display: flex; align-items: center; gap: 30px; font: 500 13px/1 'Instrument Sans', sans-serif; }
.desktop-nav a { transition: opacity .25s ease; }
.desktop-nav a:hover { opacity: .62; }
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 28px;
  border-radius: 999px;
  font: 700 12px/1 'Archivo', sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: transform .35s var(--ease), background .25s ease;
}
.pill:hover { transform: translateY(-2px); }
.pill-accent { background: var(--accent); color:#fff; }
.pill-dark { background: var(--ink); color:var(--paper); }
.mobile-toggle { display:none; width:42px; height:42px; border-radius:999px; border:1px solid rgba(255,255,255,.5); background:rgba(0,0,0,.15); color:#fff; }
.mobile-menu { display:none; }

/* hero */
.hero {
  position: relative;
  min-height: 880px;
  background: var(--paper);
  overflow: hidden;
}
.hero-media { position:absolute; inset:0 0 auto 0; height:560px; overflow:hidden; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:center 38%; transform:scale(1.04); animation: heroIn 1.6s var(--ease) .1s both; }
.hero-media::after {
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(10,10,9,.58) 0%, rgba(10,10,9,0) 34%),
              linear-gradient(180deg, rgba(247,246,242,0) 35%, rgba(247,246,242,.55) 67%, var(--paper) 100%);
}
.hero-copy {
  position:absolute;
  left:var(--page-x); right:var(--page-x); bottom:82px;
  display:flex; flex-direction:column; align-items:center; gap:24px; text-align:center;
}
.hero-title { font-size: clamp(64px, 6.1vw, 96px); line-height:.93; text-transform:none; }
.hero-meta { display:grid; gap:12px; font:600 12px/1 'Archivo',sans-serif; letter-spacing:.24em; color:#57544e; text-transform:uppercase; }
.hero-meta-line { display:flex; align-items:center; justify-content:center; gap:22px; }
.hero-meta-line i { width:1px; height:14px; background:#bdb8ae; }
.hero-copy > * { animation: rise .9s var(--ease) both; }
.hero-title { animation-delay:.32s; }
.hero-meta { animation-delay:.48s; }

@keyframes heroIn { from{transform:scale(1.1); filter:brightness(.82)} to{transform:scale(1.04); filter:brightness(1)} }
@keyframes rise { from{opacity:0; transform:translateY(22px)} to{opacity:1; transform:none} }

/* client strip */
.clients { padding: 50px 0 66px; }
.clients .eyebrow { text-align:center; margin-bottom:28px; }
.logo-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.logo-word {
  height:74px; display:flex; align-items:center; justify-content:center;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  font:700 clamp(12px,1.2vw,18px)/1 'Archivo',sans-serif; letter-spacing:-.02em;
  color:#302e2a; text-align:center;
}

/* stacked services */
.services { padding: 96px 0 116px; }
.section-topline { display:flex; justify-content:space-between; align-items:center; margin-bottom:34px; }
.stack-wrap { position:relative; }
.service-card {
  position: sticky;
  top: 56px;
  height: min(72vh, 660px);
  min-height: 520px;
  border-radius: clamp(20px,2vw,30px);
  overflow:hidden;
  color:#fff;
  margin-bottom: 10vh;
  box-shadow: 0 22px 58px rgba(0,0,0,.13);
  transform-origin:center top;
}
.service-card:nth-child(1) { z-index:1; }
.service-card:nth-child(2) { z-index:2; top:72px; }
.service-card:nth-child(3) { z-index:3; top:88px; margin-bottom:0; }
.service-card > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.service-card:hover > img { transform:scale(1.035); }
.service-card::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(11,10,9,.82) 0%, rgba(11,10,9,.58) 40%, rgba(11,10,9,.08) 76%); }
.service-inner { position:relative; z-index:2; height:100%; padding:clamp(28px,4vw,58px); display:flex; flex-direction:column; justify-content:space-between; }
.service-number { align-self:flex-end; min-width:48px; height:30px; border-radius:999px; display:flex; align-items:center; justify-content:center; background:var(--accent); font:800 12px/1 'Archivo'; }
.service-card h3 { margin:0; max-width:760px; font:800 clamp(38px,5.2vw,76px)/.92 'Archivo',sans-serif; letter-spacing:-.05em; text-transform:uppercase; }
.service-card p { margin:22px 0 0; max-width:520px; font-size:16px; line-height:1.55; color:rgba(255,255,255,.82); }
.service-link { margin-top:26px; display:inline-flex; align-items:center; gap:10px; font:700 11px/1 'Archivo',sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.arrow-circle { width:46px; height:46px; border:1px solid rgba(255,255,255,.65); border-radius:50%; display:inline-flex; align-items:center; justify-content:center; transition:transform .35s var(--ease), background .25s ease; }
.service-card:hover .arrow-circle { transform:rotate(45deg); background:#fff; color:#111; }
.services-cta { display:flex; justify-content:center; margin-top:56px; }

/* work */
.work { padding:112px 0 132px; }
.work-heading { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:52px; }
.work-heading h2 { font-size:clamp(50px,5vw,72px); line-height:.86; }
.view-all-inline { display:flex; align-items:center; gap:20px; padding-top:12px; }
.view-all-inline::before { content:""; width:clamp(80px,14vw,200px); height:1px; background:#d3cec4; }
.case-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:26px; }
.case-card { position:relative; border-radius:18px; overflow:hidden; background:#d1ccc2; min-height:420px; }
.case-card.large { grid-column:span 6; aspect-ratio: .86; }
.case-card.small { grid-column:span 4; aspect-ratio:1.28; min-height:300px; }
.case-card img { width:100%; height:100%; object-fit:cover; transition:transform .85s var(--ease), filter .5s ease; }
.case-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,10,9,0) 48%,rgba(10,10,9,.77) 100%); pointer-events:none; }
.case-meta { position:absolute; z-index:2; left:24px; right:24px; bottom:24px; color:#fff; transform:translateY(4px); transition:transform .35s var(--ease); }
.case-kicker { font:600 10px/1 'Archivo'; letter-spacing:.19em; color:#e6e2d9; text-transform:uppercase; }
.case-title { margin-top:8px; font:800 clamp(22px,2.2vw,34px)/1 'Archivo'; letter-spacing:-.02em; text-transform:uppercase; }
.case-card:hover img { transform:scale(1.045); }
.case-card:hover .case-meta { transform:none; }

/* about */
.about { padding:100px 0; display:grid; grid-template-columns:minmax(280px,372px) minmax(0,720px); gap:clamp(38px,5vw,72px); align-items:center; }
.about-image { position:relative; aspect-ratio:.72; overflow:hidden; border-radius:18px 18px 0 0; }
.about-image img { width:100%; height:100%; object-fit:cover; object-position:center 22%; }
.about-image::after { content:""; position:absolute; inset:auto 0 0; height:45%; background:linear-gradient(180deg,rgba(247,246,242,0),rgba(247,246,242,.8) 70%,var(--paper)); }
.about h2 { font-size:clamp(46px,4.6vw,64px); line-height:.94; margin:18px 0 26px; }
.about p { margin:0 0 18px; color:#3a3832; font-size:16px; line-height:1.68; }

/* loop */
.loop-section { padding:100px 0 126px; text-align:center; }
.loop-mark { width:230px; aspect-ratio:1; margin:0 auto; position:relative; border-radius:50%; background:repeating-conic-gradient(var(--ink) 0deg .55deg, transparent .55deg 3deg); }
.loop-mark::after { content:"THE LOOP"; position:absolute; inset:26px; border-radius:50%; background:var(--paper); display:grid; place-items:center; font:800 15px/1 'Archivo'; letter-spacing:.16em; }
.loop-section h2 { font-size:clamp(46px,5vw,66px); line-height:1.02; margin:42px auto 0; max-width:960px; }
.loop-section p { max-width:720px; margin:22px auto 0; color:#3a3832; font-size:17px; line-height:1.65; }
.loop-actions { display:flex; gap:14px; justify-content:center; margin-top:36px; }

/* inner pages */
.inner-hero { position:relative; min-height:650px; color:#fff; overflow:hidden; }
.inner-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.inner-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.08) 44%,rgba(0,0,0,.58) 100%); }
.inner-hero-copy { position:absolute; z-index:3; left:var(--page-x); right:var(--page-x); bottom:60px; }
.inner-hero-copy .eyebrow { color:rgba(255,255,255,.72); }
.inner-hero-copy h1 { margin:16px 0 0; font:800 clamp(58px,7.6vw,112px)/.88 'Archivo'; letter-spacing:-.055em; text-transform:uppercase; max-width:1100px; }
.service-list { padding:110px 0 124px; }
.service-row { display:grid; grid-template-columns:90px minmax(240px, .8fr) 1.4fr; gap:30px; padding:38px 0; border-top:1px solid var(--line); align-items:start; }
.service-row:last-child { border-bottom:1px solid var(--line); }
.service-row .num { font:700 12px/1 'Archivo'; letter-spacing:.16em; color:var(--accent); }
.service-row h3 { margin:0; font:800 clamp(24px,2.5vw,38px)/1 'Archivo'; letter-spacing:-.025em; text-transform:uppercase; }
.service-row p { margin:0; color:#4b4842; font-size:16px; line-height:1.65; max-width:680px; }
.reels { padding:110px 0 130px; }
.reel-row { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:34px; }
.reel-card { aspect-ratio:9/16; background:#181716; border-radius:16px; overflow:hidden; position:relative; }
.reel-card img { width:100%; height:100%; object-fit:cover; filter:saturate(.86); }
.reel-card span { position:absolute; left:16px; bottom:16px; color:#fff; font:700 10px/1.3 'Archivo'; letter-spacing:.12em; text-transform:uppercase; }

/* reveal animation */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in { opacity:1; transform:none; }

/* fixed-under footer */
.footer-spacer { height:min(760px,78vh); background:transparent; }
.under-footer {
  position:fixed;
  z-index:0;
  inset:auto 0 0 0;
  height:min(760px,78vh);
  background:#050505;
  color:#fff;
  display:flex;
  align-items:center;
}
.under-footer-inner { width:min(1328px,calc(100% - 2*var(--page-x))); margin:0 auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; align-items:center; }
.footer-brand { font:900 clamp(48px,7vw,112px)/.82 'Archivo'; letter-spacing:-.06em; text-transform:lowercase; }
.footer-cta h2 { margin:0; font:800 clamp(46px,5.5vw,82px)/.92 'Archivo'; letter-spacing:-.05em; text-transform:uppercase; }
.footer-cta p { margin:20px 0 0; color:#aaa6a0; max-width:560px; font-size:16px; line-height:1.6; }
.footer-links { display:flex; flex-wrap:wrap; gap:16px 28px; margin-top:34px; font-size:13px; }
.footer-links a { border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:4px; }
.footer-base { position:absolute; left:var(--page-x); right:var(--page-x); bottom:28px; display:flex; justify-content:space-between; gap:20px; color:#76726d; font-size:11px; }

@media (max-width: 900px) {
  :root { --header-h:78px; }
  .desktop-nav { display:none; }
  .mobile-toggle { display:grid; place-items:center; }
  .mobile-menu {
    position:fixed; inset:0; z-index:60; background:#11110f; color:#fff; padding:24px;
    display:flex; flex-direction:column; opacity:0; pointer-events:none; transition:opacity .3s ease;
  }
  .mobile-menu.open { opacity:1; pointer-events:auto; }
  .mobile-menu-top { display:flex; justify-content:space-between; align-items:center; }
  .mobile-menu nav { margin:auto 0; display:grid; gap:18px; font:800 clamp(34px,10vw,58px)/.95 'Archivo'; letter-spacing:-.04em; text-transform:uppercase; }
  .mobile-menu .close { width:42px; height:42px; border-radius:50%; border:1px solid #555; background:none; color:#fff; font-size:22px; }

  .hero { min-height:760px; }
  .hero-media { height:500px; }
  .hero-media img { object-position:center; }
  .hero-copy { bottom:62px; gap:20px; }
  .hero-title { font-size:clamp(44px,11.5vw,72px); overflow-wrap:anywhere; }
  .hero-meta { font-size:10px; letter-spacing:.18em; }
  .logo-grid { grid-template-columns:repeat(3,1fr); }
  .logo-word { height:64px; }

  .services { padding-top:72px; }
  .service-card { top:24px; min-height:500px; height:76vh; margin-bottom:7vh; }
  .service-card:nth-child(2) { top:38px; }
  .service-card:nth-child(3) { top:52px; }
  .service-card::before { background:linear-gradient(0deg,rgba(10,9,8,.82) 0%,rgba(10,9,8,.22) 65%); }
  .service-inner { justify-content:flex-end; }
  .service-number { position:absolute; top:24px; right:24px; }
  .service-card h3 { font-size:clamp(38px,9vw,64px); }

  .case-card.large { grid-column:span 12; aspect-ratio:4/5; }
  .case-card.small { grid-column:span 6; aspect-ratio:4/5; min-height:0; }
  .about { grid-template-columns:1fr; }
  .about-image { max-width:420px; width:100%; }
  .about-copy { max-width:720px; }
  .service-row { grid-template-columns:56px 1fr; }
  .service-row p { grid-column:2; }
  .reel-row { grid-template-columns:repeat(2,1fr); }
  .under-footer-inner { grid-template-columns:1fr; gap:46px; }
  .footer-brand { display:none; }
}

@media (max-width: 560px) {
  :root { --page-x:18px; }
  .brand { font-size:14px; }
  .hero { min-height:690px; }
  .hero-media { height:430px; }
  .hero-copy { bottom:48px; }
  .hero-title { font-size:clamp(39px,12vw,56px); }
  .hero-meta-line { gap:12px; }
  .clients { padding-top:34px; }
  .clients .eyebrow { font-size:9px; line-height:1.5; padding:0 10px; }
  .logo-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
  .logo-word { font-size:12px; }
  .section-topline { margin-bottom:22px; }
  .service-card { min-height:490px; border-radius:20px; }
  .service-inner { padding:24px; }
  .service-card p { font-size:14px; }
  .work { padding-top:86px; }
  .work-heading { display:block; }
  .view-all-inline { margin-top:28px; }
  .case-grid { gap:14px; }
  .case-card.small { grid-column:span 12; aspect-ratio:4/5; }
  .case-card { border-radius:14px; }
  .case-title { font-size:25px; }
  .about { padding-top:78px; }
  .loop-mark { width:180px; }
  .loop-mark::after { inset:22px; }
  .loop-actions { flex-direction:column; align-items:stretch; }
  .pill { width:100%; }
  .inner-hero { min-height:580px; }
  .inner-hero-copy h1 { font-size:clamp(48px,15vw,76px); }
  .service-row { grid-template-columns:40px 1fr; gap:18px; padding:28px 0; }
  .service-row h3 { font-size:26px; }
  .reel-row { gap:10px; }
  .under-footer { height:72vh; }
  .footer-spacer { height:72vh; }
  .footer-cta h2 { font-size:clamp(42px,13vw,64px); }
  .footer-base { flex-direction:column; bottom:18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .reveal { opacity:1; transform:none; }
}

/* V1.1 refinements — client marks, case-study editorial grid, mobile service crop */
.client-logo {
  min-width: 0;
  height: 86px;
  display: grid;
  place-items: center;
  padding: 14px 18px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.client-logo img {
  width: auto;
  height: auto;
  max-width: 88%;
  max-height: 48px;
  object-fit: contain;
}
.client-logo:nth-child(7) img { max-height: 56px; }

.case-showcase {
  position: relative;
  padding-bottom: 18px;
  isolation: isolate;
}
.case-showcase::after {
  content: "";
  position: absolute;
  z-index: 3;
  pointer-events: none;
  left: -2px;
  right: -2px;
  bottom: 0;
  height: 43%;
  background: linear-gradient(180deg, rgba(247,246,242,0) 0%, rgba(247,246,242,.48) 34%, rgba(247,246,242,.9) 72%, var(--paper) 100%);
}
.case-grid {
  gap: 26px;
}
.case-card.large {
  aspect-ratio: 4 / 5;
  min-height: 0;
}
.case-card.small {
  aspect-ratio: 4 / 5;
  min-height: 0;
}
.case-view-all {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: 34px;
  transform: translateX(-50%);
  min-width: 142px;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font: 700 11px/1 'Archivo', sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: 0 12px 28px rgba(91,26,20,.18);
  transition: transform .3s var(--ease), background .25s ease;
}
.case-view-all:hover { transform: translateX(-50%) translateY(-2px); background: #9f2d24; }
.case-view-all span { font-size: 14px; line-height: 1; }

@media (max-width: 900px) {
  .client-logo { height: 72px; padding: 12px 14px; }
  .client-logo img { max-height: 40px; }

  .service-card {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 5;
    margin-bottom: 7vh;
  }
  .service-card:nth-child(1) > img { object-position: center center; }
  .service-card:nth-child(2) > img { object-position: 36% center; }
  .service-card:nth-child(3) > img { object-position: center center; }

  .case-card.large { grid-column: span 6; aspect-ratio: 4 / 5; }
  .case-card.small { grid-column: span 4; aspect-ratio: 4 / 5; }
  .case-showcase::after { height: 45%; }
}

@media (max-width: 560px) {
  .logo-grid { gap: 10px; }
  .client-logo { height: 62px; padding: 9px 10px; }
  .client-logo img { max-width: 92%; max-height: 34px; }
  .client-logo:nth-child(7) img { max-height: 40px; }

  .service-card {
    aspect-ratio: 4 / 5;
    min-height: 0;
    height: auto;
    margin-bottom: 8vh;
  }
  .service-inner { padding: 22px; }
  .service-card h3 { font-size: clamp(30px, 8.4vw, 36px); line-height: .92; }
  .service-card p { margin-top: 15px; font-size: 13px; line-height: 1.46; }
  .service-link { margin-top: 18px; font-size: 9px; }
  .arrow-circle { width: 42px; height: 42px; }

  .work-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
  .work-heading .view-all-inline { margin-top: 0; padding-top: 7px; white-space: nowrap; }
  .view-all-inline::before { display: none; }
  .case-grid { gap: 12px; }
  .case-card.large { grid-column: span 6; aspect-ratio: 4 / 5; }
  .case-card.small { grid-column: span 4; aspect-ratio: 4 / 5; }
  .case-card { min-height: 0; border-radius: 14px; }
  .case-meta { left: 12px; right: 10px; bottom: 13px; }
  .case-kicker { font-size: 7px; letter-spacing: .14em; }
  .case-title { margin-top: 5px; font-size: clamp(15px, 4.4vw, 19px); line-height: .92; }
  .case-showcase { padding-bottom: 8px; }
  .case-showcase::after { height: 48%; }
  .case-view-all {
    min-width: 164px;
    min-height: 54px;
    bottom: 10px;
    padding: 0 25px;
    font-size: 10px;
  }
}

/* Fine-tune the editorial fade so it begins with the lower row, not over the hero pair. */
.case-showcase::after { height: 40%; }
@media (max-width: 560px) { .case-showcase::after { height: 42%; } }

/* V1.2 — tighter desktop canvas, clean client marks, compact mobile about, new utility pages */
.client-logo { border-top: 0; border-bottom: 0; }

/* Let the signature sections breathe at deliberately different widths on large screens. */
.services.container { width: min(980px, calc(100% - (2 * var(--page-x)))); }
.work.container { width: min(1080px, calc(100% - (2 * var(--page-x)))); }
.clients.container { width: min(1180px, calc(100% - (2 * var(--page-x)))); }

@media (min-width: 901px) {
  .service-card {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 10;
  }
  .service-card h3 { font-size: clamp(42px, 4.2vw, 62px); }
  .service-card p { font-size: 15px; }
}

/* About summary: image + heading as one lead unit, body copy below/alongside. */
.about {
  grid-template-columns: minmax(280px,372px) minmax(0,720px);
  grid-template-rows: auto auto;
}
.about-lead { display: contents; }
.about-image { grid-column: 1; grid-row: 1 / span 2; }
.about-heading { grid-column: 2; grid-row: 1; align-self: end; }
.about-body { grid-column: 2; grid-row: 2; align-self: start; }
.about-heading h2 { font-size:clamp(46px,4.6vw,64px); line-height:.94; margin:18px 0 26px; }
.about-body p { margin:0 0 18px; color:#3a3832; font-size:16px; line-height:1.68; }
.text-link { display:inline-flex; margin-top:8px; padding-bottom:4px; border-bottom:1px solid #9f9a91; font:600 12px/1.2 'Archivo',sans-serif; letter-spacing:.08em; text-transform:uppercase; }

/* Dedicated content pages */
.page-header {
  position: relative;
  height: var(--header-h);
  color: var(--ink);
  border-bottom: 1px solid var(--line);
}
.page-header .mobile-toggle { color:var(--ink); border-color:rgba(20,19,18,.3); background:transparent; }
.page-intro { padding: clamp(70px, 8vw, 120px) 0 64px; }
.page-intro-grid { display:grid; grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr); gap:clamp(36px,8vw,120px); align-items:end; }
.page-intro h1 { margin:14px 0 0; font:800 clamp(58px,8vw,118px)/.86 'Archivo',sans-serif; letter-spacing:-.06em; text-transform:uppercase; max-width:980px; }
.page-intro p { margin:0; font-size:18px; line-height:1.65; color:#47443e; max-width:560px; }
.page-section { padding:72px 0 120px; }

.about-page-grid { display:grid; grid-template-columns:minmax(280px,440px) minmax(0,680px); gap:clamp(44px,8vw,120px); align-items:start; }
.about-page-portrait { position:sticky; top:40px; border-radius:24px; overflow:hidden; }
.about-page-portrait img { width:100%; aspect-ratio:.8; object-fit:cover; object-position:center 18%; }
.about-page-copy h2 { margin:0 0 26px; font:800 clamp(40px,5vw,68px)/.94 'Archivo',sans-serif; letter-spacing:-.045em; text-transform:uppercase; }
.about-page-copy p { margin:0 0 20px; font-size:17px; line-height:1.72; color:#3f3c36; }
.about-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:54px; }
.principle { padding:24px; border:1px solid var(--line); border-radius:16px; min-height:180px; }
.principle .num { color:var(--accent); font:700 11px/1 'Archivo'; letter-spacing:.15em; }
.principle h3 { margin:28px 0 0; font:800 22px/1 'Archivo'; text-transform:uppercase; }

.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(42px,8vw,120px); align-items:start; }
.contact-details { display:grid; gap:26px; }
.contact-detail span { display:block; margin-bottom:8px; }
.contact-detail a, .contact-detail p { margin:0; font-size:18px; line-height:1.5; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:grid; gap:8px; }
.field.full { grid-column:1 / -1; }
.field label { font:600 10px/1 'Archivo'; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.field input, .field textarea, .field select { width:100%; border:0; border-bottom:1px solid #bdb8ae; background:transparent; padding:13px 0; border-radius:0; color:var(--ink); outline:none; }
.field textarea { min-height:120px; resize:vertical; }
.contact-form .pill { border:0; cursor:pointer; justify-self:start; margin-top:12px; }

.booking-shell { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(34px,7vw,100px); align-items:start; }
.booking-copy h2 { margin:0 0 18px; font:800 clamp(38px,4.6vw,62px)/.94 'Archivo'; letter-spacing:-.04em; text-transform:uppercase; }
.booking-copy p { color:#494640; font-size:17px; line-height:1.65; }
.calendly-slot { min-height:620px; border-radius:24px; background:#fff; border:1px solid var(--line); display:grid; place-items:center; padding:40px; text-align:center; box-shadow:0 18px 50px rgba(0,0,0,.05); }
.calendly-slot-inner { max-width:420px; }
.calendly-slot h3 { margin:14px 0 12px; font:800 34px/1 'Archivo'; text-transform:uppercase; letter-spacing:-.035em; }
.calendly-slot p { margin:0; color:var(--muted); line-height:1.55; }

@media (max-width: 900px) {
  .services.container, .work.container, .clients.container { width: min(100% - (2 * var(--page-x)), 760px); }
  .page-intro-grid, .about-page-grid, .contact-layout, .booking-shell { grid-template-columns:1fr; }
  .about-page-portrait { position:relative; top:auto; max-width:440px; }
  .about-principles { grid-template-columns:1fr; }
  .calendly-slot { min-height:520px; }
}

@media (max-width: 560px) {
  .about { display:block; padding-top:72px; }
  .about-lead { display:grid; grid-template-columns:110px 1fr; gap:18px; align-items:end; }
  .about-image { grid-column:auto; grid-row:auto; width:110px; aspect-ratio:.7; border-radius:10px 10px 0 0; }
  .about-image::after { height:32%; }
  .about-heading { grid-column:auto; grid-row:auto; padding-bottom:8px; }
  .about-heading .eyebrow { font-size:8px; }
  .about-heading h2 { margin:8px 0 0; font-size:clamp(24px,7vw,31px); line-height:.9; }
  .about-body { margin-top:18px; }
  .about-body p { font-size:14px; line-height:1.58; margin-bottom:16px; }
  .text-link { font-size:9px; }

  .page-intro { padding:54px 0 42px; }
  .page-intro h1 { font-size:clamp(46px,14vw,68px); }
  .page-intro p { font-size:16px; }
  .page-section { padding:42px 0 86px; }
  .contact-form { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .calendly-slot { min-height:440px; border-radius:18px; padding:26px; }
  .calendly-slot h3 { font-size:28px; }
}


/* V1.3 — full-card service links, supplied arrow, corrected mobile about, quieter case-study funnel */
.service-card {
  display: block;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  outline: none;
}
.service-card:focus-visible {
  box-shadow: 0 0 0 4px var(--paper), 0 0 0 7px var(--accent), 0 30px 70px rgba(17,16,14,.16);
}
.service-link { pointer-events: none; }
.arrow-circle {
  overflow: hidden;
  background: var(--accent);
  border-color: var(--accent);
  flex: 0 0 auto;
}
.arrow-svg {
  position: static !important;
  inset: auto !important;
  width: 19px !important;
  height: 19px !important;
  object-fit: contain !important;
  transform: none !important;
  display:block;
}
.service-card:hover .arrow-circle,
.service-card:focus-visible .arrow-circle {
  transform: translate(2px,-2px);
  background: var(--accent);
  border-color: var(--accent);
}
.button-arrow-svg { width: 12px; height: 12px; display:block; }

/* Give case studies a small piece of motion without turning the grid into a gimmick. */
.case-card::before {
  content:"";
  position:absolute;
  top:16px;
  right:16px;
  width:40px;
  height:40px;
  border-radius:50%;
  background: var(--accent) url('assets/arrow.svg') center/17px 17px no-repeat;
  z-index:3;
  opacity:0;
  transform:translate(-5px,5px) scale(.9);
  transition:opacity .28s ease, transform .35s var(--ease);
  pointer-events:none;
}
.case-card:hover::before { opacity:1; transform:none; }

.case-funnel {
  margin: 50px 0 4px;
  padding: 28px 0 4px;
  border-top: 1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:end;
}
.case-funnel-copy { max-width:650px; }
.case-funnel h3 {
  margin:12px 0 10px;
  font:800 clamp(30px,3.2vw,48px)/.94 'Archivo',sans-serif;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.case-funnel p { margin:0; max-width:560px; color:#57534c; font-size:15px; line-height:1.58; }
.case-funnel-link {
  min-width:230px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:13px 13px 13px 18px;
  border:1px solid #d6d1c7;
  border-radius:999px;
  font:700 11px/1 'Archivo',sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:border-color .25s ease, transform .3s var(--ease);
}
.case-funnel-link:hover { border-color:#a7a196; transform:translateY(-2px); }
.case-funnel-arrow {
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--ink);
}
.case-funnel-arrow img { width:17px; height:17px; }

@media (max-width: 700px) {
  .case-card::before { display:none; }
  .case-funnel {
    margin-top:34px;
    padding-top:22px;
    grid-template-columns:1fr;
    gap:22px;
  }
  .case-funnel h3 { font-size:clamp(28px,8.5vw,38px); }
  .case-funnel p { font-size:13.5px; }
  .case-funnel-link { min-width:0; width:100%; }
}

/* Match the supplied mobile About composition: portrait at left, title at right, body beneath both. */
@media (max-width: 620px) {
  #about.about {
    display:block !important;
    width:min(calc(100% - 28px), 520px);
    padding:72px 0 76px;
  }
  #about .about-lead {
    display:grid !important;
    grid-template-columns:43% minmax(0,1fr) !important;
    gap:14px !important;
    align-items:end !important;
  }
  #about .about-image {
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:none !important;
    aspect-ratio:.70 !important;
    border-radius:11px 11px 0 0 !important;
    overflow:hidden;
  }
  #about .about-image img { object-position:center 18%; }
  #about .about-image::after { height:34%; }
  #about .about-heading {
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:end !important;
    padding:0 0 7px !important;
    min-width:0;
  }
  #about .about-heading .eyebrow { font-size:7px; letter-spacing:.18em; }
  #about .about-heading h2 {
    margin:7px 0 0 !important;
    font-size:clamp(23px,7.25vw,30px) !important;
    line-height:.88 !important;
    letter-spacing:-.055em;
  }
  #about .about-body {
    margin-top:16px !important;
    width:100%;
    max-width:none;
  }
  #about .about-body p {
    margin:0 0 14px !important;
    font-size:13px !important;
    line-height:1.56 !important;
  }
  #about .text-link { margin-top:2px; font-size:9px; }
}

.inline-arrow-mask {
  display:inline-block;
  width:1.05em;
  height:1.05em;
  margin-left:.22em;
  vertical-align:-.12em;
  background:currentColor;
  -webkit-mask:url('assets/arrow.svg') center/contain no-repeat;
  mask:url('assets/arrow.svg') center/contain no-repeat;
}

/* V1.3 — dedicated case-study index: editorial, image-led, restrained */
.case-header { position:relative; color:var(--ink); }
.case-header .brand, .case-header .desktop-nav a { color:var(--ink); }
.case-index-intro { padding:86px 0 74px; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,440px); gap:44px; align-items:end; }
.case-index-intro .eyebrow { grid-column:1 / -1; }
.case-index-intro h1 { margin:0; font-size:clamp(72px,10vw,144px); line-height:.78; }
.case-index-intro p { margin:0 0 6px; color:#57534c; font-size:17px; line-height:1.6; }
.case-index { padding-bottom:120px; }
.case-editorial { margin-bottom:90px; }
.case-editorial-media { position:relative; display:block; overflow:hidden; border-radius:20px; background:#d8d3ca; }
.case-editorial-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease), filter .5s ease; }
.case-editorial-media:hover img { transform:scale(1.025); }
.case-editorial-arrow { position:absolute; right:20px; top:20px; width:50px; height:50px; border-radius:50%; background:var(--accent); display:grid; place-items:center; opacity:0; transform:translate(-6px,6px); transition:opacity .25s ease, transform .35s var(--ease); }
.case-editorial-arrow img { width:18px; height:18px; object-fit:contain; }
.case-editorial-media:hover .case-editorial-arrow { opacity:1; transform:none; }
.case-editorial-feature .case-editorial-media { aspect-ratio:16/8.5; }
.case-editorial-feature .case-editorial-media img { object-position:center 42%; }
.case-editorial-meta { display:grid; grid-template-columns:180px minmax(220px,.8fr) minmax(260px,1fr); gap:28px; padding-top:18px; align-items:start; border-top:1px solid var(--line); margin-top:18px; }
.case-editorial-meta h2 { margin:0; font:800 clamp(28px,3vw,46px)/.94 'Archivo',sans-serif; letter-spacing:-.045em; text-transform:uppercase; }
.case-editorial-meta p { margin:0; max-width:520px; color:#57534c; line-height:1.55; }
.case-editorial-pair { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.78fr); gap:clamp(26px,4.5vw,72px); align-items:start; margin-bottom:90px; }
.case-editorial-pair .case-editorial { margin:0; }
.case-editorial-pair .case-editorial-media { aspect-ratio:4/5; }
.case-editorial-pair .case-editorial-meta { grid-template-columns:1fr; gap:9px; }
.case-editorial-pair .case-editorial-meta p { font-size:14px; }
.case-editorial-offset { padding-top:11vw; }
.case-editorial-wide { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:34px; align-items:end; margin-bottom:100px; }
.case-editorial-wide .case-editorial-media { aspect-ratio:16/9; }
.case-editorial-wide .case-editorial-meta { display:block; border-top:0; margin:0; padding:0 0 4px; }
.case-editorial-wide .case-editorial-meta h2 { margin:13px 0 14px; }
.case-editorial-pair-reverse { grid-template-columns:minmax(0,.82fr) minmax(0,1.08fr); align-items:end; }
.case-editorial-pair-reverse .case-editorial:first-child { padding-bottom:9vw; }
.case-index-funnel { margin-top:10px; }

@media (max-width: 900px) {
  .case-index-intro { grid-template-columns:1fr; gap:26px; padding-top:58px; }
  .case-index-intro .eyebrow { grid-column:auto; }
  .case-index-intro p { max-width:620px; }
  .case-editorial-meta { grid-template-columns:110px 1fr; }
  .case-editorial-meta p { grid-column:2; }
  .case-editorial-wide { grid-template-columns:1fr; }
  .case-editorial-wide .case-editorial-meta { display:grid; grid-template-columns:110px 1fr; gap:14px 24px; border-top:1px solid var(--line); padding-top:16px; }
  .case-editorial-wide .case-editorial-meta p { grid-column:2; }
}

@media (max-width: 620px) {
  .case-index-intro { padding:48px 0 46px; gap:18px; }
  .case-index-intro h1 { font-size:clamp(64px,21vw,88px); }
  .case-index-intro p { font-size:14px; line-height:1.55; }
  .case-index { padding-bottom:82px; }
  .case-editorial { margin-bottom:58px; }
  .case-editorial-feature .case-editorial-media { aspect-ratio:4/5; }
  .case-editorial-meta, .case-editorial-wide .case-editorial-meta { grid-template-columns:1fr; gap:8px; margin-top:13px; }
  .case-editorial-meta p, .case-editorial-wide .case-editorial-meta p { grid-column:auto; font-size:13px; }
  .case-editorial-meta h2 { font-size:30px; }
  .case-editorial-pair, .case-editorial-pair-reverse { grid-template-columns:1fr 1fr; gap:12px; margin-bottom:58px; align-items:start; }
  .case-editorial-pair .case-editorial-media { aspect-ratio:4/5; border-radius:14px; }
  .case-editorial-pair .case-editorial-meta p { display:none; }
  .case-editorial-pair .case-editorial-meta h2 { font-size:20px; }
  .case-editorial-pair .eyebrow { font-size:7px; }
  .case-editorial-offset, .case-editorial-pair-reverse .case-editorial:first-child { padding:0; }
  .case-editorial-wide { display:block; margin-bottom:58px; }
  .case-editorial-wide .case-editorial-media { aspect-ratio:4/5; border-radius:16px; }
  .case-editorial-arrow { display:none; }
}

.case-more { margin:8px 0 86px; padding-top:22px; border-top:1px solid var(--line); }
.case-more-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.case-more-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.case-more-card { position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:15px; background:#d8d3ca; color:#fff; }
.case-more-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(10,9,8,.75)); }
.case-more-card img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.case-more-card:hover img { transform:scale(1.035); }
.case-more-card span { position:absolute; z-index:2; left:16px; right:16px; bottom:16px; font:800 clamp(15px,1.55vw,22px)/.95 'Archivo'; text-transform:uppercase; letter-spacing:-.025em; }
.case-more-card small { display:block; margin-bottom:8px; font:600 8px/1 'Archivo'; letter-spacing:.16em; opacity:.8; }
@media (max-width:620px) {
  .case-more { margin-bottom:58px; }
  .case-more-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .case-more-card { border-radius:12px; }
  .case-more-card span { left:12px; right:12px; bottom:12px; font-size:15px; }
}

/* V1.3 case proof — a compact evidence layer between the cinematic feature and the project grid. */
.case-proof {
  margin:-42px 0 104px;
  padding:30px 0 34px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(180px,.72fr) minmax(420px,1.45fr) minmax(280px,1fr);
  gap:clamp(24px,4vw,64px);
  align-items:start;
}
.case-proof-label p { margin:12px 0 0; max-width:260px; color:#615d56; font-size:13px; line-height:1.55; }
.case-proof-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 32px; }
.case-proof-stats div { border-left:1px solid #d8d2c7; padding-left:16px; }
.case-proof-stats strong { display:block; font:800 clamp(30px,3.2vw,46px)/.9 'Archivo',sans-serif; letter-spacing:-.05em; }
.case-proof-stats span { display:block; margin-top:8px; color:#69645c; font-size:11px; line-height:1.35; text-transform:uppercase; letter-spacing:.08em; }
.case-proof blockquote { margin:0; font:500 15px/1.55 'Instrument Sans',sans-serif; color:#2d2a26; }
.case-proof cite { display:block; margin-top:16px; font-style:normal; color:#777067; font-size:10px; line-height:1.45; text-transform:uppercase; letter-spacing:.08em; }

@media (max-width: 980px) {
  .case-proof { grid-template-columns:1fr 1.4fr; }
  .case-proof blockquote { grid-column:1 / -1; max-width:720px; }
}
@media (max-width: 620px) {
  .case-proof { margin:-18px 0 62px; grid-template-columns:1fr; gap:24px; padding:24px 0 27px; }
  .case-proof-label p { max-width:none; }
  .case-proof-stats { grid-template-columns:repeat(2,1fr); gap:22px 14px; }
  .case-proof-stats strong { font-size:34px; }
  .case-proof blockquote { font-size:13px; line-height:1.55; }
}


/* V1.3.2 — focused positioning + mobile refinements, preserving the V1.3.1 system */

/* Keep the homepage wordmark intact on narrow screens. */
@media (max-width: 560px) {
  .hero-copy { left:14px; right:14px; }
  .hero-title {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    font-size: clamp(27px, 8.65vw, 38px);
    letter-spacing: -.058em;
  }
  .hero-meta { gap:10px; }
  .hero-meta-line { gap:0; }
}

/* Client marks: keep the desktop two-row rhythm on phones instead of a tall list. */
@media (max-width: 560px) {
  .clients { padding-top:40px; padding-bottom:52px; }
  .clients .eyebrow { max-width:290px; margin-left:auto; margin-right:auto; margin-bottom:20px; line-height:1.4; }
  .logo-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 7px 5px;
  }
  .client-logo {
    height: 44px;
    padding: 4px 3px;
  }
  .client-logo img,
  .client-logo:nth-child(7) img {
    max-width: 96%;
    max-height: 27px;
  }
}

/* About page — agency first, founder later. */
.about-agency-copy { display:grid; gap:16px; }
.about-agency-copy p { margin:0; }
.skin-section { padding-top:40px; padding-bottom:72px; }
.skin-grid {
  display:grid;
  grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);
  gap:clamp(48px,8vw,120px);
  align-items:end;
  border-top:1px solid var(--line);
  padding-top:44px;
}
.skin-grid h2 { margin-top:16px; font-size:clamp(54px,6vw,88px); line-height:.88; }
.skin-grid p { margin:0 0 5px; max-width:650px; font-size:19px; line-height:1.58; color:#3f3c36; }
.agency-facts { padding-top:10px; padding-bottom:100px; }
.agency-stats { margin-top:0; }
.agency-stats .principle { min-height:160px; }
.agency-stats .principle h3 { font-size:19px; line-height:1.05; }
.founder-section { padding-top:26px; padding-bottom:108px; border-top:1px solid var(--line); }
.founder-section .about-page-grid { padding-top:52px; }

@media (max-width: 900px) {
  .skin-grid { grid-template-columns:1fr; gap:24px; }
  .skin-grid p { max-width:720px; }
}

@media (max-width: 560px) {
  .about-agency-intro { padding-bottom:34px; }
  .about-agency-intro .page-intro-grid { gap:24px; }
  .about-agency-copy { gap:13px; }
  .about-agency-copy p { font-size:14px; line-height:1.58; }
  .skin-section { padding-top:12px; padding-bottom:58px; }
  .skin-grid { padding-top:30px; gap:20px; }
  .skin-grid h2 { font-size:clamp(46px,15vw,64px); }
  .skin-grid p { font-size:15px; line-height:1.58; }
  .agency-facts { padding-bottom:70px; }
  .agency-facts .section-topline { margin-bottom:18px; }
  .agency-stats { grid-template-columns:1fr; gap:10px; }
  .agency-stats .principle { min-height:0; padding:18px; }
  .agency-stats .principle h3 { margin-top:18px; font-size:17px; }
  .founder-section { padding-top:0; padding-bottom:78px; }
  .founder-section .about-page-grid { padding-top:34px; }
  .founder-section .about-page-copy h2 { font-size:40px; }
  .founder-section .about-page-copy p { font-size:14px; line-height:1.62; }
}


/* =====================================================================
   V2 — operator studio. Ventures lead, client work second, services last.
   Everything above is the V1.3.2 system, unchanged.
   ===================================================================== */

/* Home hero: a statement instead of the wordmark */
.hero-v2 { min-height: 920px; }
.hero-statement {
  margin: 0;
  max-width: 1120px;
  font: 800 clamp(46px, 5.7vw, 88px)/.92 'Archivo', sans-serif;
  letter-spacing: -.05em;
  text-transform: uppercase;
  text-wrap: balance;
  animation-delay: .32s;
}
.hero-sub {
  margin: 0;
  max-width: 600px;
  font-size: 19px;
  line-height: 1.5;
  color: #3a3832;
  animation-delay: .42s;
}
.hero-v2 .hero-meta { animation-delay: .52s; }

/* Section heading used on the home page */
.block-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:44px; }
.block-heading h2 { font-size: clamp(50px, 5vw, 72px); line-height: .86; }
.block-heading p { margin:0; max-width:360px; color:#57534c; font-size:15px; line-height:1.55; text-align:right; }

/* Venture cards reuse the stacked service-card */
.ventures { padding-top: 40px; }
.venture-tag { display:block; margin-bottom:16px; font:600 11px/1 'Archivo',sans-serif; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.78); }
.venture-facts { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.venture-facts span { padding:8px 13px; border-radius:999px; border:1px solid rgba(255,255,255,.4); font:600 10px/1 'Archivo',sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.service-card.venture-kindly { background:#FBF8EF; color:#35393D; }
.service-card.venture-kindly::before { display:none; }
.venture-kindly .venture-tag { color:#6b6f73; }
.venture-kindly p { color:#4a4e52; max-width:370px; }
.venture-kindly h3 { color:#35393D; }
.venture-kindly .service-number { background:#FE6253; color:#fff; }
.venture-kindly .venture-facts span { border-color:rgba(53,57,61,.3); }
.venture-kindly .arrow-circle,
.venture-kindly:hover .arrow-circle { background:#35393D; border-color:#35393D; }
.venture-phones { position:absolute; z-index:1; right:clamp(24px,4.5vw,60px); bottom:-9%; display:flex; align-items:flex-end; gap:14px; }
.venture-phones .phone { width:clamp(96px,9.6vw,134px); }
.venture-phones .phone:nth-child(2) { transform:translateY(-14%); }
.service-card.venture-next { background:var(--dark-card); }
.service-card.venture-next::before { display:none; }
.venture-next .service-number { background:transparent; border:1px solid rgba(255,255,255,.4); }
.venture-ring { position:absolute; right:-6%; top:50%; width:min(46%,420px); aspect-ratio:1; transform:translateY(-50%); border-radius:50%; opacity:.5;
  background:repeating-conic-gradient(rgba(255,255,255,.55) 0deg .55deg, transparent .55deg 3deg);
  -webkit-mask:radial-gradient(circle, transparent 57%, #000 58%); mask:radial-gradient(circle, transparent 57%, #000 58%); }

/* Stylised phone. Drop a real screenshot at the img path and it covers the drawing. */
.phone { position:relative; flex:0 0 auto; width:clamp(104px,11.5vw,158px); aspect-ratio:9/19; border-radius:24px; border:5px solid #35393D; background:#fff; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 18px 40px rgba(53,57,61,.2); }
.phone > img { position:absolute; inset:0; z-index:3; width:100%; height:100%; object-fit:cover; }
.ph-head { flex:0 0 27%; padding:26% 10% 0; }
.ph-head i { display:block; height:9%; min-height:5px; width:58%; border-radius:99px; background:rgba(255,255,255,.92); }
.ph-head i + i { margin-top:8%; width:36%; opacity:.7; }
.ph-body { flex:1; padding:9% 8%; display:grid; grid-template-columns:1fr 1fr; gap:7%; align-content:start; }
.ph-tile { aspect-ratio:1; border-radius:22%; background:#FBF8EF; display:grid; place-items:center; }
.ph-tile b { display:block; width:46%; aspect-ratio:1; border-radius:50%; }
.ph-tile b.sq { border-radius:30%; }
.ph-row { grid-column:1/-1; height:0; padding-bottom:24%; border-radius:12px; background:#FBF8EF; position:relative; }
.ph-row b { position:absolute; left:8%; top:50%; width:15%; aspect-ratio:1; border-radius:50%; transform:translateY(-50%); }
.ph-row::after { content:""; position:absolute; left:31%; right:22%; top:50%; height:14%; border-radius:99px; background:rgba(53,57,61,.2); transform:translateY(-50%); }
.ph-chart { grid-column:1/-1; aspect-ratio:1.5; border-radius:14px; background:#FBF8EF; display:flex; align-items:flex-end; gap:7%; padding:12% 12% 10%; }
.ph-chart b { flex:1; border-radius:4px 4px 0 0; background:#0E89E3; }
.ph-foot { flex:0 0 11%; }
.k-red { background:#FE6253; } .k-yellow { background:#FBBB37; } .k-blue { background:#0E89E3; } .k-green { background:#30A498; } .k-ink { background:#35393D; }

/* Client marks: 11 logos, centred rows */
.logo-grid.logo-flex { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; }
.logo-flex .client-logo { flex:0 0 calc((100% - 90px) / 6); }

/* Ways in (home) */
.ways { padding: 40px 0 110px; }
.way-row { transition: padding .35s var(--ease); }
.way-row:hover { padding-left:10px; }
.way-row:hover h3 { color:var(--accent); }
.ways-more { margin-top:34px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.ways-more p { margin:0; color:#57534c; font-size:15px; max-width:520px; line-height:1.55; }

.about.about-home { justify-content:center; }
.about-home .founder-role { margin-bottom:0; }
.founder-role { display:block; margin:-14px 0 24px; font:600 12px/1 'Archivo',sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }

/* Venture pages */
.venture-hero { padding: clamp(46px,6vw,88px) 0 60px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:clamp(32px,6vw,96px); align-items:end; }
.venture-hero h1 { margin:22px 0 28px; font:800 clamp(62px,9.2vw,138px)/.8 'Archivo',sans-serif; letter-spacing:-.06em; text-transform:uppercase; }
.venture-hero .lede { margin:0; max-width:600px; font-size:20px; line-height:1.55; color:#3a3832; }
.venture-hero-media { border-radius:22px; overflow:hidden; aspect-ratio:4/5; background:#d8d3ca; }
.venture-hero-media img { width:100%; height:100%; object-fit:cover; }
.venture-hero-panel { border-radius:22px; aspect-ratio:4/5; background:#FBF8EF; display:grid; place-items:center; border:1px solid #ece6d6; }
.venture-hero-panel .phone { width:min(46%,230px); border-radius:34px; border-width:7px; }
.venture-status { display:inline-flex; align-items:center; gap:9px; padding:9px 15px; border-radius:999px; border:1px solid var(--line); font:700 10px/1 'Archivo',sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.venture-status i { width:7px; height:7px; border-radius:50%; background:#2f9e5b; }
.venture-status.soon i { background:var(--accent); }
.venture-eyebrows { display:flex; flex-wrap:wrap; align-items:center; gap:14px 18px; }

.stat-row { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; padding:36px 0 38px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.stat-row div { border-left:1px solid #d8d2c7; padding-left:18px; }
.stat-row strong { display:block; font:800 clamp(40px,4.6vw,68px)/.88 'Archivo',sans-serif; letter-spacing:-.05em; }
.stat-row span { display:block; margin-top:12px; font-size:13px; line-height:1.4; color:#3f3c36; }
.stat-row small { display:block; margin-top:5px; font-size:11px; color:#7a756c; }

.split { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr); gap:clamp(30px,7vw,110px); align-items:start; padding:96px 0 40px; }
.split h2 { margin:14px 0 0; font-size:clamp(40px,4.6vw,68px); line-height:.9; }
.split-copy p { margin:0 0 20px; font-size:18px; line-height:1.68; color:#3a3832; max-width:690px; }
.split-copy p:last-child { margin-bottom:0; }

.journey { padding: 70px 0 110px; }
.journey .section-topline { margin-bottom:0; padding-bottom:26px; }
.journey .service-row { grid-template-columns:90px minmax(220px,.7fr) 1.5fr; }
.row-body p { margin:0; }
.tool-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.tool-tag { padding:7px 12px; border-radius:999px; background:var(--ink); color:var(--paper); font:600 10px/1 'Archivo',sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.tool-tag::before { content:"Built in-house · "; opacity:.55; }

.venture-close { padding: 30px 0 120px; }
.venture-close .case-funnel { margin-top:0; }

.phone-band { margin: 20px 0 0; padding: clamp(40px,6vw,80px) clamp(20px,4vw,60px) clamp(34px,5vw,60px); border-radius:28px; background:#FBF8EF; border:1px solid #ece6d6; }
.phone-row { display:flex; justify-content:center; align-items:flex-start; gap:clamp(14px,5vw,70px); }
.phone-row figure { margin:0; text-align:center; }
.phone-row .phone { width:clamp(96px,19vw,236px); border-radius:clamp(20px,3vw,36px); border-width:clamp(4px,.6vw,7px); margin:0 auto; }
.phone-row figcaption { margin-top:20px; font:800 clamp(13px,1.6vw,20px)/1 'Archivo',sans-serif; text-transform:uppercase; letter-spacing:-.01em; color:#35393D; }
.phone-row figcaption small { display:block; margin-top:8px; font:400 13px/1.45 'Instrument Sans',sans-serif; text-transform:none; letter-spacing:0; color:#5d6165; max-width:230px; }

/* Work page */
.venture-pointer { margin:-30px 0 70px; padding:20px 24px; border:1px solid var(--line); border-radius:16px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 30px; }
.venture-pointer p { margin:0; font-size:15px; color:#47443e; }
.venture-pointer div { display:flex; gap:22px; }
.case-more-grid.three { grid-template-columns:repeat(3,1fr); }

/* Ways in page */
.way-block { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,6vw,90px); align-items:center; padding:64px 0; border-top:1px solid var(--line); }
.way-block:nth-of-type(even) .way-media { order:2; }
.way-media { border-radius:20px; overflow:hidden; aspect-ratio:16/11; background:#d8d3ca; }
.way-media img { width:100%; height:100%; object-fit:cover; }
.way-copy .num { font:700 12px/1 'Archivo'; letter-spacing:.16em; color:var(--accent); }
.way-copy h2 { margin:16px 0 18px; font:800 clamp(34px,4vw,58px)/.92 'Archivo',sans-serif; letter-spacing:-.045em; text-transform:uppercase; }
.way-copy > p { margin:0; font-size:17px; line-height:1.65; color:#3f3c36; max-width:560px; }
.way-list { list-style:none; margin:26px 0 0; padding:0; border-top:1px solid var(--line); }
.way-list li { padding:13px 0; border-bottom:1px solid var(--line); font-size:15px; color:#3f3c36; display:flex; gap:14px; }
.way-list li b { flex:0 0 190px; font:700 12px/1.5 'Archivo',sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--ink); }
.way-proof { margin-top:22px; display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; }
.way-proof .eyebrow { margin-right:4px; }
.way-proof .text-link { margin-top:0; }
.ways-page { padding-bottom:110px; }
.way-other { margin: 0; padding:44px clamp(24px,4vw,56px); border-radius:24px; background:var(--dark-card); color:#fff; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:center; }
.way-other h2 { margin:12px 0 12px; font:800 clamp(30px,3.6vw,52px)/.94 'Archivo',sans-serif; letter-spacing:-.045em; text-transform:uppercase; }
.way-other p { margin:0; color:#b9b4ac; max-width:600px; line-height:1.6; }
.way-other .eyebrow { color:#8f8a82; }

.booking-fallback { margin-top:22px; }

@media (max-width: 900px) {
  .block-heading p { display:none; }
  .venture-phones { right:auto; left:50%; bottom:auto; top:7%; transform:translateX(-50%); gap:10px; }
  .venture-phones .phone { width:clamp(78px,22vw,120px); border-radius:18px; border-width:4px; }
  .venture-ring { top:28%; right:-12%; width:70%; }
  .logo-flex .client-logo { flex-basis:calc((100% - 36px) / 3); }
  .venture-hero { grid-template-columns:1fr; align-items:start; }
  .venture-hero-media, .venture-hero-panel { aspect-ratio:5/4; }
  .venture-hero-media img { object-position:center 30%; }
  .venture-hero-panel .phone { width:min(30%,170px); }
  .stat-row { grid-template-columns:repeat(2,1fr); gap:30px 20px; }
  .split { grid-template-columns:1fr; padding-top:70px; }
  .journey .service-row { grid-template-columns:56px 1fr; }
  .journey .row-body { grid-column:2; }
  .way-block { grid-template-columns:1fr; padding:46px 0; }
  .way-block:nth-of-type(even) .way-media { order:0; }
  .way-other { grid-template-columns:1fr; }
}

@media (max-width: 560px) {
  .hero-v2 { min-height: 780px; }
  .hero-v2 .hero-copy { bottom:44px; gap:16px; }
  .hero-statement { font-size: clamp(34px, 10.4vw, 46px); letter-spacing:-.045em; }
  .hero-sub { font-size:15px; }
  .block-heading { margin-bottom:26px; }
  .block-heading h2 { font-size:clamp(40px,12vw,54px); }
  .ventures { padding-top:20px; }
  .venture-tag { font-size:9px; margin-bottom:11px; }
  .venture-facts { margin-top:14px; gap:6px; }
  .venture-facts span { padding:6px 9px; font-size:8px; }
  .logo-grid.logo-flex { gap:7px 5px; }
  .logo-flex .client-logo { flex-basis:calc((100% - 25px) / 6); }
  .ways { padding-bottom:80px; }
  .venture-hero h1 { font-size:clamp(52px,16vw,76px); margin:18px 0 20px; }
  .venture-hero .lede { font-size:16px; }
  .stat-row strong { font-size:38px; }
  .split-copy p { font-size:15.5px; }
  .journey { padding:44px 0 80px; }
  .journey .service-row { grid-template-columns:34px 1fr; }
  .tool-tag { font-size:8.5px; }
  .phone-band { border-radius:20px; }
  .phone-row figcaption small { display:none; }
  .venture-pointer { margin-top:-10px; margin-bottom:46px; }
  .case-more-grid.three { grid-template-columns:1fr 1fr 1fr; }
  .case-more-grid.three .case-more-card span { font-size:11px; left:9px; right:9px; bottom:9px; }
  .way-list li { display:block; }
  .way-list li b { display:block; margin-bottom:3px; }
  .ways-page { padding-bottom:76px; }
  .way-other { padding:30px 22px; }
  .venture-close { padding-bottom:86px; }
}

@media (max-width: 620px) {
  #about .founder-role { margin:9px 0 0; font-size:8px; letter-spacing:.12em; }
}

/* Hero: both halves of the statement at the same weight */
.hero-statement { font-size: clamp(40px, 4.75vw, 74px); line-height:.95; max-width:1180px; }
.hero-statement span { display:block; text-wrap:balance; }
.hero-statement .hero-turn { color: var(--accent); margin-top:.12em; }
@media (max-width: 560px) {
  .hero-v2 { min-height: 800px; }
  .hero-statement { font-size: clamp(30px, 9.2vw, 40px); }
}
