.recent-works{padding-block:80px 96px}.recent-works-toolbar{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:34px;padding-top:24px;display:flex}.recent-works-toolbar h2,.recent-works-filters button,.recent-work-tags{font-family:var(--font-site,Arial), sans-serif;letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:400;line-height:1.4}.recent-works-filters{flex-wrap:wrap;gap:8px;display:flex}.recent-works-filters button{color:#222;background:#e5e5e5;border-radius:999px;min-height:34px;padding:7px 16px;transition:background-color .16s,color .16s}.recent-works-filters button[aria-pressed=true]{color:#fff;background:#111}.recent-works-grid{grid-template-columns:repeat(var(--work-columns,4), minmax(0, 1fr));gap:36px 10px;display:grid}.recent-work{min-width:0}.recent-work>a{display:block}.recent-work-cover{aspect-ratio:1;background:#f2f2f2;border-radius:clamp(16px,1.5vw,28px);overflow:hidden}.recent-work-cover .project-visual,.recent-work-cover img{object-fit:cover;width:100%;height:100%}.recent-work-cover .project-visual{transition:transform .35s cubic-bezier(.2,.65,.3,1)}.recent-work h3{letter-spacing:-.035em;margin-top:18px;font-size:clamp(20px,1.6vw,30px);font-weight:400;line-height:1.25}.recent-work-tags{color:#777;flex-wrap:wrap;gap:6px 14px;margin-top:12px;list-style:none;display:flex}.recent-work-tags button{font:inherit;text-transform:inherit;color:inherit;text-align:left;min-height:24px}.recent-works-empty{color:var(--muted);padding-block:40px}@media (hover:hover) and (pointer:fine){.recent-work>a:hover .project-visual{transform:scale(1.025)}.recent-works-filters button:hover:not([aria-pressed=true]){background:#ccc}.recent-work-tags button:hover{color:#111}}@media (max-width:1100px){.recent-works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.recent-works{padding-block:48px 60px}.recent-works-toolbar{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:26px}.recent-works-grid{grid-template-columns:1fr;row-gap:32px}.recent-works-filters button{min-height:38px;padding-inline:14px}}@media (prefers-reduced-motion:reduce){.recent-work-cover .project-visual,.recent-works-filters button{transition:none}.recent-work>a:hover .project-visual{transform:none}}
.kodra-hero{background:var(--hero-paper,#fff);color:#fff;flex-direction:column;justify-content:center;height:100svh;min-height:640px;max-height:1200px;padding-top:160px;padding-bottom:95px;display:flex;position:relative;overflow:hidden}.kodra-hero-background{pointer-events:none;position:absolute;inset:0}.kodra-hero-background img{object-fit:cover;object-position:center}.kodra-hero-background:after{content:"";background:linear-gradient(#00000012 0%,#00000038 50%,#0006 100%);position:absolute;inset:0}.kodra-composition{width:min(100%,1440px);margin-inline:auto;padding-inline:clamp(0px,4vw,80px);position:relative}.kodra-hero h1{font-family:var(--font-site,Arial), sans-serif;letter-spacing:-.03em;text-align:left;font-size:clamp(76px,9.25vw,176px);font-weight:400;line-height:1}.kodra-type-first{display:block}.kodra-type-second{align-items:center;gap:.12em;display:flex}.kodra-type-for{color:#ffffffb3;font-weight:300}.kodra-type-window{height:1.4em;display:block;overflow:hidden}.kodra-type-track{animation:kodra-words 10s var(--ease-in-out) infinite;animation-play-state:paused;display:block}.kodra-type-track>span{white-space:nowrap;height:1.4em;line-height:1.4;display:block}.kodra-hero[data-type-running=true] .kodra-type-track{animation-play-state:running}.kodra-home:is([data-intro=pending],[data-intro=loading],[data-intro=solid],[data-intro=expanding]) .kodra-type-track{animation-play-state:paused}.kodra-type-static{display:none}@keyframes kodra-words{0%,17%{transform:translateY(0)}25%,42%{transform:translateY(-20%)}50%,67%{transform:translateY(-40%)}75%,92%{transform:translateY(-60%)}to{transform:translateY(-80%)}}.kodra-meta{left:var(--gutter);right:var(--gutter);justify-content:space-between;gap:24px;font-size:12px;display:flex;position:absolute;bottom:32px}.kodra-meta>div{flex-wrap:wrap;gap:20px;display:flex}.kodra-meta a:hover{text-underline-offset:4px;text-decoration:underline}.kodra-wordmark{letter-spacing:-.065em;font-size:30px;font-weight:700;line-height:1}@media (max-width:700px){.kodra-hero{height:90svh;min-height:560px;padding-top:100px;padding-bottom:130px}.kodra-composition{padding-inline:0}.kodra-hero h1{font-size:14vw}.kodra-meta{flex-direction:column;gap:16px;font-size:11px;bottom:26px}.kodra-meta>div{gap:14px}}@media (prefers-reduced-motion:reduce){.kodra-type-track{animation:none;display:none}.kodra-type-static{line-height:1.4;display:block}}
.kodra-home{--intro-paper:var(--hero-paper,#fff)}.home-intro{z-index:10000;pointer-events:auto;background:#fff;position:fixed;inset:0}.intro-panel{background:var(--intro-paper);clip-path:inset(calc(50% - 120px) calc(50% - 90px));position:absolute;inset:0}.intro-card{width:180px;height:240px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.intro-card img{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.intro-card img.is-active{opacity:1}.intro-counter{font-variant-numeric:tabular-nums;color:#111;font-size:9px;font-weight:400;line-height:1;position:absolute;top:-16px;right:-28px}.intro-point{background:#111;border-radius:50%;width:4px;height:4px;position:absolute;top:calc(50% - 2px);left:calc(50% - 2px)}.kodra-home:is([data-intro=pending],[data-intro=loading],[data-intro=solid],[data-intro=expanding]) :is(.header,.kodra-composition,.kodra-meta){visibility:hidden}.kodra-home:is([data-intro=solid],[data-intro=expanding]) .intro-card img,.kodra-home[data-intro=expanding] .intro-counter{opacity:0;transition:opacity .12s var(--ease-out)}.kodra-home[data-intro=reveal] .home-intro{pointer-events:none;background:0 0}.kodra-home[data-intro=reveal] :is(.intro-panel,.intro-card){visibility:hidden}.kodra-home[data-intro=reveal] .intro-point{opacity:0;transition:opacity .12s var(--ease-out), transform .12s var(--ease-out);transform:scale(.5)}.kodra-home[data-intro=reveal] .header{animation:intro-ink .3s var(--ease-out) both}.kodra-home[data-intro=reveal] .kodra-composition{animation:intro-type .55s var(--ease-out) 80ms both}.kodra-home[data-intro=reveal] .kodra-meta{animation:intro-ink .25s var(--ease-out) .4s both}@keyframes intro-ink{0%{opacity:0}to{opacity:1}}@keyframes intro-type{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@media (max-width:600px){.intro-card{width:120px;height:160px}.intro-panel{clip-path:inset(calc(50% - 80px) calc(50% - 60px))}}@media (prefers-reduced-motion:reduce){.intro-card,.intro-panel,.intro-point{display:none}.home-intro{background:var(--intro-paper)}.kodra-home[data-intro=reveal] :is(.header,.kodra-composition,.kodra-meta){animation:none}}.kodra-home:is([data-intro=solid],[data-intro=expanding],[data-intro=reveal]) .intro-point{background:#fff}
.services-gallery{color:var(--ink);background:#fff;padding-block:64px 72px}.services-gallery-inner{border-top:1px solid var(--line);grid-template-columns:minmax(100px,.75fr) 5fr;gap:24px;padding-top:12px;display:grid}.services-gallery h2{text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:400;line-height:1.4}.services-gallery-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.service-tile{min-width:0;scroll-margin-top:110px}.service-tile h3{letter-spacing:-.025em;min-height:56px;padding-right:6px;font-size:clamp(15px,1.2vw,20px);font-weight:400;line-height:1.3}.service-tile-image{aspect-ratio:.71;background:#f2f2f2;overflow:hidden}.service-tile-image .project-visual,.service-tile-image img{object-fit:cover;width:100%;height:100%}@media (max-width:1000px){.services-gallery-inner{grid-template-columns:100px minmax(0,1fr)}.services-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 12px}}@media (max-width:600px){.services-gallery{padding-block:40px 48px}.services-gallery-inner{grid-template-columns:1fr;gap:28px}.services-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}.service-tile h3{min-height:36px;font-size:17px}}
.team-roster{grid-template-columns:1fr 3fr;align-items:start;gap:28px;padding-block:80px 110px;display:grid}.team-roster>h2{letter-spacing:-.035em;text-transform:uppercase;margin-top:8px;font-size:clamp(24px,2.1vw,42px);font-weight:400;line-height:1.1}.team-roster-list{min-width:0}.team-roster-row{border-bottom:1px solid #ececec;grid-template-columns:1fr 1.25fr 1fr;align-items:center;column-gap:24px;min-height:clamp(110px,7.8vw,165px);padding-block:8px;scroll-margin-top:110px;display:grid}.team-roster-row:first-child{padding-top:0}.team-roster-portrait{aspect-ratio:1.6;background:#f4f4f4;border-radius:10px;width:clamp(130px,11.2vw,230px);max-width:100%;position:relative;overflow:hidden}.team-roster-portrait img{object-fit:cover;object-position:var(--portrait-position) 40%;width:100%;height:100%}.team-roster-triptych img{width:300%;max-width:none;transform:translateX(var(--portrait-shift));object-position:center 40%}.team-roster-portrait>span{place-items:center;height:100%;font-size:40px;display:grid}.team-roster-row h3{letter-spacing:-.035em;font-size:clamp(22px,1.8vw,36px);font-weight:400;line-height:1.2}.team-roster-role{color:#777;text-align:right;letter-spacing:-.025em;font-size:clamp(13px,.95vw,18px);line-height:1.4}.team-roster-bio{max-width:620px;color:var(--muted);grid-column:2/-1;padding-block:12px;font-size:15px;line-height:1.5}@media (hover:hover) and (pointer:fine){.team-roster-row h3 a:hover{text-underline-offset:5px;text-decoration:underline}}@media (max-width:1000px){.team-roster{grid-template-columns:1fr 4fr;gap:24px}.team-roster-row{grid-template-columns:150px 1fr auto;column-gap:20px}.team-roster-row h3{font-size:22px}}@media (max-width:700px){.team-roster{grid-template-columns:1fr;gap:30px;padding-block:48px 64px}.team-roster-row{grid-template-columns:110px minmax(0,1fr);gap:5px 20px;min-height:104px;padding-block:12px}.team-roster-portrait{grid-row:1/3;width:110px}.team-roster-row h3{align-self:end;font-size:21px}.team-roster-role{text-align:left;grid-column:2;align-self:start;font-size:13px}.team-roster-bio{grid-column:1/-1;font-size:14px}}
