@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&family=DM+Serif+Display:ital@0;1&display=swap');

:root{
  --ink:#11110f;
  --paper:#f0eee7;
  --chalk:#faf8f2;
  --signal:#ff5a36;
  --muted:#7d7b74;
  --line:rgba(17,17,15,.2);
  --line-light:rgba(250,248,242,.28);
  --sans:'DM Sans',Arial,sans-serif;
  --serif:'DM Serif Display',Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:300 17px/1.55 var(--sans);overflow-x:hidden}
img,video{display:block;width:100%}
a{color:inherit;text-decoration:none}
figure,p,h1,h2{margin:0}
.eyebrow{font:600 10px/1.2 var(--sans);letter-spacing:.19em;text-transform:uppercase}
.button{display:inline-flex;min-height:48px;align-items:center;border:1px solid currentColor;padding:0 20px;font:600 10px var(--sans);letter-spacing:.16em;text-transform:uppercase;transition:background .2s,color .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.button.light{background:var(--chalk);color:var(--ink);border-color:var(--chalk)}
.button.light:hover{background:var(--signal);border-color:var(--signal)}
.text-link{font:600 10px var(--sans);letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:5px}

.site-header{height:88px;display:flex;align-items:center;gap:32px;padding:0 3.5%;position:absolute;z-index:50;inset:0 0 auto;color:var(--chalk);border-bottom:1px solid var(--line-light)}
.site-logo{width:154px;flex:none}
.site-logo img,.footer-logo img{filter:invert(1)}
.site-header nav{display:flex;gap:30px;margin-left:auto}
.site-header nav a,.menu-contact,.header-cta{font:600 10px/1 var(--sans);letter-spacing:.15em;text-transform:uppercase}
.site-header nav a{padding:38px 0 35px;transition:opacity .2s}
.site-header nav a:hover,.site-header nav a[aria-current=page]{opacity:.52}
.header-cta{height:44px;display:flex;align-items:center;gap:22px;border:1px solid var(--chalk);padding:0 14px 0 18px;transition:background .2s,color .2s}
.header-cta:hover{background:var(--chalk);color:var(--ink)}
.menu-contact{display:none}

.creative-hero{min-height:100svh;position:relative;overflow:hidden;background:#171612;color:var(--chalk)}
.hero-slides,.hero-shade{position:absolute;inset:0}
.hero-slides img{width:100%;height:100%;object-fit:cover;object-position:center 54%;filter:saturate(.82) contrast(1.03)}
.hero-shade{background:linear-gradient(90deg,rgba(10,10,8,.7) 0%,rgba(10,10,8,.25) 55%,rgba(10,10,8,.08) 100%),linear-gradient(0deg,rgba(10,10,8,.48),transparent 48%)}
.creative-lockup{position:relative;z-index:2;min-height:100svh;padding:150px 4% 62px;display:flex;flex-direction:column;justify-content:flex-end}
.creative-lockup>.eyebrow{margin-bottom:auto;padding-top:4vh}
.creative-lockup h1{font:400 clamp(64px,10vw,158px)/.81 var(--serif);letter-spacing:-.055em;max-width:1180px}
.creative-lockup h1 span{display:block}
.creative-lockup h1 span:nth-child(2){font-style:italic;margin-left:12vw;color:#e9cabb}
.hero-bottom{display:grid;grid-template-columns:minmax(260px,440px) auto;align-items:end;gap:60px;margin:42px 0 0 42%}
.hero-intro{font-size:clamp(16px,1.35vw,20px);line-height:1.45}
.actions{display:flex;align-items:center;gap:28px}
.scroll-cue{position:absolute;z-index:3;right:4%;bottom:34px;font:600 9px var(--sans);letter-spacing:.16em;text-transform:uppercase;display:flex;gap:14px}
.scroll-cue span{color:var(--signal)}
.signal-strip{overflow:hidden;background:var(--signal);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:19px 0}
.signal-strip>div{display:flex;align-items:center;gap:28px;white-space:nowrap;font:400 clamp(23px,2.7vw,43px)/1 var(--sans);letter-spacing:-.04em;text-transform:uppercase;animation:ticker 18s linear infinite}
.signal-strip i{font-size:11px;font-style:normal}
@keyframes ticker{to{transform:translateX(-35%)}}

.manifesto{padding:clamp(95px,13vw,190px) 4%;border-bottom:1px solid var(--line)}
.manifesto>.eyebrow{color:var(--signal);margin-bottom:35px}
.manifesto>p:last-child{max-width:1180px;font:400 clamp(42px,6.6vw,103px)/1.01 var(--serif);letter-spacing:-.038em;text-wrap:balance}
.home-capabilities{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:9vw;padding:clamp(80px,10vw,150px) 4%;background:var(--ink);color:var(--chalk)}
.capability-heading{position:sticky;top:45px;align-self:start}
.capability-heading .eyebrow{color:var(--signal);margin-bottom:28px}
.capability-heading h2,.section-title h2,.crosslink h2,.final-cta h2,.inline-cta h2{font:400 clamp(45px,6vw,92px)/.98 var(--serif);letter-spacing:-.035em}
.capability-heading>p:last-child{max-width:520px;margin-top:28px;color:#b8b5ad;font-size:18px}
.capability-links{border-top:1px solid var(--line-light)}
.capability-links a{display:grid;grid-template-columns:58px minmax(150px,.8fr) minmax(190px,1fr) 25px;gap:20px;align-items:start;padding:35px 0;border-bottom:1px solid var(--line-light);transition:color .2s,padding .2s}
.capability-links a:hover{color:var(--signal);padding-left:8px}
.capability-links .capability-number{font-size:11px;color:var(--signal)}
.capability-links strong{font:400 clamp(24px,2.1vw,33px)/1.05 var(--serif)}
.capability-links span:not(.capability-number){color:#b8b5ad;font-size:15px;line-height:1.45}
.capability-links b{font-weight:400}

.featured{padding:clamp(80px,10vw,150px) 4%}
.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:65px}
.section-title .eyebrow{color:var(--signal);margin-bottom:22px}
.round-link{width:110px;height:110px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:600 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;transition:background .2s,color .2s}
.round-link:hover{background:var(--ink);color:var(--chalk)}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7vw 2vw}
.project-card{display:block}
.project-card figure{overflow:hidden;background:#d3d0c8;aspect-ratio:4/5}
.project-card img,.project-card video{height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.25,1)}
.project-card:hover img,.project-card:hover video{transform:scale(1.035)}
.project-card span{display:flex;justify-content:space-between;gap:22px;align-items:baseline;border-bottom:1px solid var(--line);padding:17px 0}
.project-card strong{font:400 clamp(22px,2.3vw,35px)/1 var(--serif)}
.project-card em{font:600 9px var(--sans);letter-spacing:.12em;text-transform:uppercase;font-style:normal;color:var(--muted)}
.editorial-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
.editorial-grid .project-card:nth-child(1){grid-column:1/8}
.editorial-grid .project-card:nth-child(2){grid-column:9/13;margin-top:12vw}
.editorial-grid .project-card:nth-child(3){grid-column:1/5}
.editorial-grid .project-card:nth-child(4){grid-column:6/13;margin-top:9vw}
.editorial-grid .project-wide figure{aspect-ratio:16/10}
.editorial-grid .project-tall figure{aspect-ratio:3/4}

.sa-teaser{display:grid;grid-template-columns:1.15fr .85fr;min-height:720px;background:var(--signal);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.sa-teaser figure{min-height:620px;overflow:hidden}
.sa-teaser img,.sa-teaser video{height:100%;object-fit:cover;filter:saturate(.72)}
.sa-teaser>div{padding:8vw 5vw;display:flex;flex-direction:column;justify-content:center}
.sa-teaser h2{font:400 clamp(46px,5.5vw,84px)/.96 var(--serif);letter-spacing:-.04em;margin:24px 0 32px}
.sa-teaser p:not(.eyebrow){font-size:18px;max-width:510px;margin-bottom:36px}
.sa-teaser .button{align-self:flex-start}
.client-strip{padding:75px 4% 95px;background:var(--chalk)}
.client-strip>.eyebrow{color:var(--muted);margin-bottom:48px}
.client-strip>div{display:grid;grid-template-columns:repeat(6,1fr);gap:34px;align-items:center}
.client-strip figure{padding:12px}
.client-strip img{max-height:45px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}
.final-cta,.inline-cta{padding:clamp(95px,13vw,180px) 4%;background:var(--ink);color:var(--chalk);text-align:center}
.final-cta .eyebrow{color:var(--signal);margin-bottom:36px}
.final-cta h2,.inline-cta h2{margin:0 auto 48px;font-size:clamp(50px,7.5vw,120px)}
.final-cta h2 em{font-weight:400;color:#e9cabb}
.site-footer{display:grid;grid-template-columns:2.1fr repeat(3,1fr);gap:38px;padding:78px 4% 45px;background:var(--ink);color:var(--chalk);border-top:1px solid var(--line-light)}
.site-footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.site-footer .eyebrow{color:#8d8a82;margin-bottom:14px}
.site-footer p{color:#a9a69e;max-width:310px}
.footer-logo{width:178px;margin-bottom:14px}
.site-footer a:not(.footer-logo){font-size:14px}
.site-footer a:hover{color:var(--signal)}

/* Inner pages */
.page-hero{min-height:74vh;padding:190px 4% 100px;background:var(--ink);color:var(--chalk);display:flex;flex-direction:column;justify-content:flex-end;border-bottom:1px solid var(--line-light)}
.page-hero.compact{min-height:62vh}
.page-hero h1,.project-hero h1,.contact-details h1{font:400 clamp(60px,9vw,145px)/.88 var(--serif);letter-spacing:-.05em;margin:24px 0 30px;max-width:1200px}
.page-hero>p:not(.eyebrow){max-width:650px;color:#c4c1b9;font-size:20px}
.page-hero>.button{align-self:flex-start;margin-top:35px}
.work-index{padding:100px 4% 140px}
.work-index .card-grid{gap:70px 2vw}
.project-hero{min-height:78vh;padding:175px 4% 85px;background:var(--ink);color:var(--chalk);display:grid;grid-template-columns:1.5fr .7fr;gap:9vw;align-items:end}
.project-hero h1{margin-bottom:0}
.project-hero>div p{color:#bab7af}
.project-media{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--ink)}
.project-media figure{min-height:50vw;overflow:hidden;background:#222}
.project-media figure:nth-child(3n){grid-column:1/-1;min-height:65vw}
.project-media img,.project-media video{height:100%;object-fit:cover}
.project-links{display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}
.project-links>div{padding:75px 4vw;border-right:1px solid var(--line)}
.project-links h2{font:400 clamp(34px,4vw,62px)/1 var(--serif);margin:18px 0}
.project-links a{font:600 10px var(--sans);letter-spacing:.14em;text-transform:uppercase}
.service-list{padding:0 4%;background:var(--paper)}
.service-list>div{display:grid;grid-template-columns:70px minmax(250px,.75fr) minmax(300px,1fr);gap:4vw;padding:48px 0;border-bottom:1px solid var(--line)}
.service-list span{color:var(--signal);font-size:11px}
.service-list h2,.location-list h2{font:400 clamp(30px,3.2vw,50px)/1 var(--serif)}
.service-list p{max-width:650px;color:#5d5b56}
.production-images{display:grid;grid-template-columns:1.35fr .65fr;gap:2px;background:var(--ink)}
.production-images figure{min-height:55vw;overflow:hidden}
.production-images img,.production-images video{height:100%;object-fit:cover}
.crosslink{padding:100px 4%;background:var(--signal);display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}
.crosslink p:not(.eyebrow){max-width:590px;margin:28px 0}
.image-hero{display:grid;grid-template-columns:1fr 1fr;padding:0;position:relative;min-height:100vh}
.image-hero>figure{min-height:100vh;overflow:hidden}
.image-hero>figure img,.image-hero>figure video{height:100%;object-fit:cover}
.image-hero>div{padding:180px 6vw 90px;display:flex;flex-direction:column;justify-content:flex-end}
.image-hero h1{font-size:clamp(58px,7vw,105px)}
.image-hero>div>p:not(.eyebrow){max-width:520px;color:#c4c1b9}
.image-hero .button{align-self:flex-start;margin-top:35px}
.location-list{padding:40px 4% 100px}
.location-list>div{display:grid;grid-template-columns:.65fr 1fr;gap:7vw;padding:46px 0;border-bottom:1px solid var(--line)}
.location-list p{max-width:700px;color:#5d5b56}
.destination-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--ink)}
.destination-gallery figure{min-height:48vw;overflow:hidden}
.destination-gallery img,.destination-gallery video{height:100%;object-fit:cover}
.about-story{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;padding:120px 4%}
.about-story h2{font:400 clamp(38px,4.8vw,74px)/1.04 var(--serif);letter-spacing:-.035em}
.about-story p{margin-bottom:24px;color:#5d5b56}
.contact-page{display:grid;grid-template-columns:.9fr 1.1fr;min-height:100vh;background:var(--ink);color:var(--chalk)}
.contact-image figure{height:100%;min-height:100vh}
.contact-image img{height:100%;object-fit:cover;filter:saturate(.7)}
.contact-details{padding:150px 6vw 90px}
.contact-details h1{font-size:clamp(55px,7.5vw,112px)}
.contact-details>p:not(.eyebrow){color:#bdbab3;max-width:560px}
.contact-details h2{font:600 10px var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:30px 0 10px;color:var(--signal)}
.contact-details address{font-style:normal}
.contact-details>a{font-size:19px}
.enquiry-form{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;margin:38px 0 58px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field-wide,.form-notice,.enquiry-form>.button{grid-column:1/-1}
.form-field label{font:600 10px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#d6d2c9}
.form-field label span{color:#777;letter-spacing:0;text-transform:none}
.form-field input,.form-field select,.form-field textarea{width:100%;border:0;border-bottom:1px solid #575550;border-radius:0;background:transparent;color:var(--chalk);font:300 17px/1.5 var(--sans);padding:10px 0 12px;outline:none}
.form-field select option{background:var(--ink);color:var(--chalk)}
.form-field textarea{resize:vertical;min-height:145px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-bottom-color:var(--signal)}
.form-field input::placeholder,.form-field textarea::placeholder{color:#777}
.form-notice{max-width:620px;color:#8e8b84;font-size:13px}
.enquiry-form>.button{justify-self:start;background:var(--chalk);color:var(--ink);cursor:pointer}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-direct{display:flex;flex-direction:column;align-items:flex-start}
.enquiry-thanks{min-height:75vh}
.enquiry-thanks .actions{margin-top:32px}

@media(max-width:900px){
  .site-header{padding:0 24px;height:74px}.site-logo{width:132px}.site-header nav{gap:16px}.site-header nav a{font-size:9px}.header-cta{display:none}.menu-contact{display:block;border:1px solid var(--chalk);padding:12px}
  .creative-lockup{padding:130px 24px 70px}.creative-lockup>.eyebrow{padding-top:2vh}.hero-bottom{margin-left:18%;grid-template-columns:1fr;gap:26px}.scroll-cue{display:none}
  .home-capabilities{grid-template-columns:1fr;gap:65px}.capability-heading{position:static}.capability-links a{grid-template-columns:45px 1fr 1.1fr 20px}
  .editorial-grid{display:grid;grid-template-columns:1fr 1fr}.editorial-grid .project-card:nth-child(n){grid-column:auto;margin-top:0}.editorial-grid .project-wide figure,.editorial-grid .project-tall figure{aspect-ratio:4/5}
  .sa-teaser{grid-template-columns:1fr}.sa-teaser figure{min-height:70vw}.client-strip>div{grid-template-columns:repeat(3,1fr)}.site-footer{grid-template-columns:1.5fr 1fr 1fr}.site-footer>div:last-child{grid-column:2}
  .project-hero{grid-template-columns:1fr}.service-list>div{grid-template-columns:45px 1fr}.service-list p{grid-column:2}.image-hero{grid-template-columns:1fr}.image-hero>figure{min-height:62vw}.image-hero>div{padding:80px 4% 90px}.about-story{grid-template-columns:1fr}.contact-page{grid-template-columns:1fr}.contact-image figure{min-height:65vw;height:65vw}.contact-details{padding:90px 6vw}
}
@media(max-width:620px){
  body{font-size:16px;padding-bottom:54px}
  .site-header{height:70px;padding:0 18px}.site-logo{width:126px}.site-header nav{position:fixed;z-index:100;left:0;right:0;bottom:0;height:54px;background:var(--ink);display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #383733}.site-header nav a{display:grid;place-items:center;padding:0;font-size:8px;text-align:center}.site-header nav a:nth-child(3){line-height:1.2}.menu-contact{display:block;font-size:8px}.header-cta{display:flex;height:36px;padding:0 10px;font-size:8px;gap:8px}
  .creative-lockup{padding:115px 18px 55px}.creative-lockup>.eyebrow{margin-bottom:auto}.creative-lockup h1{font-size:clamp(58px,18vw,86px);line-height:.84}.creative-lockup h1 span:nth-child(2){margin-left:0}.hero-bottom{margin:35px 0 0;grid-template-columns:1fr}.actions{gap:18px;flex-wrap:wrap}.hero-slides img{object-position:57% center}.signal-strip>div{font-size:24px}
  .manifesto,.home-capabilities,.featured,.client-strip{padding-left:18px;padding-right:18px}.manifesto>p:last-child{font-size:42px}.home-capabilities{padding-top:85px;padding-bottom:90px}.capability-heading h2{font-size:48px}.capability-links a{grid-template-columns:36px 1fr 18px;gap:14px}.capability-links span:not(.capability-number){grid-column:2}.capability-links b{grid-column:3;grid-row:1}.section-title{align-items:center;margin-bottom:38px}.section-title h2{font-size:51px}.round-link{width:75px;height:75px;font-size:8px}
  .editorial-grid,.card-grid{grid-template-columns:1fr;gap:55px}.editorial-grid .project-card:nth-child(n){grid-column:1}.project-card figure,.editorial-grid .project-wide figure,.editorial-grid .project-tall figure{aspect-ratio:4/5}.project-card span{display:block}.project-card em{display:block;margin-top:8px}.project-card strong{font-size:28px}
  .sa-teaser figure{min-height:88vw}.sa-teaser>div{padding:75px 18px}.sa-teaser h2{font-size:50px}.client-strip>div{grid-template-columns:repeat(2,1fr);gap:24px}.final-cta,.inline-cta{padding:95px 18px}.final-cta h2,.inline-cta h2{font-size:51px}.site-footer{grid-template-columns:1fr 1fr;padding:58px 18px 38px}.footer-brand{grid-column:1/-1}.site-footer>div:last-child{grid-column:auto}
  .page-hero{padding:140px 18px 75px}.page-hero h1,.project-hero h1,.contact-details h1{font-size:54px}.page-hero>p:not(.eyebrow){font-size:17px}.work-index{padding:75px 18px 100px}.project-hero{padding:145px 18px 70px}.project-media{grid-template-columns:1fr}.project-media figure,.project-media figure:nth-child(3n){grid-column:auto;min-height:125vw}.project-links{grid-template-columns:1fr}.project-links>div{border-bottom:1px solid var(--line)}.service-list{padding:0 18px}.service-list>div{grid-template-columns:35px 1fr;padding:36px 0}.production-images{grid-template-columns:1fr}.production-images figure{min-height:120vw}.crosslink{padding:75px 18px;grid-template-columns:1fr}.image-hero>figure{min-height:85vw}.image-hero>div{padding:75px 18px}.location-list{padding:30px 18px 75px}.location-list>div{grid-template-columns:1fr;gap:18px}.destination-gallery{grid-template-columns:1fr}.destination-gallery figure{min-height:110vw}.about-story{padding:85px 18px}.contact-details{padding:80px 18px}.enquiry-form{grid-template-columns:1fr}.form-field-wide,.form-notice,.enquiry-form>.button{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.signal-strip>div{animation:none}.project-card img,.project-card video,.button{transition:none}}
