@font-face{font-family:Mont;src:url('assets/montserrat-400.woff2');font-weight:400;font-display:swap}@font-face{font-family:Mont;src:url('assets/montserrat-700.woff2');font-weight:700;font-display:swap}@font-face{font-family:Mont;src:url('assets/montserrat-800.woff2');font-weight:800;font-display:swap}
:root{--cream:#f7f5e9;--pine:#183c33;--ink:#183c33;--text:#37564c;--line:rgba(24,60,51,.18);--accent:#e9158c;--radius:14px}
body.jki-current{font-family:Mont,Montserrat,Arial,sans-serif;font-weight:400;letter-spacing:0;line-height:1.6;background:var(--cream);color:var(--pine);padding-bottom:0}
.jki-current button,.jki-current input,.jki-current summary{font-family:inherit}
.jki-consultation{display:block;text-align:center;background:var(--pine);color:var(--cream);padding:9px 22px;font:400 12px/1.5 Mont,Arial,sans-serif;text-decoration:none;letter-spacing:.02em}.jki-consultation:hover{background:#255044}.jki-consultation span{white-space:nowrap;margin-left:8px}.jki-consultation:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.jki-nav{position:relative;z-index:40;display:flex;width:100%;max-width:none;align-items:center;justify-content:space-between;gap:26px;padding:25px 48px;margin:0;border:0;background:var(--cream);color:var(--pine)}
.jki-nav>a{flex:none}.jki-nav .logo{width:84px;height:auto;display:block}.jki-nav .nav-links{display:flex;flex-wrap:nowrap;gap:28px;align-items:center;font-size:13px;font-weight:700}.jki-nav a{text-decoration:none;color:inherit}.jki-nav .nav-dropdown{position:relative;margin:0}.jki-nav summary{cursor:pointer;list-style:none;margin:0;padding:10px 0;white-space:nowrap;font-size:inherit}.jki-nav summary::-webkit-details-marker{display:none}.jki-nav summary:after{content:'';display:inline-block;width:5px;height:5px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);margin:0 0 3px 9px}.jki-nav .nav-panel{position:absolute;right:0;top:100%;z-index:50;min-width:265px;padding:10px;background:var(--cream);border:1px solid var(--line);box-shadow:0 15px 30px #183c3320;border-radius:8px;display:grid;gap:2px}.jki-nav .nav-panel a{display:block;padding:10px 12px;font-size:12px;font-weight:400;border-radius:4px;line-height:1.5}.jki-nav .nav-panel a:first-child{font-weight:700}.jki-nav .nav-panel a:hover{background:#f9dce9}.jki-nav .button{display:inline-flex;align-items:center;gap:18px;border:1px solid var(--pine);border-radius:50px;padding:12px 20px;background:transparent;font-size:12px;font-weight:700}.jki-nav .button:hover{background:#f3b7d1}
.jki-current main,.jki-current.image-first main,.jki-current.service-page main,.jki-current.archive-page main{width:min(1440px,calc(100% - 80px));padding-top:0;margin-inline:auto}
.jki-current .home-return{width:min(1440px,calc(100% - 80px));padding:8px 0 22px;font-size:12px}
.jki-current h1,.jki-current h2,.jki-current h3{font-family:Mont,Montserrat,Arial,sans-serif}
.jki-current .service-hero h1,.jki-current .archive-intro h1,.jki-current .render-hero h1{font-size:clamp(34px,4.6vw,70px);font-weight:800;letter-spacing:-.035em;line-height:1.04}
.jki-current .service-page h2,.jki-current .archive-press-history h2{font-weight:400}
.jki-current .service-page,.jki-current .archive-body{color:var(--pine)}
.jki-current .service-hero{padding-top:24px}.jki-current .service-kicker,.jki-current .archive-kicker{font-size:12px;font-weight:400;letter-spacing:.03em}
.jki-current .service-intro>p:first-child,.jki-current .archive-lead{font-size:clamp(18px,1.7vw,24px);font-weight:400;line-height:1.55}
.jki-current .service-process,.jki-current .archive-moment{background:#151515;color:var(--cream)}
.jki-current .service-faq{background:#f4e4eb}.jki-current .action{font:400 14px/1.4 Mont,Arial,sans-serif;padding:10px 18px;min-height:44px}.jki-current .action:hover{background:var(--pine);color:var(--cream)}
.jki-current .project-summary,.jki-current .project-info-toggle{font-family:inherit;color:var(--pine)}
.jki-current .project-info-toggle{font-size:clamp(16px,1.6vw,22px);font-weight:400;line-height:1.4;padding-block:22px}
.jki-current .project-summary p,.jki-current .portfolio-bio{font-size:16px;line-height:1.7;font-weight:400}
.jki-current .project-crossnav{border-top:1px solid var(--line);padding-block:32px;margin-top:48px}.jki-current .project-crossnav span{font-size:12px;font-weight:400}
.jki-current .archive-brief-label,.jki-current .archive-col-label,.jki-current .archive-collabs-label,.jki-current .archive-deliverables-label,.jki-current .archive-credits-label,.jki-current .archive-related-label{font:400 14px/1.5 Mont,Arial,sans-serif}
.jki-current .jf{font-family:Mont,Arial,sans-serif}
@media(max-width:760px){.jki-current main,.jki-current.image-first main,.jki-current.service-page main,.jki-current.archive-page main,.jki-current .home-return{width:calc(100% - 36px)}.jki-current .home-return{padding-bottom:14px}.jki-nav{padding:18px;gap:16px}.jki-nav .logo{width:65px}.jki-nav .nav-links{gap:13px;font-size:10px}.jki-nav .button{font-size:10px;padding:9px 12px;gap:8px}.jki-nav .nav-panel{position:absolute;right:-70px;min-width:250px;max-width:calc(100vw - 36px);max-height:65vh;overflow:auto}.jki-nav .nav-links>a:not(.button){white-space:nowrap}.jki-consultation{font-size:11px;padding:9px 18px}.jki-current .service-hero h1,.jki-current .archive-intro h1{font-size:clamp(30px,8vw,48px)}.jki-current .project-summary p{font-size:14px}.jki-current .project-info-toggle{padding-block:18px}.jki-current .service-scope,.jki-current .archive-brief,.jki-current .archive-two-col{gap:28px}}
@media(max-width:380px){.jki-nav{gap:12px;padding:16px}.jki-nav .logo{width:55px}.jki-nav .nav-links{gap:10px;font-size:9px}.jki-nav .button{padding:8px 10px;font-size:9px}.jki-nav summary:after{margin-left:5px}.jki-nav .nav-panel{right:-95px}}

.jf{
  --jf-ink:#183c33; --jf-ground:#f7f5e9; --jf-line:rgba(24,60,51,.18);   /* edit colours here */
  /* the next line cancels the old footer rules */
  display:block; width:auto; max-width:none; margin:0; border:0;
  background:var(--jf-ground); color:var(--jf-ink);
  padding:clamp(56px,8vw,112px) clamp(22px,6vw,96px) 28px;
  font-size:14px; font-weight:400; line-height:1.7;
}
.jf *{box-sizing:border-box; margin:0; padding:0}
.jf a{color:inherit; text-decoration:none}
.jf a:hover, .jf button:hover{text-decoration:underline; text-underline-offset:5px}
.jf a:focus-visible, .jf button:focus-visible{outline:2px solid var(--jf-ink); outline-offset:4px}

/* top: mark in the margin, email as the sign-off */
.jf-top{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); gap:24px clamp(24px,5vw,80px); align-items:start}
.jf-logo{display:block; width:64px; height:auto}
.jf-mail{display:inline-block; font-size:clamp(22px,2.8vw,40px); line-height:1.05; letter-spacing:-.035em; overflow-wrap:anywhere}
.jf-mail i{font-style:normal; display:inline-block; font-size:.6em; transition:transform .25s}
.jf .jf-mail:hover{text-decoration:none}
.jf-mail:hover i{transform:translate(.12em,-.12em)}

/* bottom: four quiet columns on one line */
.jf-cols{display:grid; grid-template-columns:minmax(0,1fr) repeat(3,minmax(0,1fr)); gap:28px clamp(24px,5vw,80px);
  margin-top:clamp(48px,7vw,104px); padding-top:22px; border-top:1px solid var(--jf-line)}
.jf-cols ul{list-style:none}
.jf-cols h3{font-size:14px; font-weight:400; opacity:.75; margin-bottom:6px}
.jf .jki-privacy-links{display:block; margin:0; font-size:inherit}
.jf .jki-privacy-links a{display:block; min-height:0}
.jf .jki-privacy-links button{display:block; min-height:0; padding:0; border:0; background:none;
  font:inherit; color:inherit; text-decoration:none; cursor:pointer}

@media(max-width:760px){
  .jf-top{grid-template-columns:minmax(0,1fr)}
  .jf-logo{width:52px}
  .jf-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){ .jf-mail i{transition:none} }

@font-face{font-family:JKISymbols;src:url('assets/jki-symbols.ttf') format('truetype');unicode-range:U+2190-21FF,U+2700-27BF,U+2161,U+25B7}
body.jki-current,.jki-consultation,.jki-current button,.jki-current summary,.jki-current .action,.jki-current .jf{font-family:JKISymbols,Mont,Montserrat,Arial,sans-serif}
