:root {
  --ink: #f2efe9;
  --muted: #a8a49d;
  --dim: #6e6a63;
  --line: rgba(242, 239, 233, 0.16);
  --paper: #0a0a0a;
  --panel: #111110;
  --acid: #d7ff3f;
  --orange: #ff5c35;
  --blue: #6a7cff;
  --shell: min(1240px, calc(100% - 64px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Manrope", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { color: var(--paper); background: var(--acid); }
.section-shell { width: var(--shell); margin-inline: auto; }
.grain {
  position: fixed; inset: 0; pointer-events: none; z-index: 20; opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

.site-header {
  position: absolute; z-index: 10; top: 0; left: 50%; transform: translateX(-50%);
  width: var(--shell); height: 92px; display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid var(--line); font-size: 13px;
}
.wordmark { font: 500 15px/1 "DM Mono", monospace; letter-spacing: -.045em; }
.wordmark span { color: var(--acid); }
nav { display: flex; gap: 34px; color: var(--muted); }
nav a, .header-cta { transition: color .25s ease; }
nav a:hover, nav a:focus-visible, .header-cta:hover { color: var(--acid); }
.header-cta { border-bottom: 1px solid var(--dim); padding-bottom: 4px; }

.hero { min-height: 92vh; padding-top: 150px; display: flex; flex-direction: column; justify-content: center; }
.hero-kicker, .section-index, .eyebrow { font: 400 11px/1.4 "DM Mono", monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.hero-kicker { display: flex; align-items: center; gap: 10px; margin-bottom: clamp(34px, 5vw, 70px); }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 16px var(--acid); animation: pulse 2.4s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .35; } }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(54px, 8.7vw, 126px); line-height: .87; letter-spacing: -.065em; font-weight: 500; margin-bottom: 50px; max-width: 1120px; }
h1 em, .contact h2 em { font-family: Georgia, serif; font-weight: 400; color: var(--acid); }
.hero-lower { display: flex; align-items: flex-end; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 22px; }
.hero-lower > p { color: var(--muted); max-width: 560px; font-size: clamp(16px, 2vw, 22px); line-height: 1.5; margin: 0; }
.circle-link { width: 104px; height: 104px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-content: center; text-align: center; gap: 8px; font: 400 10px "DM Mono", monospace; text-transform: uppercase; transition: background .3s, color .3s, transform .3s; }
.circle-link svg { width: 16px; margin: 0 auto; fill: currentColor; }
.circle-link:hover { background: var(--acid); color: var(--paper); transform: scale(1.05); }
.hero-meta { margin-top: 54px; padding: 18px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); color: var(--dim); font: 300 11px "DM Mono", monospace; text-transform: uppercase; }
.hero-meta span:not(:first-child) { text-align: right; }

.showreel { padding-top: 80px; }
.video-frame { display: block; position: relative; overflow: hidden; background: #171715; }
.hero-reel { aspect-ratio: 16 / 8.5; }
.visual { position: absolute; inset: 0; overflow: hidden; transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .7s; }
.video-frame:hover .visual { transform: scale(1.025); filter: brightness(.75); }
.visual-main { background: radial-gradient(circle at 66% 35%, rgba(215,255,63,.18), transparent 27%), linear-gradient(130deg, #151912 0%, #080908 58%, #222018 100%); }
.reel-thumb { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.76) contrast(1.05) brightness(.72); }
.visual-main .reel-thumb { object-position:center; opacity:.82; }
.frame-lines { position: absolute; inset: 8%; border: 1px solid rgba(255,255,255,.12); }
.frame-lines:before, .frame-lines:after { content:""; position:absolute; background:rgba(255,255,255,.08); }
.frame-lines:before { width:1px; top:0; bottom:0; left:50%; }.frame-lines:after { height:1px; left:0; right:0; top:50%; }
.timecode { position: absolute; left: 3%; top: 5%; font: 300 11px "DM Mono"; color: var(--muted); }
.monogram { position: absolute; right: 8%; top: 15%; font: 500 clamp(42px, 8vw, 116px)/.78 "Manrope"; letter-spacing: -.08em; text-align: right; color: rgba(242,239,233,.95); mix-blend-mode: screen; }
.orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(215,255,63,.35); }
.orbit-one { width: 48%; aspect-ratio: 1; left: -11%; bottom: -40%; }.orbit-two { width: 28%; aspect-ratio: 1; left: 8%; bottom: -7%; border-color: rgba(255,92,53,.35); }
.play-button { position: absolute; z-index: 2; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 86px; height: 86px; display: grid; place-items: center; border-radius: 50%; background: var(--acid); color: #090909; font-size: 18px; transition: transform .3s; }
.video-frame:hover .play-button { transform: translate(-50%,-50%) scale(1.08); }
.video-caption { position: absolute; inset: auto 0 0; z-index: 2; display: flex; align-items: flex-end; justify-content: space-between; padding: 30px; background: linear-gradient(transparent, rgba(0,0,0,.84)); }
.video-caption h2 { font-size: clamp(23px,3vw,42px); line-height: 1; letter-spacing: -.04em; margin: 8px 0 0; }
.duration { color: var(--muted); font: 300 10px "DM Mono"; text-transform: uppercase; letter-spacing:.08em; }

.statement { padding: 170px 0 180px; display: grid; grid-template-columns: 1fr 3fr; gap: 50px; }
.statement p { font-size: clamp(34px, 5.1vw, 72px); line-height: 1.08; letter-spacing: -.05em; max-width: 980px; margin: 0; }
.statement p em { font-family: Georgia, serif; color: var(--acid); font-weight: 400; }

.work, .capabilities, .process { padding: 120px 0; border-top: 1px solid var(--line); }
.section-heading { display: grid; grid-template-columns: 2fr 1fr; gap: 50px; align-items: end; margin-bottom: 74px; }
.section-heading h2 { font-size: clamp(42px, 6vw, 84px); line-height: .98; letter-spacing: -.055em; font-weight: 500; margin: 24px 0 0; }
.section-heading > p { color: var(--muted); margin: 0; max-width: 420px; }
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
.card-frame { aspect-ratio:9 / 16; }
.play-button.small { width: 58px; height: 58px; font-size: 12px; }
.visual-one { background: linear-gradient(145deg, #d7ff3f 0 30%, #191b15 30%); }.visual-two { background: linear-gradient(140deg, #16141f, #302d58); }.visual-three { background: linear-gradient(110deg, #24120d, #090909 50%, #33251e); }
.visual > span { position: absolute; left: 24px; top: 20px; font: 400 11px "DM Mono"; color: rgba(255,255,255,.55); }
.ui-window { position: absolute; width: 58%; height: 57%; right: 10%; top: 20%; background: rgba(10,10,10,.82); border: 1px solid rgba(255,255,255,.18); padding: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ui-window i { width: 6px; height: 6px; border-radius: 50%; background: var(--acid); display: inline-block; }.ui-window b { display:block; border:1px solid rgba(255,255,255,.13); }.ui-window b:last-child { background: linear-gradient(135deg,transparent 50%,rgba(215,255,63,.2)); }
.sound-wave { position:absolute; left:8%; right:8%; top:44%; height:18%; display:flex; align-items:center; justify-content:center; color:var(--blue); font:500 clamp(24px,4vw,62px)/.5 "DM Mono"; letter-spacing:-.25em; transform:skew(-8deg); overflow:hidden; }
.kinetic-type { position:absolute; right:6%; top:10%; font:600 clamp(40px,7.6vw,108px)/.72 "Manrope"; letter-spacing:-.09em; text-align:right; color:var(--orange); }
.project-copy { padding-top: 20px; border-top: 1px solid var(--line); }
.project-copy h3 { font-size: clamp(22px,2vw,30px); letter-spacing: -.035em; margin: 13px 0 10px; }
.project-copy p { color: var(--muted); max-width: 520px; margin:0; font-size:14px; }

.more-work { padding: 120px 0 160px; border-top:1px solid var(--line); }
.archive-heading { display:grid; grid-template-columns:2fr 1fr; gap:50px; align-items:end; margin-bottom:52px; }
.archive-heading h2 { font-size:clamp(42px,6vw,84px); line-height:.98; letter-spacing:-.055em; font-weight:500; margin:24px 0 0; }
.archive-heading p { margin:0; color:var(--muted); max-width:420px; }
.archive-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.archive-card { position:relative; display:block; aspect-ratio:9/12; overflow:hidden; background:#171715; border:1px solid rgba(255,255,255,.07); }
.archive-card img { width:100%; height:100%; object-fit:cover; filter:saturate(.76) contrast(1.06) brightness(.7); transition:transform .55s ease, filter .55s ease; }
.archive-card:hover img { transform:scale(1.04); filter:saturate(1) contrast(1.04) brightness(.82); }
.archive-card span { position:absolute; z-index:2; left:0; right:0; bottom:0; padding:18px; display:flex; align-items:center; justify-content:space-between; color:var(--ink); background:linear-gradient(transparent,rgba(0,0,0,.9)); font:400 10px "DM Mono"; text-transform:uppercase; letter-spacing:.06em; }
.archive-card span b { font-weight:400; color:var(--acid); }
.archive-card.instagram:before { content:"IG"; position:absolute; right:-4%; top:1%; font:500 clamp(74px,9vw,140px)/1 "Manrope"; letter-spacing:-.12em; color:rgba(255,255,255,.08); transition:transform .5s ease; }
.archive-card.instagram:after { content:"PLAY ↗"; position:absolute; top:18px; left:18px; font:400 9px "DM Mono"; letter-spacing:.12em; color:rgba(255,255,255,.65); }
.archive-card.instagram:hover:before { transform:translate(-5%,5%) scale(1.06); }
.tone-a { background:linear-gradient(145deg,#25221d,#10100f 55%,#333d13); }.tone-b { background:linear-gradient(145deg,#151423,#111 52%,#3a2249); }.tone-c { background:linear-gradient(145deg,#291712,#0c0c0c 58%,#4a1d10); }.tone-d { background:linear-gradient(145deg,#122124,#0c0d0d 58%,#163d3c); }

.video-collections { padding:130px 0 160px; border-top:1px solid var(--line); }
.collection-row { display:grid; grid-template-columns:minmax(190px,.72fr) minmax(0,2.28fr); gap:clamp(32px,5vw,82px); padding:34px 0 70px; border-top:1px solid var(--line); }
.collection-meta { display:flex; flex-direction:column; align-items:flex-start; }
.collection-meta>span { color:var(--acid); font:400 10px "DM Mono"; letter-spacing:.08em; }
.collection-meta h3 { margin:24px 0 15px; font-size:clamp(24px,2.7vw,38px); line-height:1; letter-spacing:-.045em; font-weight:500; }
.collection-meta p { color:var(--muted); margin:0; max-width:270px; font-size:13px; }
.collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 14px; align-items:start; }
.collection-card { min-width:0; }
.collection-card>div { position:relative; aspect-ratio:16/9; overflow:hidden; background:#171715; }
.collection-card img { width:100%; height:100%; object-fit:cover; filter:saturate(.7) contrast(1.06) brightness(.72); transition:transform .55s ease,filter .55s ease; }
.collection-card i { position:absolute; right:12px; top:12px; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--acid); color:#090909; font:400 13px "DM Mono"; font-style:normal; transform:translateY(-4px); opacity:0; transition:opacity .3s,transform .3s; }
.collection-card>span { display:block; margin-top:13px; color:var(--muted); font-size:13px; line-height:1.35; transition:color .25s; }
.collection-card:hover img { transform:scale(1.035); filter:saturate(.95) contrast(1.04) brightness(.84); }
.collection-card:hover i { opacity:1; transform:none; }
.collection-card:hover>span { color:var(--ink); }

.case-study { padding-top:140px; padding-bottom:150px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr); gap:clamp(38px,6vw,90px); align-items:end; border-top:1px solid var(--line); }
.case-study-visual { position:relative; min-height:clamp(430px,52vw,720px); overflow:hidden; background:#161613; }
.case-study-visual img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; filter:saturate(.84) contrast(1.05) brightness(.78); transition:transform .8s ease,filter .5s ease; }
.case-study-visual:hover img { transform:scale(1.025); filter:saturate(1) contrast(1.03) brightness(.86); }
.case-study-play { position:absolute; left:28px; bottom:28px; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:34px; min-width:190px; padding:14px 15px 14px 18px; background:var(--acid); color:#090909; font:500 10px "DM Mono"; text-transform:uppercase; letter-spacing:.08em; }
.case-study-play b { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#090909; color:var(--acid); font-size:10px; }
.case-study-copy h2 { margin:24px 0 28px; font-size:clamp(46px,6vw,86px); line-height:.92; letter-spacing:-.06em; font-weight:500; }
.case-study-copy>p { color:var(--muted); font-size:clamp(17px,2vw,24px); line-height:1.45; letter-spacing:-.025em; margin:0 0 42px; }
.case-study-roles { display:flex; flex-wrap:wrap; gap:9px; }
.case-study-roles span { padding:9px 11px; border:1px solid var(--line); color:var(--muted); font:400 9px "DM Mono"; text-transform:uppercase; letter-spacing:.06em; }
.case-study-links { margin-top:44px; display:flex; flex-wrap:wrap; gap:28px; }
.case-study-links a { padding-bottom:7px; border-bottom:1px solid var(--ink); font:400 11px "DM Mono"; text-transform:uppercase; letter-spacing:.06em; transition:color .25s,border-color .25s; }
.case-study-links a:hover { color:var(--acid); border-color:var(--acid); }

.photography { padding:140px 0 160px; border-top:1px solid var(--line); }
.photo-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(28px,4vw,64px) 18px; align-items:start; }
.photo-card { margin:0; min-width:0; }
.photo-city { grid-column:1 / span 7; }
.photo-river { grid-column:8 / -1; padding-top:clamp(40px,8vw,110px); }
.photo-forest { grid-column:1 / span 5; }
.photo-village { grid-column:6 / -1; padding-top:clamp(30px,6vw,80px); }
.photo-market { grid-column:1 / span 4; }
.photo-mountain { grid-column:5 / -1; padding-top:clamp(46px,8vw,120px); }
.photo-detail { grid-column:1 / span 6; }
.photo-coast { grid-column:7 / -1; padding-top:clamp(34px,6vw,86px); }
.photo-frame { position:relative; overflow:hidden; aspect-ratio:4/3; background:#151513; }
.photo-city .photo-frame { aspect-ratio:16/10; }
.photo-river .photo-frame { aspect-ratio:4/3; }
.photo-forest .photo-frame { aspect-ratio:5/4; }
.photo-village .photo-frame { aspect-ratio:16/10; }
.photo-market .photo-frame { aspect-ratio:4/5; }
.photo-mountain .photo-frame { aspect-ratio:16/10; }
.photo-detail .photo-frame { aspect-ratio:4/3; }
.photo-coast .photo-frame { aspect-ratio:16/10; }
.photo-frame img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.06) brightness(.78); transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .6s ease; }
.photo-card:hover img { transform:scale(1.025); filter:saturate(.98) contrast(1.04) brightness(.9); }
.photo-card figcaption { display:flex; justify-content:space-between; gap:18px; padding-top:13px; border-top:1px solid var(--line); margin-top:13px; font:400 10px "DM Mono"; text-transform:uppercase; letter-spacing:.07em; }
.photo-card figcaption span { color:var(--dim); }
.photo-card figcaption b { font-weight:400; color:var(--muted); text-align:right; }

.manifesto { padding:150px 0 170px; border-top:1px solid var(--line); }
.manifesto-intro { display:grid; grid-template-columns:.72fr 2.28fr; column-gap:clamp(32px,5vw,82px); align-items:start; }
.manifesto-intro h2 { grid-column:2; margin:0; max-width:930px; font-size:clamp(56px,8vw,112px); line-height:.88; letter-spacing:-.065em; font-weight:500; }
.manifesto-intro h2 em { font-family:Georgia,serif; font-weight:400; color:var(--acid); }
.manifesto-lead { grid-column:2; margin:58px 0 0; max-width:760px; font-size:clamp(25px,3.4vw,48px); line-height:1.15; letter-spacing:-.045em; }
.manifesto-body { width:min(760px,66%); margin:100px 0 100px auto; display:grid; grid-template-columns:1fr 1fr; gap:34px 48px; color:var(--muted); }
.manifesto-body p { margin:0; font-size:15px; line-height:1.75; }
.manifesto-body p:first-child { grid-column:1 / -1; color:var(--ink); font-size:clamp(19px,2vw,26px); line-height:1.55; letter-spacing:-.025em; }
.manifesto-close { margin:0; padding:clamp(34px,6vw,74px); background:var(--acid); color:#090909; display:grid; grid-template-columns:.72fr 2.28fr; gap:clamp(28px,5vw,80px); }
.manifesto-close span { font:500 10px "DM Mono"; text-transform:uppercase; letter-spacing:.1em; }
.manifesto-close p { margin:0; max-width:850px; font-size:clamp(25px,3.6vw,50px); line-height:1.12; letter-spacing:-.045em; }

.capability-list { border-top: 1px solid var(--line); }
.capability { display:grid; grid-template-columns: .35fr 1.2fr 1fr; gap:30px; padding:30px 0; border-bottom:1px solid var(--line); align-items:center; }
.capability > span { font:300 11px "DM Mono"; color:var(--dim); }.capability h3 { margin:0; font-size:clamp(24px,3vw,38px); letter-spacing:-.04em; font-weight:500; }.capability p { margin:0; color:var(--muted); font-size:14px; max-width:390px; }
.experience { margin-top: 80px; margin-bottom: 160px; background: var(--acid); color: #0a0a0a; min-height: 430px; padding: clamp(34px,6vw,76px); display: grid; grid-template-columns: 1.25fr 1fr; align-items:end; gap:50px; }
.experience-stats { display:grid; grid-template-columns:.72fr 1fr; gap:clamp(24px,4vw,60px); align-items:end; }
.stat-block { min-width:0; }.stat-block>span { display:block; margin-top:28px; font:500 10px "DM Mono"; text-transform:uppercase; letter-spacing:.1em; }
.big-number { font-size:clamp(100px,15vw,210px); line-height:.68; letter-spacing:-.1em; font-weight:600; white-space:nowrap; }.big-number.compact { font-size:clamp(88px,12vw,170px); }.big-number span { font-size:.32em; vertical-align:top; }
.experience-copy .section-index { color:#4c541d; }.experience-copy p { font-size:clamp(20px,2.5vw,34px); line-height:1.25; letter-spacing:-.035em; margin:26px 0 48px; }
.tool-row { display:flex; gap:10px; flex-wrap:wrap; }.tool-row span { border:1px solid rgba(0,0,0,.3); padding:8px 11px; font:400 9px "DM Mono"; text-transform:uppercase; }
.footprint { padding:120px 0 160px; border-top:1px solid var(--line); }
.footprint-heading { display:grid; grid-template-columns:2fr 1fr; align-items:end; gap:50px; margin-bottom:70px; }
.footprint-heading h2 { font-size:clamp(42px,6vw,84px); line-height:.98; letter-spacing:-.055em; font-weight:500; margin:24px 0 0; }
.footprint-heading p { color:var(--muted); max-width:420px; margin:0; }
.location-grid { display:grid; grid-template-columns:repeat(7,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.location { min-height:170px; padding:20px 16px; border-right:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; }
.location:last-child { border-right:0; }.location span { font:300 10px "DM Mono"; color:var(--dim); }.location strong { font-size:clamp(14px,1.4vw,20px); letter-spacing:-.035em; font-weight:500; }
.process-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.process-list li { min-height:270px; border-right:1px solid var(--line); padding:24px; display:flex; flex-direction:column; justify-content:space-between; }.process-list li:last-child{border-right:0}.process-list li>span{font:300 11px "DM Mono";color:var(--dim)}.process-list h3{font-size:27px;letter-spacing:-.04em;margin-bottom:9px}.process-list p{color:var(--muted);font-size:13px;margin:0}

.contact { padding: 150px 0 80px; border-top: 1px solid var(--line); }
.contact-top { display:flex; justify-content:space-between; color:var(--muted); font-size:13px; }
.contact h2 { font-size:clamp(58px,11vw,150px); line-height:.84; letter-spacing:-.075em; font-weight:500; margin:100px 0 90px; }
.contact-bottom { display:flex; justify-content:space-between; align-items:flex-end; border-top:1px solid var(--line); padding-top:28px; }.contact-bottom p{color:var(--muted);max-width:360px;margin:0}.email-link{font-size:clamp(20px,3vw,40px);letter-spacing:-.04em;border-bottom:1px solid var(--ink);padding-bottom:6px;transition:color .25s,border-color .25s}.email-link:hover{color:var(--acid);border-color:var(--acid)}
.site-footer { height:100px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; color:var(--dim); font:300 10px "DM Mono"; text-transform:uppercase; }.site-footer span:nth-child(2){text-align:center}.site-footer a{text-align:right;color:var(--muted)}

.reveal { opacity:0; transform:translateY(24px); transition:opacity .75s ease, transform .75s cubic-bezier(.2,.75,.25,1); }
.reveal.visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.status-dot{animation:none}.visual,.play-button{transition:none} }

@media (max-width: 800px) {
  :root { --shell: calc(100% - 36px); }
  .site-header { height:72px; }.site-header nav{display:none}.header-cta{font-size:12px}
  .hero { min-height:auto; padding-top:130px; padding-bottom:40px; }.hero-lower{align-items:flex-start}.circle-link{width:80px;height:80px;flex:none}.hero-meta{grid-template-columns:1fr 1fr;gap:14px}.hero-meta span:not(:first-child){text-align:left}
  .showreel{padding-top:36px}.hero-reel{aspect-ratio:4/3}.monogram{top:18%;right:8%;font-size:12vw}.video-caption{padding:18px}.duration{display:none}.play-button{width:64px;height:64px}
  .statement{padding:110px 0;grid-template-columns:1fr;gap:32px}
  .work,.capabilities,.process,.more-work,.footprint,.photography,.video-collections,.manifesto{padding:88px 0}.section-heading,.archive-heading,.footprint-heading{grid-template-columns:1fr;gap:30px;margin-bottom:50px}
  .project-grid{grid-template-columns:repeat(3,minmax(240px,1fr));gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px}.project-card{scroll-snap-align:start}.card-frame{aspect-ratio:9/16}
  .archive-grid{grid-template-columns:repeat(2,1fr);gap:12px}.archive-card{aspect-ratio:9/11}
  .collection-row{grid-template-columns:1fr;gap:34px;padding-bottom:58px}.collection-meta p{max-width:520px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-study{padding-top:90px;padding-bottom:100px;grid-template-columns:1fr;gap:42px}.case-study-visual{min-height:0;aspect-ratio:4/3}.case-study-copy>p{max-width:600px}
  .photo-grid{grid-template-columns:1fr 1fr;gap:48px 12px}.photo-city,.photo-river,.photo-forest,.photo-village,.photo-market,.photo-mountain,.photo-detail,.photo-coast{grid-column:auto;padding-top:0}.photo-city{grid-column:1 / -1}.photo-city .photo-frame{aspect-ratio:16/10}.photo-frame,.photo-river .photo-frame,.photo-forest .photo-frame,.photo-village .photo-frame,.photo-mountain .photo-frame,.photo-detail .photo-frame,.photo-coast .photo-frame{aspect-ratio:4/3}.photo-market .photo-frame{aspect-ratio:4/5}
  .manifesto-intro{grid-template-columns:1fr;gap:34px}.manifesto-intro h2,.manifesto-lead{grid-column:1}.manifesto-lead{margin-top:20px}.manifesto-body{width:100%;margin:70px 0;}.manifesto-close{grid-template-columns:1fr;gap:32px}
  .capability{grid-template-columns:45px 1fr}.capability p{grid-column:2}
  .experience{margin-top:30px;margin-bottom:100px;grid-template-columns:1fr;min-height:0}.experience-stats{grid-template-columns:1fr 1.15fr;margin-bottom:70px}.big-number{font-size:23vw}.big-number.compact{font-size:20vw}.stat-block>span{margin-top:20px}
  .location-grid{grid-template-columns:repeat(2,1fr)}.location{min-height:130px;border-bottom:1px solid var(--line)}.location:nth-child(2n){border-right:0}.location:last-child{border-bottom:0}
  .process-list{grid-template-columns:1fr 1fr}.process-list li:nth-child(2){border-right:0}.process-list li{min-height:220px;border-bottom:1px solid var(--line)}
  .contact{padding-top:100px}.contact-top,.contact-bottom{align-items:flex-start;flex-direction:column;gap:26px}.contact h2{margin:70px 0}.email-link{font-size:22px}
  .site-footer{grid-template-columns:1fr auto}.site-footer span:nth-child(2){display:none}
}

@media (max-width: 440px) {
  h1{font-size:15.2vw}.hero-lower{display:block}.circle-link{margin-top:30px}.hero-meta{margin-top:34px}.statement p{font-size:31px}.process-list{grid-template-columns:1fr}.process-list li{border-right:0;min-height:170px}.contact h2{font-size:17vw}.email-link{font-size:17px}
  .archive-card span{padding:12px;font-size:8px}.archive-card.instagram:after{top:12px;left:12px}
  .collection-grid{grid-template-columns:1fr}.collection-card>span{font-size:12px}
  .photo-grid{grid-template-columns:1fr;gap:44px}.photo-city{grid-column:auto}.photo-card figcaption{font-size:9px}
  .manifesto-body{grid-template-columns:1fr;gap:28px}.manifesto-body p:first-child{grid-column:auto}.manifesto-close{padding:28px}
  .case-study-visual{aspect-ratio:3/4}.case-study-play{left:16px;bottom:16px;min-width:170px}.case-study-copy h2{font-size:15vw}
  .experience-stats{grid-template-columns:1fr;gap:52px}.big-number,.big-number.compact{font-size:36vw}
}
