
:root{--black:#000;--graphite:#4D4D4D;--stone:#D9D6CF;--paper:#F6F4EF;--white:#fff;--line:rgba(0,0,0,.16);--pad:clamp(22px,4vw,72px);--max:1680px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--black);font-family:"Montserrat",Arial,sans-serif;font-weight:400;line-height:1.45}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{height:112px;padding:24px var(--pad);display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;position:relative;z-index:30;background:var(--paper);border-bottom:1px solid transparent}.brand{width:260px;display:block}.brand img{width:100%;height:auto}.site-nav{display:flex;gap:32px;font-size:11px;letter-spacing:.18em;font-weight:500}.site-nav a{position:relative;padding:9px 0}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:#000;transition:.25s}.site-nav a:hover:after,.site-nav a:focus-visible:after{right:0}.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:1px;background:#000;margin:7px 0;transition:.25s}.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}.eyebrow.inverse{color:#fff}.section{padding:clamp(72px,10vw,160px) var(--pad);max-width:var(--max);margin:0 auto}.section-tight{padding-top:70px;padding-bottom:70px}.rule{border-top:1px solid var(--line)}
.hero{padding:clamp(30px,5vw,70px) var(--pad) clamp(72px,8vw,130px);max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:5fr 7fr;gap:clamp(30px,7vw,120px);align-items:end;min-height:calc(100vh - 112px)}.hero-copy{padding-bottom:3vw}.hero h1{font-weight:300;letter-spacing:-.04em;font-size:clamp(52px,7vw,118px);line-height:.9;margin:16px 0 28px}.hero h1 span{display:block}.hero-intro{font-size:clamp(15px,1.35vw,22px);max-width:620px;line-height:1.55;font-weight:300}.hero-image{height:min(74vh,900px);overflow:hidden;background:#ddd}.hero-image img{width:100%;height:100%;object-fit:cover}.slash{color:var(--graphite)}
.statement{display:grid;grid-template-columns:4fr 8fr;gap:clamp(30px,7vw,120px);align-items:start}.statement h2{font-size:clamp(34px,4.8vw,76px);line-height:1.05;font-weight:300;letter-spacing:-.035em;margin:0}.statement p{font-size:clamp(18px,2vw,31px);font-weight:300;line-height:1.55;margin:0;max-width:980px}
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2vw,32px);row-gap:clamp(48px,7vw,110px);margin-top:55px}.project-card{grid-column:span 6}.project-card:nth-child(3n){grid-column:span 7}.project-card:nth-child(3n+1):not(:first-child){grid-column:span 5}.project-image{aspect-ratio:16/10;overflow:hidden;background:#ddd}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.75,.2,1)}.project-card:hover .project-image img{transform:scale(1.025)}.project-meta{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #000;padding-top:13px;margin-top:14px}.project-title{font-size:15px;font-weight:500}.project-sector{font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-align:right}.view-link{display:inline-flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-top:14px}.view-link:after{content:"→";font-size:18px;font-weight:300}
.capabilities{background:#000;color:#fff}.cap-inner{max-width:var(--max);margin:0 auto;padding:clamp(90px,10vw,165px) var(--pad)}.cap-grid{display:grid;grid-template-columns:4fr 8fr;gap:clamp(30px,7vw,120px)}.cap-list{border-top:1px solid rgba(255,255,255,.4)}.cap-row{display:grid;grid-template-columns:55px 1fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.22)}.cap-num{font-size:10px;letter-spacing:.15em;color:#aaa}.cap-row h3{font-size:clamp(20px,2.2vw,34px);font-weight:300;margin:0}.cap-row span:last-child{font-size:18px}.cap-copy{font-size:clamp(28px,4vw,66px);line-height:1.05;font-weight:300;letter-spacing:-.035em;margin:0 0 45px}
.pm-band{display:grid;grid-template-columns:7fr 5fr;min-height:620px}.pm-image{overflow:hidden}.pm-image img{width:100%;height:100%;object-fit:cover}.pm-copy{background:var(--stone);padding:clamp(50px,6vw,100px);display:flex;flex-direction:column;justify-content:center}.pm-copy h2{font-size:clamp(38px,4.3vw,70px);font-weight:300;line-height:1.03;letter-spacing:-.04em;margin:15px 0 30px}.pm-copy p{font-size:16px;line-height:1.7;max-width:610px}.pm-points{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:30px 0 0;padding:0;list-style:none;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.pm-points li{border-top:1px solid rgba(0,0,0,.35);padding-top:12px}
.page-hero{padding:80px var(--pad) 100px;max-width:var(--max);margin:0 auto;min-height:48vh;display:flex;align-items:flex-end}.page-hero h1{font-size:clamp(58px,9vw,145px);font-weight:300;line-height:.86;letter-spacing:-.055em;margin:15px 0 0}.page-hero .sub{font-size:clamp(16px,1.5vw,22px);max-width:700px;margin-top:32px;font-weight:300;line-height:1.6}.page-hero.split{display:grid;grid-template-columns:7fr 5fr;gap:60px;align-items:end}.page-hero.split .sub{margin:0 0 6px auto}
.work-index{padding-top:0}.work-row{display:grid;grid-template-columns:110px 3fr 2fr 1fr;gap:30px;align-items:center;padding:23px 0;border-top:1px solid #000}.work-row:last-child{border-bottom:1px solid #000}.work-row .num{font-size:10px;letter-spacing:.18em}.work-row .name{font-size:clamp(22px,2.5vw,38px);font-weight:300}.work-row .sector,.work-row .place{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.work-row:hover .name{padding-left:8px;transition:.25s}
.approach-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:30px}.approach-lead{grid-column:1/8;font-size:clamp(34px,4vw,66px);font-weight:300;line-height:1.08;letter-spacing:-.035em;margin:0}.approach-body{grid-column:9/13;font-size:15px;line-height:1.75}.service-list{margin-top:80px;border-top:1px solid #000}.service-item{display:grid;grid-template-columns:100px 4fr 5fr;gap:30px;padding:30px 0;border-bottom:1px solid var(--line)}.service-item h3{font-weight:400;font-size:clamp(21px,2vw,31px);margin:0}.service-item p{margin:0;font-size:14px;line-height:1.7}.service-item .num{font-size:10px;letter-spacing:.15em}
.studio-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,8vw,140px);align-items:start}.studio-portrait{aspect-ratio:4/5;background:#000;position:relative;overflow:hidden}.studio-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.78}.studio-portrait:after{content:"";position:absolute;inset:10%;border:1px solid rgba(255,255,255,.45)}.studio-copy h2{font-size:clamp(38px,4.8vw,72px);font-weight:300;line-height:1.05;letter-spacing:-.04em;margin:0 0 35px}.studio-copy p{font-size:16px;line-height:1.8}.bio-facts{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:45px}.fact{border-top:1px solid #000;padding-top:12px}.fact b{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px}.fact span{font-size:13px;line-height:1.5}
.contact-hero{min-height:calc(100vh - 112px);padding:70px var(--pad);display:grid;grid-template-columns:7fr 5fr;max-width:var(--max);margin:0 auto;align-items:end;gap:60px}.contact-hero h1{font-size:clamp(55px,8vw,132px);font-weight:300;line-height:.88;letter-spacing:-.055em;margin:0}.contact-side{padding-bottom:14px}.contact-side p{font-size:16px;line-height:1.7;max-width:500px}.email-big{display:block;margin-top:40px;border-top:1px solid #000;border-bottom:1px solid #000;padding:20px 0;font-size:clamp(18px,2vw,30px);font-weight:300}
.project-hero{position:relative;background:#000;color:#fff}.project-hero-image{height:min(72vh,900px);overflow:hidden}.project-hero-image img{width:100%;height:100%;object-fit:cover;opacity:.86}.project-heading{padding:45px var(--pad) 55px;max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:8fr 4fr;gap:50px;align-items:end}.project-heading h1{font-size:clamp(48px,7vw,105px);font-weight:300;line-height:.9;letter-spacing:-.05em;margin:8px 0}.project-heading h1 small{display:block;font-size:.35em;letter-spacing:-.02em;margin-top:15px}.project-facts{font-size:10px;letter-spacing:.12em;text-transform:uppercase;display:grid;gap:8px}.project-overview{display:grid;grid-template-columns:4fr 8fr;gap:clamp(30px,8vw,140px)}.project-overview h2{font-size:clamp(34px,4vw,62px);font-weight:300;line-height:1.08;letter-spacing:-.035em;margin:0}.project-overview p{font-size:clamp(17px,1.6vw,23px);font-weight:300;line-height:1.65;margin:0 0 30px}.attribution{font-size:11px!important;letter-spacing:.06em;text-transform:uppercase;font-weight:500!important}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #000;border-bottom:1px solid #000;margin-top:70px}.stat{padding:32px 20px 28px 0}.stat+.stat{border-left:1px solid var(--line);padding-left:30px}.stat strong{display:block;font-size:clamp(30px,4vw,62px);font-weight:300;letter-spacing:-.04em}.stat span{font-size:9px;letter-spacing:.16em}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;background:#000}.gallery figure{margin:0;overflow:hidden;background:#222;min-height:380px}.gallery figure:nth-child(3n+1){grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover;min-height:380px}.next-project{background:var(--stone);padding:80px var(--pad)}.next-inner{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;align-items:end;gap:40px}.next-inner h3{font-size:clamp(34px,4vw,66px);font-weight:300;margin:10px 0 0;letter-spacing:-.04em}.next-arrow{font-size:46px;font-weight:300}
.site-footer{background:#000;color:#fff;padding:70px var(--pad) 35px;display:grid;grid-template-columns:90px 4fr 3fr;gap:35px;align-items:start}.footer-mark img{width:64px}.footer-line{font-size:clamp(20px,2vw,30px);font-weight:300;margin:10px 0}.footer-contact{display:flex;flex-direction:column;gap:8px;font-size:12px}.footer-legal{grid-column:2/4;color:#999;font-size:9px;line-height:1.55;max-width:760px;margin-top:25px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:88px}.brand{width:205px}.site-nav{display:none;position:fixed;inset:88px 0 0;background:var(--paper);padding:60px var(--pad);flex-direction:column;gap:15px;font-size:22px}.menu-open .site-nav{display:flex}.menu-toggle{display:block}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding-top:40px}.hero-image{height:58vh}.statement,.cap-grid,.studio-grid,.project-overview,.project-heading,.contact-hero,.page-hero.split{grid-template-columns:1fr}.statement{gap:35px}.project-card,.project-card:nth-child(3n),.project-card:nth-child(3n+1):not(:first-child){grid-column:span 12}.pm-band{grid-template-columns:1fr}.pm-image{height:52vh}.work-row{grid-template-columns:55px 1fr}.work-row .sector,.work-row .place{display:none}.approach-lead,.approach-body{grid-column:1/13}.service-item{grid-template-columns:55px 1fr}.service-item p{grid-column:2}.page-hero.split .sub{margin:20px 0 0}.contact-hero{min-height:auto;padding-top:100px;padding-bottom:120px}.project-heading{gap:20px}.gallery{grid-template-columns:1fr}.gallery figure:nth-child(3n+1){grid-column:span 1}.gallery figure,.gallery img{min-height:280px}.site-footer{grid-template-columns:70px 1fr}.footer-contact{grid-column:2}.footer-legal{grid-column:2}.stats{grid-template-columns:1fr}.stat+.stat{border-left:0;border-top:1px solid var(--line);padding-left:0}.project-hero-image{height:55vh}}
@media(max-width:560px){:root{--pad:20px}.site-header{padding-left:20px;padding-right:20px}.brand{width:180px}.hero h1{font-size:50px}.hero-image{height:48vh}.page-hero{padding-top:55px}.pm-points,.bio-facts{grid-template-columns:1fr}.service-item{grid-template-columns:40px 1fr}.site-footer{grid-template-columns:1fr}.footer-contact,.footer-legal{grid-column:1}.footer-mark{margin-bottom:10px}.gallery{padding:6px;gap:6px}.project-heading{padding-top:30px}.project-heading h1{font-size:44px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.project-image img{transition:none}}

/* =========================================================
   KAMI V2 — BLACK / WHITE / HIGH CONTRAST
   ========================================================= */
:root{
  --black:#000000;
  --white:#ffffff;
  --graphite:#777777;
  --stone:#ffffff;
  --paper:#000000;
  --line:rgba(255,255,255,.28);
}
html{background:#000}
body{background:#000;color:#fff}
::selection{background:#fff;color:#000}
.site-header{background:#000;color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}
.site-nav a:after{background:#fff}
.menu-toggle span{background:#fff}
.site-nav{color:#fff}
.hero,.page-hero,.contact-hero{background:#000;color:#fff}
.hero h1,.page-hero h1,.contact-hero h1{font-weight:300}
.hero .slash{color:#727272}
.hero-image{background:#090909}
.hero-image img{filter:grayscale(1) contrast(1.16) brightness(.83);transition:filter .7s ease,transform .9s cubic-bezier(.2,.75,.2,1)}
.hero-image:hover img{filter:grayscale(1) contrast(1.12) brightness(.93);transform:scale(1.01)}
.section{background:#000;color:#fff}
.section.rule{border-top-color:rgba(255,255,255,.22)}
.light-panel{background:#fff!important;color:#000!important;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax)}
.light-panel.rule{border-top-color:rgba(0,0,0,.2)}
.dark-panel{background:#000!important;color:#fff!important;box-shadow:0 0 0 100vmax #000;clip-path:inset(0 -100vmax)}
.project-card{color:#fff}
.project-image{background:#111}
.project-image img{filter:grayscale(1) contrast(1.08);transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .55s ease}
.project-card:hover .project-image img{transform:scale(1.025);filter:grayscale(0) contrast(1)}
.project-meta{border-top-color:#fff}
.capabilities{background:#fff;color:#000}
.capabilities .eyebrow.inverse{color:#000}
.cap-list{border-top-color:rgba(0,0,0,.6)}
.cap-row{border-bottom-color:rgba(0,0,0,.25)}
.cap-num{color:#555}
.pm-image img{filter:grayscale(1) contrast(1.12)}
.pm-copy{background:#fff;color:#000}
.pm-points li{border-top-color:rgba(0,0,0,.55)}
.work-row{border-top-color:rgba(255,255,255,.48)}
.work-row:last-child{border-bottom-color:rgba(255,255,255,.48)}
.work-row:hover{background:#fff;color:#000;padding-left:18px;padding-right:18px;transition:background .22s,color .22s,padding .22s}
.work-row:hover .name{padding-left:0}
.service-list{border-top-color:currentColor}
.service-item{border-bottom-color:rgba(255,255,255,.26)}
.light-panel .service-item{border-bottom-color:rgba(0,0,0,.18)}
.light-panel .service-list{border-top-color:#000}
.studio-portrait{background:#000}
.studio-portrait img{filter:grayscale(1) contrast(1.12);opacity:.88}
.fact{border-top-color:currentColor}
.email-big{border-top-color:currentColor;border-bottom-color:currentColor}
.project-hero{background:#000;color:#fff}
.project-hero-image img{filter:grayscale(1) contrast(1.08);opacity:.9}
.project-overview .stats{border-top-color:#000;border-bottom-color:#000}
.project-overview .stat+.stat{border-left-color:rgba(0,0,0,.18)}
.gallery{background:#000;gap:8px;padding:8px}
.gallery figure{background:#050505}
.next-project{background:#000;color:#fff;border-top:1px solid rgba(255,255,255,.18)}
.site-footer{border-top:1px solid rgba(255,255,255,.18)}
.footer-legal{color:#777}
@media(max-width:900px){
  .site-nav{background:#000;color:#fff;border-top:1px solid rgba(255,255,255,.14)}
  .work-row:hover{padding-left:10px;padding-right:10px}
  .project-overview .stat+.stat{border-left:0;border-top-color:rgba(0,0,0,.18)}
}
/* Keep the capabilities block black-dominant on the home page. */
.capabilities{background:#000;color:#fff}
.capabilities .eyebrow.inverse{color:#fff}
.cap-list{border-top-color:rgba(255,255,255,.48)}
.cap-row{border-bottom-color:rgba(255,255,255,.24)}
.cap-num{color:#8a8a8a}


/* =========================================================
   KAMI V2.1 — BRAND REFINEMENTS
   Smaller masthead / approved tagline / color-first imagery
   ========================================================= */
.brand{width:190px}
.hero .brand-tagline{font-size:clamp(54px,7.3vw,122px);line-height:.9;letter-spacing:-.045em}
.hero .brand-tagline span{display:block}

/* Photography stays in color. Hover adds a restrained editorial punch. */
.hero-image img,
.project-image img,
.pm-image img,
.studio-portrait img,
.project-hero-image img,
.gallery img{
  filter:saturate(.96) contrast(1.03) brightness(.98);
  transition:filter .55s ease, transform .8s cubic-bezier(.2,.75,.2,1), opacity .55s ease;
}
.hero-image:hover img{
  filter:saturate(1.10) contrast(1.07) brightness(1.01);
  transform:scale(1.012);
}
.project-card:hover .project-image img{
  transform:scale(1.025);
  filter:saturate(1.18) contrast(1.08) brightness(1.01);
}
.pm-image:hover img,
.studio-portrait:hover img,
.project-hero-image:hover img,
.gallery figure:hover img{
  filter:saturate(1.14) contrast(1.07) brightness(1.01);
}
.studio-portrait img{opacity:.94}
.project-hero-image img{opacity:.94}
.gallery figure{position:relative}
.gallery figure:after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0);
  pointer-events:none;
  transition:background .55s ease;
}
.gallery figure:hover:after{background:rgba(0,0,0,.04)}

@media(max-width:900px){.brand{width:165px}}
@media(max-width:560px){.brand{width:148px}.hero .brand-tagline{font-size:48px}}


/* =========================================================
   KAMI V2.4 — FULL-BLEED HERO WITH OVERLAID TEXT
   ========================================================= */
.hero{
  position:relative;
  max-width:none;
  width:100%;
  min-height:calc(100vh - 112px);
  margin:0;
  padding:0;
  display:block;
  overflow:hidden;
  background:#000;
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.48) 30%, rgba(0,0,0,.18) 55%, rgba(0,0,0,.10) 100%),
             linear-gradient(0deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.12) 38%, rgba(0,0,0,.06) 100%);
  z-index:1;
  pointer-events:none;
}
.hero-copy{
  position:absolute;
  left:var(--pad);
  right:var(--pad);
  bottom:clamp(34px,7vw,78px);
  z-index:2;
  max-width:min(760px, 72vw);
  padding:0;
}
.hero .eyebrow,
.hero h1,
.hero .hero-intro{position:relative; z-index:2; text-shadow:0 2px 18px rgba(0,0,0,.22)}
.hero-intro{max-width:650px}
.hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  background:#0a0a0a;
}
.hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:900px){
  .hero{min-height:calc(100vh - 88px)}
  .hero-copy{max-width:min(680px, 88vw); bottom:32px}
  .hero:before{
    background:linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.22) 25%, rgba(0,0,0,.58) 100%);
  }
}
@media(max-width:560px){
  .hero{min-height:calc(100vh - 88px)}
  .hero-copy{left:20px; right:20px; bottom:24px; max-width:none}
  .hero .hero-intro{font-size:15px; max-width:34rem}
}


/* KAMI V2.5 — project provenance */
.project-firm{font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:.64;margin-top:8px}
.work-row .name small{display:block;margin-top:8px;font-size:9px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:500;opacity:.62}
.project-facts span:last-child{margin-top:6px;opacity:.72}
