@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./dm-sans-latin.9fea608a947e.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./manrope-latin.a30ddcd34970.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700&display=swap');
.gallery-note{font-size:12px;color:var(--muted);margin:2px 0 32px}.process-strip{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:29px 0;font-size:13px;color:var(--muted)}.process-strip strong{font-weight:400;color:var(--ink);margin-left:10px}.process-strip>a{color:var(--ink);font-size:14px}.team{display:grid;grid-template-columns:1fr 1.55fr;gap:7%;align-items:center;margin:94px 0 85px}.team-intro h2{font-family:'Manrope',Arial,sans-serif;font-size:clamp(29px,3.4vw,44px);letter-spacing:-1.5px;line-height:1.15}.team-intro>p:not(.eyebrow){margin-top:22px;color:var(--muted);max-width:350px}.team-intro .sample-caption{font-size:12px;line-height:1.6;max-width:330px}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid var(--ink);padding:4px 0}.team-intro>.text-link{margin-top:22px}.team-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.designer-card{min-width:0}.designer-card>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 35%;border-radius:var(--radius);filter:grayscale(1)}.designer-info{padding:17px 1px 0}.designer-info h3{font-size:18px}.designer-info>p{font-size:14px;color:var(--muted);margin-top:5px}.designer-links{display:flex;gap:16px;margin-top:14px;font-size:13px}.designer-links>a{border-bottom:1px solid var(--line)}.sample-label{display:block;font-size:11px;color:var(--muted);margin-top:12px}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:15px}.contact-phone{font-size:16px;border-bottom:1px solid var(--line)}.contact-meta{font-size:12px;color:var(--muted);margin-top:26px}footer>div:first-child>span{margin-left:24px}.footer-links{display:flex;gap:23px}.footer-links a:hover{text-decoration:underline}.breadcrumb{display:flex;justify-content:space-between;gap:20px;padding:35px 0 25px;font-size:13px;color:var(--muted)}.breadcrumb a{color:var(--ink);padding:5px 0}.project-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;padding:15px 0 40px}.project-heading h1{font-size:clamp(36px,4.2vw,66px)}.project-heading .text-link{margin-bottom:4px}.hero-card{margin:0;position:relative}.hero-card img{width:100%;height:auto;aspect-ratio:1.95;object-fit:cover;border-radius:22px}.hero-card>figcaption{font-size:12px;color:var(--muted);padding-top:11px}.story-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:66px 0}.story-intro h2{font-family:'Manrope',Arial,sans-serif;font-size:clamp(30px,3.3vw,45px);letter-spacing:-1.5px;max-width:430px}.story-intro p{font-size:17px;color:var(--muted);line-height:1.8}.story-intro .sample-caption{font-size:12px;line-height:1.6;margin-top:20px}.finding{border-top:1px solid var(--line);padding:36px 0 40px;max-width:750px}.finding h2{font-size:26px;letter-spacing:-.5px;margin-bottom:18px}.finding>p:last-child{color:var(--muted);max-width:690px;font-size:16px}.features{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 64px}.feature-card{margin:0}.feature-card>img{width:100%;height:auto;aspect-ratio:1.15;object-fit:cover;border-radius:var(--radius)}.feature-card>img.detail-1{object-position:80% center}.feature-card>figcaption{padding:20px 1px}.feature-card h3{font-size:21px;margin-bottom:10px}.feature-card p{color:var(--muted);font-size:15px;max-width:480px}.journey .section-top h2{font-family:'Manrope',Arial,sans-serif;font-size:27px;letter-spacing:-.7px}.journey-note{font-size:12px;color:var(--muted);max-width:780px;margin:-5px 0 28px}.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.stage-card{background:var(--soft);border-radius:var(--radius);overflow:hidden}.stage-card>img{width:100%;height:auto;aspect-ratio:1.2;object-fit:cover}.stage-caption{padding:22px}.stage-caption .eyebrow{font-size:10px;letter-spacing:1px;line-height:1.5;min-height:30px;margin-bottom:12px}.stage-caption h3{font-size:23px;margin-bottom:15px}.stage-caption>p:last-child{font-size:15px;line-height:1.7;color:var(--muted)}.project-social{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);margin-top:65px;padding:33px 0 0}.project-social h3{font-size:24px;letter-spacing:-.5px}.project-social>div:last-child{display:flex;gap:30px}.next-project{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0;border-bottom:1px solid var(--line)}.next-project>span:first-child{color:var(--muted);font-size:14px}.next-project strong{font-size:24px;font-weight:500;letter-spacing:-.7px}.next-project>span:last-child{font-size:26px}.notes{max-width:790px;padding:60px 0;margin:0 auto}.notes h1{margin:32px 0}.notes p{color:var(--muted);margin:20px 0;line-height:1.8}.notes h2{font-size:25px;margin-top:38px}.notes a:not(.button){text-decoration:underline;text-underline-offset:4px}@media(max-width:1000px){.team{gap:5%;grid-template-columns:1fr 1.4fr}.team-cards{gap:16px}.team-intro h2{font-size:34px}.process-strip{flex-wrap:wrap}.stage-caption{padding:18px}.stage-caption h3{font-size:20px}footer{flex-wrap:wrap}}@media(max-width:760px){.team{grid-template-columns:1fr;gap:32px;margin:60px 0}.team-intro>p:not(.eyebrow){max-width:550px}.team-intro h2 br{display:none}.team-cards{gap:20px}.story-intro{gap:25px;grid-template-columns:1fr;padding:40px 0}.story-intro h2{max-width:600px}.stage-grid{grid-template-columns:1fr}.stage-card{display:grid;grid-template-columns:1fr 1.1fr}.stage-card>img{height:100%;aspect-ratio:auto}.stage-caption .eyebrow{min-height:0}.journey .section-top{align-items:flex-start}.journey .section-top>span{display:none}.project-heading{align-items:flex-start;flex-direction:column;gap:22px}.footer-links{gap:20px;flex-wrap:wrap}.process-strip{display:grid;grid-template-columns:1fr 1fr;gap:18px}.features{gap:18px}.feature-card h3{font-size:19px}}@media(max-width:600px){.team-intro h2{font-size:32px}.team-cards{gap:14px}.designer-info h3{font-size:17px}.designer-card>img{border-radius:12px}.designer-links{font-size:12px;gap:10px}.team-intro>p:not(.eyebrow){font-size:15px}.team-intro>.sample-caption{font-size:12px!important}.contact-meta{line-height:1.6}.footer-links{font-size:12px;gap:16px}footer>div:first-child>span{display:block;margin:5px 0 0}.breadcrumb{padding-top:25px;align-items:flex-start;gap:30px}.breadcrumb>span{text-align:right;max-width:155px;font-size:12px}.project-heading{padding:12px 0 26px}.project-heading h1{font-size:38px}.hero-card img{aspect-ratio:1.1;border-radius:15px}.hero-card>figcaption{font-size:11px}.story-intro h2{font-size:32px}.story-intro p{font-size:16px}.features{grid-template-columns:1fr;gap:10px;margin-bottom:30px}.feature-card>img{aspect-ratio:1.3}.feature-card figcaption{padding:16px 0 25px}.feature-card h3{font-size:20px}.journey .section-top h2{font-size:27px}.stage-card{display:block}.stage-card>img{aspect-ratio:1.45;height:auto}.stage-caption{padding:23px}.stage-caption h3{font-size:24px}.stage-caption .eyebrow{font-size:11px}.project-social{flex-direction:column;align-items:flex-start;gap:20px;margin-top:45px}.project-social h3{font-size:23px}.next-project{flex-wrap:wrap}.next-project>span:first-child{width:100%}.next-project strong{font-size:23px}.notes{padding:35px 0}.notes h1{font-size:32px}.process-strip{font-size:12px}.process-strip strong{margin-left:6px}.process-strip>a{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:root{--paper:#ffffff;--ink:#161616;--muted:#686868;--line:#dedede;--green:#222222;--soft:#f3f3f3;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #888888;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.2}header{padding:24px 4.1%;min-height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20}.brand{font-family:'Manrope',Arial,sans-serif;font-size:29px;font-weight:650;line-height:1.05;letter-spacing:-1.3px}.brand span{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:10px;font-weight:500;letter-spacing:3.6px;margin-top:8px}.brand{min-width:145px}nav{display:flex;gap:34px;font-size:14px}nav a{padding:8px 0;color:var(--muted)}nav a.active,nav a:hover{color:var(--ink)}nav a.active{border-bottom:1px solid var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:46px;padding:12px 22px;border-radius:99px;background:var(--green);color:#fff;font-size:14px;line-height:1.3;transition:background .2s}.button:hover{background:#000000}.button span{font-size:19px}main{max-width:1640px;margin:auto;padding:0 4.1%}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:64px 0 53px}.eyebrow{font-size:12px;letter-spacing:2px;line-height:1.5;margin-bottom:14px;color:var(--muted)}h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(30px,3.2vw,51px);letter-spacing:-2px}.intro>p{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:2px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:23px 0 25px}.section-top h2{font-size:15px;font-weight:500}.section-top>span{font-size:13px;color:var(--muted)}.gallery{columns:3;column-gap:24px}.project-card{display:block;break-inside:avoid;margin:0 0 34px}.project-card img{width:100%;object-fit:cover;border-radius:var(--radius);background:var(--soft);transition:filter .3s,transform .5s}.project-card:hover img{filter:brightness(.92)}.project-card.tall img{aspect-ratio:4/5;height:auto}.project-card.short img{aspect-ratio:5/4;height:auto}.project-card.medium img{aspect-ratio:1;height:auto}.card-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 2px 0}.card-caption h3{font-size:17px;letter-spacing:-.3px}.card-caption p{font-size:13px;color:var(--muted);margin-top:6px}.card-caption>span{font-size:20px;transition:transform .2s}.project-card:hover .card-caption>span{transform:translate(3px,-3px)}.contact{margin:65px 0 32px;padding:65px 25px;text-align:center;background:var(--soft);border-radius:24px}.contact h2{font-family:'Manrope',Arial,sans-serif;font-size:clamp(30px,4vw,52px);letter-spacing:-1.5px;margin-bottom:28px}.contact>a:last-child{display:block;font-size:15px;margin:18px auto 0;width:fit-content}footer{padding:30px 4.1%;font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:10px;z-index:100}.skip:focus{top:10px}@media(min-width:1600px){header{padding-left:max(4.1%,calc((100% - 1505px)/2));padding-right:max(4.1%,calc((100% - 1505px)/2))}}@media(max-width:900px){.intro{align-items:flex-start;flex-direction:column;gap:18px;padding-top:42px}.gallery{columns:2}h1{letter-spacing:-1px}nav{gap:22px}.call{gap:10px}.intro>p br{display:none}}@media(max-width:600px){header{min-height:84px;padding:17px 5%;gap:12px}.brand{font-size:24px;min-width:110px}.brand span{font-size:8px;letter-spacing:3px}.call{padding:11px 16px;font-size:13px;min-height:42px}header nav{position:fixed;bottom:0;left:0;right:0;justify-content:space-evenly;border-top:1px solid var(--line);background:var(--paper);padding:10px 15px calc(10px + env(safe-area-inset-bottom));z-index:30;font-size:14px}main{padding:0 5%}.intro{padding:36px 0 30px;gap:14px}h1{font-size:31px;letter-spacing:-1.2px}.eyebrow{font-size:11px;margin-bottom:12px}.section-top{padding:20px 0}.section-top>span{font-size:12px}.gallery{column-gap:14px}.card-caption{padding-top:12px}.card-caption h3{font-size:15px;line-height:1.3}.card-caption p{font-size:12px;line-height:1.4}.card-caption>span{display:none}.project-card{margin-bottom:25px}.project-card img{border-radius:12px}.contact{padding:42px 18px;margin-top:35px}.contact h2{font-size:32px}footer{padding:20px 5% 100px;flex-direction:column;gap:8px}}@media(max-width:350px){.gallery{columns:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Office images supplied by Eco MICE */
.office-section{margin:78px 0 0;scroll-margin-top:20px}.office-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;border-top:1px solid var(--line);padding:30px 0}.office-heading h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(30px,3.4vw,44px);letter-spacing:-1.5px}.office-heading>p{font-size:14px;color:var(--muted)}.office-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start}.office-card{margin:0;min-width:0}.office-card a{display:block;border-radius:var(--radius)}.office-card img{width:100%;height:auto;border-radius:var(--radius);background:var(--soft)}.office-card a:hover img{filter:brightness(.94)}.office-card figcaption{display:flex;justify-content:space-between;gap:12px;padding:14px 1px 0;font-size:14px;line-height:1.5}.office-card figcaption span{color:var(--muted)}.office-section+.team{padding-top:46px;border-top:1px solid var(--line);margin-top:54px}@media(max-width:900px){.office-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}@media(max-width:600px){.office-section{margin-top:50px}.office-heading{align-items:flex-start;flex-direction:column;gap:15px;padding:25px 0}.office-heading h2{font-size:32px}.office-grid{gap:25px 14px}.office-card img,.office-card a{border-radius:12px}.office-card figcaption{font-size:13px;padding-top:11px}.office-section+.team{margin-top:40px;padding-top:32px}}

/* Kyenjojo photographic project story */
.ky-hero img{aspect-ratio:1.65;object-position:50% 58%}.ky-intro .eyebrow{font-size:11px;line-height:1.5;margin-bottom:18px}.ky-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:28px}.ky-facts div:last-child{grid-column:1/-1}.ky-facts span,.ky-facts strong{display:block;font-size:13px;font-weight:400}.ky-facts span{color:var(--muted);margin-bottom:5px}.ky-chapter{margin:16px 0 74px;scroll-margin-top:22px}.ky-chapter-heading{border-top:1px solid var(--line);padding:28px 0 30px}.ky-chapter-heading h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(27px,3vw,39px);letter-spacing:-1.2px;max-width:750px}.ky-chapter-heading>p:last-child{max-width:700px;margin-top:17px;color:var(--muted);font-size:15px}.ky-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.ky-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.ky-photo{margin:0;min-width:0}.ky-photo>a{display:block;border-radius:var(--radius)}.ky-photo img{width:100%;height:auto;border-radius:var(--radius);background:var(--soft)}.ky-photo figcaption{padding:18px 1px 0}.ky-photo h3{font-size:19px;letter-spacing:-.3px}.ky-photo p{margin-top:9px;color:var(--muted);font-size:14px;line-height:1.7;max-width:500px}.ky-photo .ky-treatment{font-size:11px;margin-top:13px}.ky-treatment a{text-decoration:underline;text-underline-offset:3px}.ky-detail-pair{grid-template-columns:1.45fr 1fr;align-items:start}.ky-detail-stack{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ky-detail-stack h3{font-size:16px}.ky-detail-stack p{font-size:13px}.ky-archive{margin:35px 0 55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ky-archive>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;list-style:none;padding:27px 0}.ky-archive>summary::-webkit-details-marker{display:none}.ky-archive>summary>span:first-child{font-size:24px;letter-spacing:-.7px}.ky-archive>summary>span:last-child{font-size:13px;color:var(--muted)}.ky-archive>summary>span:last-child>span{font-size:22px;margin-left:18px;display:inline-block;transition:transform .2s}.ky-archive[open]>summary>span:last-child>span{transform:rotate(45deg)}.ky-archive>summary:focus-visible{outline:3px solid #888;outline-offset:4px}.ky-archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 20px;padding:5px 0 30px}.ky-archive-grid h3{font-size:15px}.ky-archive-grid p{font-size:12px}.ky-archive-grid .ky-photo figcaption{padding-top:13px}@media(max-width:900px){.ky-detail-pair{grid-template-columns:1fr 1fr}.ky-detail-stack{grid-template-columns:1fr}.ky-detail-stack img{aspect-ratio:1.6;object-fit:cover}.ky-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ky-trio{gap:18px}}@media(max-width:600px){.ky-hero img{aspect-ratio:1.1}.ky-pair,.ky-trio,.ky-detail-pair{grid-template-columns:1fr;gap:30px}.ky-detail-stack{grid-template-columns:1fr 1fr;gap:14px}.ky-detail-stack img{aspect-ratio:1;object-fit:cover}.ky-chapter{margin-bottom:43px}.ky-chapter-heading{padding-top:24px}.ky-chapter-heading h2{font-size:29px}.ky-photo img,.ky-photo>a{border-radius:12px}.ky-photo h3{font-size:19px}.ky-detail-stack h3{font-size:16px}.ky-archive>summary{align-items:flex-start;flex-direction:column;gap:9px}.ky-archive>summary>span:last-child{display:flex;width:100%;justify-content:space-between}.ky-archive-grid{grid-template-columns:1fr 1fr;gap:25px 14px}.ky-archive-grid h3{font-size:14px}.ky-archive-grid p{font-size:12px}.ky-facts{gap:18px}.ky-intro{padding-bottom:30px}}

/* Named design office team: original portraits with balanced display crops */
.designer-portrait{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius);background:var(--soft)}.designer-portrait img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.portrait-gwamoiza img{object-position:95% 50%}.portrait-ojambo img{object-position:50% 50%;transform:scale(1.25);transform-origin:50% 0}.designer-info h3{line-height:1.25;letter-spacing:-.3px}.designer-info h3 span{display:block}.designer-info .designer-role{margin-top:12px;font-size:13px;color:var(--muted)}.designer-info .designer-specialty{margin-top:6px;color:var(--ink);font-size:13px;line-height:1.5;min-height:39px}.designer-info .designer-experience{font-size:12px;line-height:1.65;margin-top:12px;padding-top:13px;border-top:1px solid var(--line);max-width:270px}.designer-info .designer-links{margin-top:16px}@media(max-width:600px){.designer-portrait{border-radius:12px}.designer-info h3{font-size:17px}.designer-info .designer-specialty{min-height:40px;font-size:12px}.designer-info .designer-role{font-size:12px}.designer-info .designer-experience{font-size:12px}}

/* Active two-project portfolio and Bunga */
.gallery-two{columns:2}.gallery-two .project-card img{aspect-ratio:1.1}.bunga-hero img{aspect-ratio:1.7;object-position:50% 58%}.bunga-intro-detail{margin-top:18px}.bunga-details{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:75%;margin:38px auto 0}.bunga-details .ky-photo img{aspect-ratio:1.25;object-fit:cover}@media(max-width:600px){.gallery-two .project-card img{aspect-ratio:4/5}.bunga-hero img{aspect-ratio:1.1}.bunga-details{max-width:none;gap:14px;margin-top:28px}.bunga-details .ky-photo h3{font-size:16px}.bunga-details .ky-photo p{font-size:13px}.bunga-details .ky-photo img{aspect-ratio:1}}@media(max-width:350px){.gallery-two{columns:1}}

/* Original Eco MICE identity and responsive picture elements. */
picture{display:contents}header{padding-top:14px;padding-bottom:14px}.brand{display:block;min-width:168px;width:168px;height:70px;overflow:hidden}.brand img{width:194px;height:97px;max-width:none;transform:translate(-15px,-10.5px)}@media(max-width:600px){header{padding-top:12px;padding-bottom:12px}.brand{min-width:130px;width:130px;height:54px}.brand img{width:150px;height:75px;transform:translate(-11.6px,-8.2px)}}
