.lh .lh-nav a[aria-current=page]{text-decoration:underline;-webkit-text-decoration-color:var(--lh-brass);text-decoration-color:var(--lh-brass);text-underline-offset:calc(8 * var(--u));text-decoration-thickness:1px}.lh-contours{display:block;overflow:visible}.lh-contours .lines path{fill:none;stroke:#d4b08357;stroke-width:1px;vector-effect:non-scaling-stroke;transform-origin:500px 350px;animation:11s ease-in-out infinite alternate lh-breathe;animation-delay:calc(var(--i) * -.7s)}.lh-contours .lines path[data-index]{stroke:#d4b083b3;stroke-width:1.6px}@keyframes lh-breathe{0%{transform:scale(.99)}to{transform:scale(1.012)}}html[data-motion=paused] .lh-contours .lines path{animation-play-state:paused}.lh-contours .peak path{fill:none;stroke:#f6f4ef;stroke-opacity:.8;stroke-width:1px;vector-effect:non-scaling-stroke}.lh-contours .peak circle{fill:none;stroke:#f6f4ef;stroke-opacity:.8}.lh-contours .pin{cursor:pointer}.lh-contours .pin .hit{fill:#0000}.lh-contours .pin .halo{fill:#d4b08333;stroke:#d4b083bf;stroke-width:1px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;transition:transform .26s var(--lh-ease), fill .2s}.lh-contours .pin .dot{fill:var(--lh-brass)}.lh-contours .pin text{fill:#f6f4ef;font:500 17px var(--font-plex-mono), ui-monospace, monospace;letter-spacing:.12em}.lh-contours .pin:hover .halo,.lh-contours .pin:focus-visible .halo{fill:#d4b08361;transform:scale(1.9)}.lh-whero{background:radial-gradient(70% 80% at 72% 45%,#14305a 0%,#0b1a2e 55%,#070f1b 100%)}.lh-whero:before{content:"";pointer-events:none;background-image:linear-gradient(#f6f4ef0d 1px,#0000 1px),linear-gradient(90deg,#f6f4ef0d 1px,#0000 1px);background-size:calc(48 * var(--u)) calc(48 * var(--u));background-position:top;position:absolute;inset:0;-webkit-mask-image:radial-gradient(100% 90%,#000 45%,#0000 100%);mask-image:radial-gradient(100% 90%,#000 45%,#0000 100%)}.lh-wmap{top:calc(var(--lh-header) + 4vh);width:min(84vw, calc(1200 * var(--u)));position:absolute;right:-4vw}.lh-wtag{left:calc(32 * var(--u));top:calc(96 * var(--u));color:#c9c6be}.lh-whero .lh-hero-pause{top:calc(128 * var(--u));bottom:auto}.lh-wkey{right:calc(32 * var(--u));top:calc(96 * var(--u));align-items:center;gap:calc(10 * var(--u));color:#c9c6be;display:flex}.lh-wkey i{width:calc(8 * var(--u));height:calc(8 * var(--u));background:var(--lh-brass);box-shadow:0 0 0 calc(4 * var(--u)) #d4b08340;border-radius:50%}.lh-wh1{left:calc(24 * var(--u));bottom:calc(20 * var(--u));font-size:min(22vw, 44vh, calc(340 * var(--u)));letter-spacing:-.07em;color:#f6f4ef;font-weight:700;line-height:.82}.lh-wh1 span{color:var(--lh-brass)}.lh-wlede{right:calc(32 * var(--u));bottom:calc(60 * var(--u));width:min(calc(380 * var(--u)), 34vw);font-size:calc(15 * var(--u));color:#d8d4cb;text-shadow:0 0 calc(18 * var(--u)) #0b1a2e, 0 0 calc(6 * var(--u)) #0b1a2e;line-height:1.6}.lh-whero .lh-hero-scroll{left:auto;right:calc(32 * var(--u));bottom:calc(24 * var(--u))}.lh-proj-in{gap:calc(80 * var(--u));padding-block:calc(104 * var(--u));grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;display:grid}.lh-proj:nth-of-type(2n) .lh-proj-in{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.lh-proj:nth-of-type(2n) .lh-proj-fig{order:2}.lh-proj-fig{margin:0;position:relative}.lh-proj-frame{border-radius:calc(14 * var(--u));border:1px solid color-mix(in srgb, #d9a45a calc(var(--glow,0) * 100%), #0e234029);box-shadow:0 calc(40 * var(--u)) calc(70 * var(--u)) calc(-40 * var(--u)) #0e234080, var(--halo,0 0 0 transparent);background:#fbf9f3;position:relative}.lh-proj-frame .mk{width:calc(22 * var(--u));height:calc(22 * var(--u));border:0 solid var(--lh-navy);opacity:.7;pointer-events:none;position:absolute}.mk--tl{top:calc(-16 * var(--u));left:calc(-16 * var(--u));border-width:1px 0 0 1px}.mk--tr{top:calc(-16 * var(--u));right:calc(-16 * var(--u));border-width:1px 1px 0 0}.mk--bl{bottom:calc(-16 * var(--u));left:calc(-16 * var(--u));border-width:0 0 1px 1px}.mk--br{bottom:calc(-16 * var(--u));right:calc(-16 * var(--u));border-width:0 1px 1px 0}.lh-proj-frame .bar{align-items:center;gap:calc(7 * var(--u));padding:calc(11 * var(--u)) calc(16 * var(--u));border-bottom:1px solid var(--lh-hair);color:var(--lh-muted);display:flex}.lh-proj-frame .bar i{width:calc(9 * var(--u));height:calc(9 * var(--u));background:var(--lh-rule);border-radius:50%}.lh-proj-frame .bar span{margin-left:auto}.lh-proj-frame .pic{aspect-ratio:3/2;border-radius:0 0 calc(13 * var(--u)) calc(13 * var(--u));overflow:hidden}.lh-proj-frame .pic img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.lh-proj-fig .dim{width:100%;height:calc(14 * var(--u));margin-top:calc(30 * var(--u));fill:none;stroke:var(--lh-navy);stroke-opacity:.45;stroke-width:1px;vector-effect:non-scaling-stroke;display:block}.lh-proj-fig .dim path{vector-effect:non-scaling-stroke}.lh-proj-fig figcaption{margin-top:calc(10 * var(--u));text-align:center;color:var(--lh-muted)}.lh-proj-text .num{font-size:clamp(calc(84 * var(--u)), 11vw, calc(160 * var(--u)));letter-spacing:-.06em;color:#0000;-webkit-text-stroke:1.5px #8f6d3fb3;-webkit-user-select:none;user-select:none;font-weight:700;line-height:.8}.lh-proj-text h2{margin-top:calc(-30 * var(--u));font-size:clamp(calc(34 * var(--u)), 4.4vw, calc(64 * var(--u)));letter-spacing:-.05em;font-weight:700;line-height:1;position:relative}.lh-proj-text h2+p{margin-top:calc(18 * var(--u))}.lh-proj-text .idea{margin-top:calc(22 * var(--u));max-width:calc(470 * var(--u));font-size:calc(16 * var(--u));color:var(--lh-body)}.lh-proj-text dl{margin:calc(30 * var(--u)) 0 calc(34 * var(--u));border-top:1px solid var(--lh-rule)}.lh-proj-text dl>div{grid-template-columns:calc(84 * var(--u)) minmax(0, 1fr);gap:calc(16 * var(--u));padding:calc(13 * var(--u)) 0;border-bottom:1px solid var(--lh-rule);display:grid}.lh-proj-text dt{color:var(--lh-muted)}.lh-proj-text dd{font-size:calc(14 * var(--u));margin:0}@supports (animation-timeline:view()){.lh-proj-frame .pic img{animation:linear both lh-settle;animation-timeline:view();animation-range:entry cover 55%}.lh-proj-frame{animation:linear both lh-rise;animation-timeline:view();animation-range:entry entry 55%}.lh-proj-text{animation:linear both lh-rise;animation-timeline:view();animation-range:entry 10% entry 70%}}@keyframes lh-settle{0%{transform:scale(1.18)}to{transform:none}}@keyframes lh-rise{0%{opacity:0;translate:0 calc(48 * var(--u))}to{opacity:1;translate:0}}.lh-wcta .lh-wrap{padding-block:calc(48 * var(--u)) calc(128 * var(--u))}.lh-wcta .panel{isolation:isolate;padding:calc(96 * var(--u)) calc(72 * var(--u));border-radius:calc(22 * var(--u));color:#f6f4ef;background:radial-gradient(80% 90% at 85% 20%,#16396b 0%,#0e2340 60%,#0a1830 100%);position:relative;overflow:hidden}.lh-wcta-map{z-index:-1;opacity:.85;width:78%;position:absolute;top:-42%;right:-14%}.lh-wcta h2{max-width:calc(760 * var(--u));margin-top:calc(20 * var(--u));font-size:clamp(calc(32 * var(--u)), 4.2vw, calc(60 * var(--u)));letter-spacing:-.045em;font-weight:700;line-height:1.02}.lh .lh-wcta p{margin-top:calc(22 * var(--u));color:#d8d4cb}.lh-wcta .btns{gap:calc(12 * var(--u));margin-top:calc(40 * var(--u));flex-wrap:wrap;display:flex}@media (max-width:900px){.lh-proj-in,.lh-proj:nth-of-type(2n) .lh-proj-in{gap:calc(48 * var(--u));padding-block:calc(64 * var(--u));grid-template-columns:minmax(0,1fr)}.lh-proj:nth-of-type(2n) .lh-proj-fig{order:0}.lh-wcta .panel{padding:calc(64 * var(--u)) calc(28 * var(--u))}}@media (max-width:720px){.lh-wmap{top:calc(var(--lh-header) + 6svh);width:150vw;right:-46vw}.lh-wkey,.lh-whero .lh-hero-scroll{display:none}.lh-wtag{left:20px;top:calc(var(--lh-header) + 16px)}.lh-whero .lh-hero-pause{top:calc(var(--lh-header) + 56px);left:20px}.lh-wh1{font-size:29vw;bottom:16px;left:14px}.lh-wlede{width:auto;font-size:14px;bottom:calc(23.78vw + 32px);left:20px;right:20px}.lh-proj-frame .mk,.lh-proj-frame .bar i{display:none}.lh-proj-frame .bar span{margin-left:0}}.lh .lh-btn--ink{border-color:var(--lh-rule);color:var(--lh-ink);background:0 0}.lh .lh-btn--ink:hover{background:var(--lh-navy);border-color:var(--lh-navy);color:#f6f4ef}.lh-proj-text .links{gap:calc(12 * var(--u));flex-wrap:wrap;display:flex}.lh .lh-wback{pointer-events:auto;color:#f6f4ef}.lh .lh-wback:hover{color:var(--lh-brass)}.lh-whero--study .lh-wh1{font-size:min(13vw, 36vh, calc(230 * var(--u)), calc(84vw / (.54 * var(--n))))}.lh-whero--study .lh-wlede{top:calc(132 * var(--u));bottom:auto}.lh-cs-intro h2,.lh-cs-colours h2,.lh-cs-pages h2{font-size:clamp(calc(26 * var(--u)), 2.6vw, calc(36 * var(--u)));letter-spacing:-.045em;margin-bottom:calc(18 * var(--u));font-weight:700;line-height:1.05}.lh-cs-intro .lh-wrap{padding-block:calc(96 * var(--u)) calc(56 * var(--u))}.lh-cs-intro-in{gap:calc(56 * var(--u));grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);align-items:start;display:grid}.lh-cs-intro p{font-size:calc(14 * var(--u));color:var(--lh-body);line-height:1.75}.lh-cs-intro dl{margin:0}.lh-cs-intro dt{margin-top:calc(18 * var(--u));color:var(--lh-muted)}.lh-cs-intro dd{margin:calc(4 * var(--u)) 0 0;font-size:calc(14 * var(--u))}.lh-cs-intro .client dl{margin-top:calc(72 * var(--u))}.lh-cs-intro .brief dl{margin-bottom:calc(56 * var(--u))}.lh-cs-intro .pic{aspect-ratio:1;border-radius:calc(6 * var(--u));border:1px solid var(--lh-rule);overflow:hidden}.lh-cs-intro .pic img{object-fit:cover;object-position:15% center;width:100%;height:100%;display:block}.lh-cs-show .lh-wrap{padding-block:calc(56 * var(--u)) calc(80 * var(--u))}.lh-cs-show h2{margin-bottom:calc(36 * var(--u));font-size:clamp(calc(30 * var(--u)), 3.6vw, calc(52 * var(--u)));letter-spacing:-.045em;font-weight:700;line-height:1.02}.lh-cs-show .pair{gap:calc(20 * var(--u));grid-template-columns:1.6fr .462fr;display:grid}.lh-cs-show figure,.lh-cs-pages .shot{border-radius:calc(8 * var(--u));border:1px solid var(--lh-rule);box-shadow:0 calc(30 * var(--u)) calc(50 * var(--u)) calc(-34 * var(--u)) #0e234073;margin:0;overflow:hidden}.lh-cs-show .wide{aspect-ratio:1440/900}.lh-cs-show figure img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.lh-cs-type .lh-wrap{padding-block:calc(24 * var(--u))}.lh-cs-type .row{gap:calc(56 * var(--u));padding-block:calc(36 * var(--u));border-top:1px solid var(--lh-rule);grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);display:grid}.lh-cs-type .k small{margin-top:calc(28 * var(--u));font-size:calc(12 * var(--u));letter-spacing:0;text-transform:none;color:var(--lh-muted);display:grid}.lh-cs-type .v b{font-size:clamp(calc(44 * var(--u)), 6vw, calc(86 * var(--u)));letter-spacing:-.03em;font-weight:400;line-height:1;display:block}.lh-cs-type .v p{margin-top:calc(22 * var(--u));font-size:calc(15 * var(--u));color:var(--lh-muted);line-height:1.8}.lh-cs-colours .lh-wrap{padding-block:calc(72 * var(--u)) calc(40 * var(--u))}.lh-cs-colours h2{margin-bottom:calc(28 * var(--u))}.lh-cs-colours ul{gap:calc(16 * var(--u));grid-template-columns:repeat(auto-fit,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.lh-cs-colours li{min-height:calc(300 * var(--u));padding:calc(18 * var(--u));border:1px solid var(--lh-rule);border-radius:calc(6 * var(--u));flex-direction:column;justify-content:space-between;display:flex}.lh-cs-colours code{font:inherit;font-size:calc(13 * var(--u));opacity:.85}.lh-cs-pages .lh-wrap{padding-block:calc(72 * var(--u)) calc(56 * var(--u))}.lh-cs-pages h2{margin-bottom:calc(28 * var(--u))}.lh-cs-pages .cols{columns:2;column-gap:calc(28 * var(--u))}.lh-cs-pages figure{margin:0 0 calc(28 * var(--u));break-inside:avoid}.lh-cs-pages .shot img{width:100%;height:auto;display:block}.lh-cs-pages figcaption{margin-top:calc(10 * var(--u));color:var(--lh-muted)}@media (max-width:900px){.lh-cs-intro-in{gap:calc(40 * var(--u));grid-template-columns:minmax(0,1fr)}.lh-cs-intro .client dl{margin-top:calc(24 * var(--u))}.lh-cs-intro .brief dl{margin-bottom:calc(32 * var(--u))}.lh-cs-type .row{gap:calc(20 * var(--u));grid-template-columns:minmax(0,1fr)}.lh-cs-colours ul{grid-template-columns:repeat(2,minmax(0,1fr))}.lh-cs-colours li{min-height:calc(180 * var(--u))}.lh-cs-pages .cols{columns:1}}@media (max-width:720px){.lh-whero--study .lh-wh1{font-size:min(18.5vw, calc(92vw / (.54 * var(--n))))}.lh-whero--study .lh-wlede{top:auto;bottom:calc(min(18.5vw, calc(92vw / (.54 * var(--n)))) * .82 + 32px)}.lh-whero--study .lh-wkey{right:20px;top:calc(var(--lh-header) + 16px);text-align:right;max-width:55vw;display:block}}.lh-proj-frame .lh-svc-pic{aspect-ratio:450/260;border-radius:calc(13 * var(--u))}.lh-svc-pic iframe{border:0;width:100%;height:100%;display:block}.lh-proj-text .lh-appr-h{margin:calc(26 * var(--u)) 0 calc(4 * var(--u))}.lh-appr{counter-reset:appr;margin:0;padding:0;list-style:none}.lh-appr li{gap:calc(4 * var(--u));padding:calc(14 * var(--u)) 0 calc(14 * var(--u)) calc(40 * var(--u));border-bottom:1px solid var(--lh-rule);counter-increment:appr;display:grid;position:relative}.lh-appr li:before{content:counter(appr);left:0;top:calc(14 * var(--u));width:calc(26 * var(--u));height:calc(26 * var(--u));border:1px solid var(--lh-brass);font-size:calc(12 * var(--u));color:var(--lh-ink);border-radius:50%;place-items:center;display:grid;position:absolute}.lh-appr b{font-size:calc(15 * var(--u));font-weight:600}.lh-appr span{font-size:calc(14 * var(--u));color:var(--lh-body)}.lh-tl .lh-wrap{padding-block:calc(96 * var(--u)) calc(40 * var(--u))}.lh-tl h2{max-width:calc(820 * var(--u));margin-top:calc(20 * var(--u));font-size:clamp(calc(32 * var(--u)), 4.2vw, calc(60 * var(--u)));letter-spacing:-.045em;font-weight:700;line-height:1.02}.lh-tl .lede{max-width:calc(620 * var(--u));margin-top:calc(22 * var(--u));color:var(--lh-body)}.lh-tl-grid{margin-top:calc(56 * var(--u));border:1px solid var(--lh-navy);border-radius:calc(14 * var(--u));box-shadow:0 calc(40 * var(--u)) calc(70 * var(--u)) calc(-44 * var(--u)) #0e234073;background:#fbf9f3;overflow:hidden}.lh-tl-row{border-bottom:1px solid var(--lh-rule);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch;display:grid}.lh-tl-row:last-child{border-bottom:0}.lh-tl-row .txt{padding:calc(30 * var(--u)) calc(32 * var(--u))}.lh-tl-ruler{background:var(--lh-navy);color:#f6f4ef;border-bottom:0}.lh-tl-ruler>span:first-child{align-self:center}.lh-tl-row.lh-tl-ruler .track{min-height:calc(52 * var(--u));background:0 0;align-items:stretch}.lh-tl-ruler .track i{border-left:1px solid #f6f4ef38;align-items:center;display:flex}.lh-tl-ruler .track i.launch{color:#f1d9b3;background:#d4b08347}.lh-tl-row h3{margin-top:calc(8 * var(--u));font-size:calc(28 * var(--u));letter-spacing:-.04em;font-weight:700}.lh-tl-row .txt p{max-width:calc(440 * var(--u));margin-top:calc(8 * var(--u));font-size:calc(14 * var(--u));color:var(--lh-body)}.lh-tl-row .track{background:linear-gradient(90deg, transparent calc(400% / 7), #d4b08333 0), linear-gradient(90deg, var(--lh-hair) 1px, transparent 1px) 0 0 / calc(100% / 7) 100%;border-left:1px solid var(--lh-rule);grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;display:grid}.lh-tl-ruler .track i{padding-left:calc(10 * var(--u));font-style:normal}.lh-tl-row .track span,.lh-tl-key i{height:calc(40 * var(--u));border-radius:4px;grid-row:1;align-items:center;display:flex}.lh-tl-row .track span{padding:0 calc(12 * var(--u));font:500 calc(12 * var(--u)) var(--font-plex-mono), ui-monospace, monospace;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden}.lh-tl-row .track .solid,.lh-tl-key .solid{background:var(--lh-navy);color:#f6f4ef}.lh-tl-row .track .flex,.lh-tl-key .flex{background:repeating-linear-gradient(135deg, var(--lh-brass) 0 3px, transparent 3px 7px);border:1px solid var(--lh-brass)}.lh-tl-row .track .flex--open{background:var(--lh-brass);color:var(--lh-navy);border-radius:4px 0 0 4px}.lh-tl-key .win{background:#d4b0834d}.lh-tl-key{align-items:center;gap:calc(10 * var(--u));margin-top:calc(22 * var(--u));color:var(--lh-muted);flex-wrap:wrap;display:flex}.lh-tl-key i{width:calc(28 * var(--u));margin-left:calc(12 * var(--u));display:inline-block}@media (max-width:900px){.lh-tl-row{gap:calc(20 * var(--u));grid-template-columns:minmax(0,1fr)}.lh-tl-ruler>span:first-child{display:none}.lh-tl-row .txt{padding:calc(24 * var(--u)) calc(20 * var(--u)) calc(8 * var(--u))}.lh-tl-row .track{min-height:calc(72 * var(--u));border-left:0}.lh-tl-row .track span{font-size:0}}
