
:root{--paper:#f7f7f4;--ink:#111;--line:#c8c8c3;--pad:clamp(16px,1.6vw,28px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:12px;line-height:1.25;font-weight:400}a{color:inherit;text-decoration:none}img{display:block;width:100%}
.site-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto;padding:13px var(--pad) 11px;background:rgba(247,247,244,.96);border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.01em}.brand{font-weight:600}.site-nav{display:flex;gap:24px}.site-nav a,.site-footer a{border-bottom:1px solid transparent}.site-nav a:hover,.site-footer a:hover{border-color:currentColor}
.catalog-home,.projects-page{padding:20px var(--pad) 70px}.intro-line{display:flex;justify-content:space-between;padding-bottom:48px;font-size:10px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(30px,4vw,72px) clamp(20px,3vw,52px);align-items:start}.catalog-card{display:block}.card-meta,.card-title{display:flex;justify-content:space-between;gap:12px}.card-meta{padding-bottom:8px;font-size:9px}.card-image{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:#efefeb;overflow:hidden}.card-image img{width:78%;height:78%;object-fit:cover;transition:transform .35s ease}.catalog-card:hover .card-image img{transform:scale(1.025)}.card-title{padding-top:8px;font-size:10px}.card-title strong{font-size:11px;font-weight:600}.card-title span{text-align:right;color:#555}
.page-heading{display:grid;grid-template-columns:1fr 1fr;padding:12px 0 78px;border-bottom:1px solid var(--line);margin-bottom:24px}.page-heading h1{margin:0;font-size:12px;font-weight:600}.page-heading p{margin:0;max-width:330px}
.project-detail{padding:20px var(--pad) 0}.project-detail-head{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;padding:4px 0 18px;border-bottom:1px solid var(--line)}.project-detail-head>div{display:flex;justify-content:space-between;gap:12px;font-size:9px}.project-detail-head>div:last-child{text-align:right}.project-detail-head h1{margin:0;text-align:center;font-size:12px;font-weight:600}.lead-image{margin:70px auto 110px;width:min(62vw,920px)}.lead-image img{aspect-ratio:1.25/1;object-fit:cover}.project-copy{display:grid;grid-template-columns:1.3fr .7fr;gap:12vw;padding:0 0 110px;border-bottom:1px solid var(--line)}.project-copy>p{margin:0;max-width:620px;font-size:20px;line-height:1.2;letter-spacing:-.015em}.project-copy dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:5px 24px;align-content:start;font-size:10px}.project-copy dt{color:#666}.project-copy dd{margin:0}.project-gallery{padding:110px 0 150px;display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad)}.project-gallery figure{margin:0}.gallery-wide{grid-column:2/12;margin-bottom:80px!important}.gallery-left{grid-column:1/7}.gallery-right{grid-column:8/13;margin-top:180px!important}.project-gallery img{height:auto;max-height:78vh;object-fit:cover}.next-link{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:15px 0;border-top:1px solid var(--line);font-size:10px}.next-link strong{text-align:center;font-size:12px}.next-link span:last-child{text-align:right}
.site-footer{display:grid;grid-template-columns:1fr auto;gap:20px;margin-top:80px;padding:18px var(--pad) 32px;border-top:1px solid var(--line);font-size:10px;line-height:1.5}.site-footer>div:last-child{text-align:right}.about-page{min-height:calc(100vh - 120px);padding:20px var(--pad) 70px}.about-copy{display:grid;grid-template-columns:1fr 1fr;padding-top:72px}.about-copy p{grid-column:2;margin:0;max-width:560px;font-size:20px;line-height:1.2;letter-spacing:-.015em}
@media(max-width:800px){.site-header{grid-template-columns:1fr}.site-nav{margin-top:8px;gap:18px}.catalog-home,.projects-page{padding-top:14px}.intro-line{padding-bottom:28px}.catalog-grid{grid-template-columns:1fr;gap:52px}.card-image img{width:82%;height:82%}.page-heading{grid-template-columns:1fr;padding-bottom:42px}.page-heading p{margin-top:12px}.project-detail-head{grid-template-columns:1fr}.project-detail-head h1{text-align:left;margin:20px 0}.project-detail-head>div:last-child{text-align:left}.lead-image{width:100%;margin:34px auto 70px}.project-copy{grid-template-columns:1fr;gap:42px;padding-bottom:70px}.project-copy>p{font-size:18px}.project-gallery{padding:70px 0 90px;grid-template-columns:1fr}.gallery-wide,.gallery-left,.gallery-right{grid-column:1!important;margin:0 0 45px!important}.next-link{grid-template-columns:1fr auto auto;gap:18px}.site-footer{grid-template-columns:1fr}.site-footer>div:last-child{text-align:left}.about-copy{grid-template-columns:1fr}.about-copy p{grid-column:1}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}


/* Full-screen homepage cover */
.home-cover-page{overflow:hidden;background:#ecece7}
.home-cover{position:relative;width:100%;height:100svh;min-height:560px;overflow:hidden;color:#222;background:#ecece7}
.home-cover-image-link{position:absolute;right:clamp(36px,11vw,180px);top:52%;transform:translateY(-50%);width:min(40vw,620px);display:block;z-index:1}
.home-cover-image{position:relative;display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,0,0,.12))}
.home-cover-shade{display:none}
.home-cover-header{position:absolute;z-index:2;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto;align-items:center;padding:16px var(--pad);font-size:11px;letter-spacing:.01em;border-bottom:1px solid #cfcfc9}
.home-cover-header .brand{font-weight:600}
.home-cover-header .site-nav{display:flex;gap:24px}
.home-cover-header a,.home-cover-footer a{border-bottom:1px solid transparent}
.home-cover-header a:hover,.home-cover-footer a:hover{border-color:currentColor}
.home-cover-footer{position:absolute;z-index:2;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr auto;gap:20px;padding:16px var(--pad) 16px;font-size:10px;line-height:1.5;border-top:1px solid #cfcfc9}
.home-cover-footer>div:last-child{text-align:right}
@media(max-width:800px){
  .home-cover-header{grid-template-columns:1fr auto;align-items:start;padding-top:14px}
  .home-cover-header .site-nav{margin-top:0;gap:16px}
  .home-cover-footer{grid-template-columns:1fr;gap:3px}
  .home-cover-footer>div:last-child{text-align:left}
  .home-cover-image-link{right:50%;top:54%;transform:translate(50%,-50%);width:min(72vw,440px)}
}


/* Single-image project slideshow */
.project-slideshow-page{padding-bottom:0}
.project-slideshow{position:relative;width:100%;height:calc(100svh - 94px);min-height:520px;margin:0;background:#ecece7;overflow:hidden;cursor:default}
.project-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
.project-slide.is-active{opacity:1;visibility:visible}
.slideshow-next,.slideshow-prev{position:absolute;z-index:3;top:0;width:30%;height:100%;border:0;background:transparent;color:#fff;opacity:0;transition:opacity .2s ease;font:inherit}
.slideshow-next{right:0;cursor:e-resize}
.slideshow-prev{left:0;cursor:w-resize}
.slideshow-next span,.slideshow-prev span{position:absolute;top:50%;transform:translateY(-50%);width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent}
.slideshow-next span{right:var(--pad);border-left:6px solid #fff}
.slideshow-prev span{left:var(--pad);border-right:6px solid #fff}
.project-slideshow:hover .slideshow-next,.project-slideshow:hover .slideshow-prev,.slideshow-next:focus-visible,.slideshow-prev:focus-visible{opacity:1}
.slideshow-next:focus-visible,.slideshow-prev:focus-visible{outline:1px solid #fff;outline-offset:-4px}
.slide-count{position:absolute;z-index:2;left:12px;bottom:10px;padding:4px 6px;background:rgba(247,247,244,.86);font-size:9px}
.compact-project-copy{padding:28px 0 38px;border-bottom:0}
.compact-project-copy .project-description{max-width:680px;font-size:10px;line-height:1.5}.compact-project-copy .project-description p{margin:0 0 1.5em}.compact-project-copy .project-description p:last-child{margin-bottom:0}
.project-slideshow-page .next-link{margin-top:0}
.compact-footer{margin-top:0}
@media(max-width:800px){
  .project-slideshow{height:62svh;min-height:420px}
  .slideshow-next,.slideshow-prev{width:42%;opacity:1}
  .slideshow-next span{right:14px;border-top-width:4px;border-bottom-width:4px;border-left-width:6px}
  .slideshow-prev span{left:14px;border-top-width:4px;border-bottom-width:4px;border-right-width:6px}
  .compact-project-copy{padding:24px 0 34px}
  .compact-project-copy .project-description{font-size:10px}
}

/* Vertically center project tiles between header and footer rules */
.projects-index-page{min-height:100svh;display:flex;flex-direction:column}
.projects-index-page .site-header{flex:0 0 auto}
.projects-index-page .projects-page{flex:1;display:flex;align-items:center;padding-top:24px;padding-bottom:24px}
.projects-index-page .catalog-grid{width:100%}
.projects-index-page .site-footer{flex:0 0 auto;margin-top:0}
@media(max-width:800px){
  .projects-index-page{display:block}
  .projects-index-page .projects-page{display:block;padding-top:28px;padding-bottom:42px}
  .projects-index-page .site-footer{margin-top:0}
}

/* Viewport-locked layout: no page scrolling */
html,body{width:100%;height:100%;overflow:hidden}
body:not(.home-cover-page){height:100svh;display:flex;flex-direction:column}
body:not(.home-cover-page)>.site-header,
body:not(.home-cover-page)>.site-footer{flex:0 0 auto}
body:not(.home-cover-page)>main{flex:1 1 auto;min-height:0;overflow:hidden}
.site-header{position:relative}
.site-footer{margin-top:0;padding-top:12px;padding-bottom:14px}

/* Project index always fits between header and footer */
.projects-index-page .projects-page{min-height:0;padding:clamp(10px,2vh,22px) var(--pad);display:flex;align-items:center;justify-content:center}
.projects-index-page .catalog-grid{
  width:min(100%,calc((100svh - 150px) * 2.5));
  max-height:calc(100svh - 150px);
  margin:auto;
  gap:clamp(12px,2vw,34px);
  align-items:center;
}
.projects-index-page .catalog-card{min-width:0}
.projects-index-page .card-image{width:100%;aspect-ratio:1/1}
.projects-index-page .card-image img{width:80%;height:80%}
.projects-index-page .card-meta{padding-bottom:5px}
.projects-index-page .card-title{padding-top:5px}

/* Individual project pages: image, copy, and footer all visible at once */
.project-slideshow-page{flex:1 1 auto;min-height:0;padding:10px var(--pad) 0;display:flex;flex-direction:column;overflow:hidden}
.project-slideshow{
  flex:1 1 auto;
  min-height:0;
  height:auto;
  margin:0;
}
.project-slide{object-fit:contain;background:#ecece7}
.compact-project-copy{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(20px,6vw,80px);
  padding:10px 0 12px;
  align-items:start;
}
.compact-project-copy .project-description{
  max-width:none;
  font-size:clamp(7px,.68vw,10px);
  line-height:1.3;
  columns:2;
  column-gap:clamp(18px,3vw,42px);
}
.compact-project-copy .project-description p{break-inside:avoid;margin:0 0 .7em}
.compact-project-copy dl{font-size:clamp(7px,.68vw,10px);gap:3px 18px;white-space:nowrap}
.project-slideshow-page+.site-footer{flex:0 0 auto}

/* Approach page fits in the available viewport */
.about-page{min-height:0;padding:16px var(--pad);display:flex;flex-direction:column;justify-content:center}
.about-page .page-heading{padding:0 0 18px;margin:0 0 18px}
.about-page .about-copy{padding:0;display:grid;grid-template-columns:1fr 1fr}
.about-page .about-copy p{font-size:clamp(12px,1.5vw,20px)}

@media(max-width:800px){
  .site-header{grid-template-columns:1fr auto;align-items:start;padding-top:10px;padding-bottom:9px}
  .site-nav{margin-top:0;gap:14px}
  .site-footer{grid-template-columns:1fr auto;gap:10px;padding-top:9px;padding-bottom:10px;font-size:8px;line-height:1.25}
  .site-footer>div:last-child{text-align:right}

  .projects-index-page{display:flex}
  .projects-index-page .projects-page{display:flex;padding:10px var(--pad)}
  .projects-index-page .catalog-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    max-height:calc(100svh - 120px);
    gap:8px;
  }
  .projects-index-page .card-meta{font-size:7px}
  .projects-index-page .card-title{font-size:7px;display:block}
  .projects-index-page .card-title strong{font-size:8px;display:block}
  .projects-index-page .card-title span{display:block;text-align:left;margin-top:2px}
  .projects-index-page .card-image img{width:88%;height:88%}

  .project-slideshow-page{padding:7px var(--pad) 0}
  .project-slideshow{height:auto;min-height:0}
  .compact-project-copy{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:7px 0 8px}
  .compact-project-copy .project-description{font-size:clamp(6.5px,1.55vw,8px);line-height:1.22;columns:2;column-gap:12px}
  .compact-project-copy dl{font-size:clamp(6.5px,1.55vw,8px);gap:2px 8px}
  .slide-count{font-size:7px;bottom:5px;left:6px}

  .about-page{padding:12px var(--pad)}
  .about-page .page-heading{padding-bottom:10px;margin-bottom:12px}
  .about-page .about-copy{grid-template-columns:1fr}
  .about-page .about-copy p{grid-column:1;font-size:clamp(11px,3vw,16px)}
}

@media(max-height:650px){
  .site-header{padding-top:8px;padding-bottom:7px}
  .site-footer{padding-top:7px;padding-bottom:8px;font-size:8px}
  .compact-project-copy{padding-top:6px;padding-bottom:7px}
  .compact-project-copy .project-description,.compact-project-copy dl{font-size:7px;line-height:1.18}
  .projects-index-page .catalog-grid{width:min(100%,calc((100svh - 110px) * 2.6));max-height:calc(100svh - 110px)}
}

/* Left-align project metadata */
.compact-project-copy dl,
.compact-project-copy dt,
.compact-project-copy dd {
  text-align:left;
  justify-items:start;
}
.compact-project-copy dl {
  justify-self:start;
}

/* Postcard-style splash page */
.home-cover-page{background:#f7f7f4;color:#111}
.home-cover{
  --postcard-width:min(78vw,1120px);
  --postcard-height:min(72svh,720px);
  position:relative;
  width:100%;
  height:100svh;
  min-height:0;
  overflow:hidden;
  color:#fff;
}
.home-cover-image{
  position:absolute;
  inset:50% auto auto 50%;
  width:var(--postcard-width);
  height:var(--postcard-height);
  transform:translate(-50%,-50%);
  object-fit:cover;
  object-position:center;
  box-shadow:0 1px 8px rgba(0,0,0,.12);
}
.home-cover-shade{
  position:absolute;
  left:50%;
  top:50%;
  width:var(--postcard-width);
  height:var(--postcard-height);
  transform:translate(-50%,-50%);
  background:linear-gradient(to bottom,rgba(0,0,0,.23),rgba(0,0,0,.01) 30%,rgba(0,0,0,.01) 70%,rgba(0,0,0,.24));
  pointer-events:none;
}
.home-cover-header,
.home-cover-footer{
  left:50%;
  right:auto;
  width:var(--postcard-width);
  transform:translateX(-50%);
}
.home-cover-header{
  top:calc((100svh - var(--postcard-height))/2);
  padding:16px 18px;
}
.home-cover-footer{
  bottom:calc((100svh - var(--postcard-height))/2);
  padding:16px 18px 18px;
}
@media(max-width:800px){
  .home-cover{
    --postcard-width:calc(100vw - 30px);
    --postcard-height:min(72svh,620px);
  }
  .home-cover-header{padding:13px 14px}
  .home-cover-footer{padding:13px 14px 15px}
}

/* Revised floating-image splash: text stays at viewport edges */
.home-cover-page{background:#f7f7f4;color:#111}
.home-cover{color:#111}
.home-cover-image{
  width:min(64vw,960px);
  height:min(62svh,640px);
  box-shadow:none;
}
.home-cover-shade{
  width:min(64vw,960px);
  height:min(62svh,640px);
  background:transparent;
}
.home-cover-header,
.home-cover-footer{
  left:0;
  right:0;
  width:auto;
  transform:none;
}
.home-cover-header{
  top:0;
  padding:16px var(--pad);
}
.home-cover-footer{
  bottom:0;
  padding:16px var(--pad) 22px;
}
.home-cover-header a,
.home-cover-footer a{
  border-bottom:0;
}
.home-cover-header .site-nav a,
.home-cover-footer a{
  position:relative;
}
.home-cover-header .site-nav a::after,
.home-cover-footer a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-2px;
  border-bottom:1px solid currentColor;
  transition:right .2s ease;
}
.home-cover-header .site-nav a:hover::after,
.home-cover-footer a:hover::after{
  right:0;
}
@media(max-width:800px){
  .home-cover-image,.home-cover-shade{
    width:calc(100vw - 56px);
    height:min(56svh,520px);
  }
  .home-cover-header{padding:14px var(--pad)}
  .home-cover-footer{padding:14px var(--pad) 18px}
}

/* Preserve full uncropped portrait homepage image */
.home-cover-image{
  width:auto;
  height:min(68svh,760px);
  max-width:min(64vw,960px);
  object-fit:contain;
  object-position:center;
}
.home-cover-shade{display:none;}
@media(max-width:800px){
  .home-cover-image{
    width:auto;
    height:min(66svh,680px);
    max-width:calc(100vw - 40px);
  }
}

/* Larger clickable homepage image */
.home-cover-image-link{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(.8);
  transform-origin:center;
  display:block;
  height:min(88svh,980px);
  max-width:min(78vw,1220px);
  z-index:1;
}
.home-cover-image-link .home-cover-image{
  position:static;
  inset:auto;
  transform:none;
  display:block;
  width:auto;
  height:100%;
  max-width:100%;
  object-fit:contain;
}
@media(max-width:800px){
  .home-cover-image-link{
    height:min(82svh,820px);
    max-width:calc(100vw - 24px);
  }
}


/* Approach copy: compact two-column setting so the full text remains visible */
.about-page .about-copy{display:block;margin-left:auto;width:min(72vw,980px)}
.about-page .approach-text{columns:2;column-gap:clamp(24px,4vw,60px);font-size:clamp(9px,.9vw,13px);line-height:1.32}
.about-page .approach-text p{margin:0 0 1em;break-inside:avoid;font-size:inherit;line-height:inherit;letter-spacing:0}
@media(max-width:800px){
  .about-page .about-copy{width:100%}
  .about-page .approach-text{columns:2;column-gap:14px;font-size:clamp(7px,1.8vw,9px);line-height:1.22}
}
@media(max-height:700px){
  .about-page .approach-text{font-size:8px;line-height:1.2}
  .about-page .page-heading{padding-bottom:8px;margin-bottom:10px}
}

/* Approach: one paragraph per side-by-side column */
.about-page .about-copy{
  display:block;
  margin-left:auto;
  width:min(86vw,1260px);
}
.about-page .approach-text{
  columns:auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(20px,3vw,54px);
  align-items:start;
  font-size:clamp(9px,.82vw,12px);
  line-height:1.3;
}
.about-page .approach-text p{
  margin:0;
  break-inside:auto;
  font-size:inherit;
  line-height:inherit;
  letter-spacing:0;
}
@media(max-width:800px){
  .about-page .about-copy{width:100%}
  .about-page .approach-text{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    font-size:clamp(6px,1.45vw,8px);
    line-height:1.2;
  }
}


/* Approach links */
.approach-text .text-link{
  text-decoration:underline;
  text-underline-offset:2px;
}
.approach-final-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}
.instagram-link{
  display:inline-flex;
  width:14px;
  height:14px;
  margin-top:12px;
}
.instagram-link svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
}
@media(max-height:700px){
  .instagram-link{width:11px;height:11px;margin-top:7px}
}


/* Approach layout matched to supplied reference */
.about-page{
  justify-content:center;
}
.about-page .page-heading{
  width:100%;
  padding:0 0 18px;
  margin:0 0 20px;
  border-bottom:1px solid var(--line);
}
.about-page .about-copy{
  width:100%;
  margin:0;
  display:block;
}
.about-page .approach-text{
  display:grid;
  grid-template-columns:minmax(0,48%) minmax(0,27%) minmax(0,25%);
  gap:0;
  align-items:start;
  font-size:clamp(9px,.78vw,12px);
  line-height:1.28;
}
.approach-center-column{
  grid-column:2;
  padding-right:clamp(26px,3vw,52px);
}
.approach-center-column p + p{
  margin-top:clamp(34px,4.2vh,58px);
}
.approach-final-column{
  grid-column:3;
  padding-left:clamp(10px,1vw,18px);
}
.about-page .approach-text p{margin:0}
@media(max-width:800px){
  .about-page .approach-text{
    grid-template-columns:minmax(0,43%) minmax(0,31%) minmax(0,26%);
    font-size:clamp(6.5px,1.4vw,8px);
    line-height:1.18;
  }
  .approach-center-column{padding-right:10px}
  .approach-center-column p + p{margin-top:14px}
  .approach-final-column{padding-left:4px}
}
@media(max-height:700px){
  .about-page .approach-text{font-size:7.5px;line-height:1.18}
  .approach-center-column p + p{margin-top:18px}
}

/* Archive index */
.archive-page { height:100svh; overflow:hidden; }
.archive-main { height:calc(100svh - 84px); padding:0 15px; display:flex; align-items:center; }
.archive-main .page-heading { width:100%; }

/* Navigation hover: small dot instead of underline */
.site-nav a,
.home-cover-header .site-nav a{
  position:relative;
  border-bottom:0!important;
}
.site-nav a::before,
.home-cover-header .site-nav a::before{
  content:"";
  position:absolute;
  top:50%;
  left:-9px;
  width:3px;
  height:3px;
  border-radius:50%;
  background:currentColor;
  opacity:0;
  transform:translateY(-50%);
  transition:opacity .15s ease;
}
.site-nav a:hover::before,
.site-nav a:focus-visible::before,
.home-cover-header .site-nav a:hover::before,
.home-cover-header .site-nav a:focus-visible::before{
  opacity:1;
}
.site-nav a:hover{
  border-color:transparent!important;
}
.home-cover-header .site-nav a::after{
  display:none!important;
}


/* Enlarged homepage image */
.home-cover-image-link{
  width:min(96vw,1600px)!important;
  height:min(92svh,1100px)!important;
  max-width:none!important;
}
.home-cover-image-link .home-cover-image{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
@media(max-width:800px){
  .home-cover-image-link{
    width:calc(100vw - 16px)!important;
    height:min(88svh,900px)!important;
    max-width:none!important;
  }
}

.archive-main{position:relative;}
.archive-password{position:absolute;left:50%;top:calc(50% + 54px);transform:translateX(-50%);width:min(340px,calc(100% - 30px));}
.archive-password input{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:10px 0;font:inherit;font-size:12px;letter-spacing:.08em;color:inherit;outline:none;}
.archive-password input::placeholder{color:inherit;opacity:.6;}
.archive-password input:focus{border-bottom-color:currentColor;}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}


/* Full-bleed shells homepage */
.home-cover-page{background:#111!important;color:#fff!important;overflow:hidden!important}
.home-cover{--postcard-width:100vw!important;--postcard-height:100svh!important;width:100%!important;height:100svh!important;min-height:560px!important;color:#fff!important}
.home-cover-image-link{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important;display:block!important}
.home-cover-image-link .home-cover-image,
.home-cover-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important;object-fit:cover!important;object-position:center!important;box-shadow:none!important}
.home-cover-shade{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important;background:linear-gradient(to bottom,rgba(0,0,0,.30),rgba(0,0,0,.03) 32%,rgba(0,0,0,.03) 68%,rgba(0,0,0,.34))!important;pointer-events:none!important}
.home-cover-header,.home-cover-footer{left:0!important;right:0!important;width:100%!important;transform:none!important;color:#fff!important}
.home-cover-header{top:0!important;padding:16px var(--pad)!important}
.home-cover-footer{bottom:0!important;padding:16px var(--pad) 22px!important}
.home-cover-header a,.home-cover-footer a{color:#fff!important}

/* FINAL HOMEPAGE LAYOUT OVERRIDE — match reference screenshot */
body.home-cover-page{
  background:#f1f1ee;
  color:#111 !important;
}
.home-cover-page .home-cover{
  position:relative;
  width:100%;
  height:100svh;
  min-height:620px;
  overflow:hidden;
  background:#f1f1ee;
  color:#111 !important;
}
.home-cover-page .home-cover-shade{display:none !important;}
.home-cover-page .home-cover-header,
.home-cover-page .home-cover-footer{
  position:absolute;
  left:0;
  right:0;
  width:100%;
  transform:none;
  z-index:5;
  background:#f1f1ee;
  color:#111 !important;
}
.home-cover-page .home-cover-header,
.home-cover-page .home-cover-header a,
.home-cover-page .home-cover-footer,
.home-cover-page .home-cover-footer a{
  color:#111 !important;
}
.home-cover-page .home-cover-header{
  top:0;
  height:38px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  padding:0 22px;
  border-bottom:1px solid #c9c9c5;
  font-size:10px;
  line-height:1;
  letter-spacing:0;
}
.home-cover-page .home-cover-header .brand{font-weight:600;}
.home-cover-page .home-cover-header .site-nav{
  display:flex;
  gap:28px;
  margin:0;
}
.home-cover-page .home-cover-footer{
  bottom:0;
  height:38px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:20px;
  padding:0 22px;
  border-top:1px solid #c9c9c5;
  font-size:9px;
  line-height:1;
}
.home-cover-page .home-cover-footer>div:last-child{text-align:right;}
.home-cover-page .home-cover-header a,
.home-cover-page .home-cover-footer a{border:0 !important;}
.home-cover-page .home-cover-header .site-nav a::after,
.home-cover-page .home-cover-footer a::after{display:none !important;}
.home-cover-page .home-cover-image-link{
  position:absolute;
  z-index:2;
  left:auto;
  right:15.5vw;
  top:50%;
  width:min(29.5vw,505px);
  max-width:505px;
  height:auto;
  transform:translateY(-50%) rotate(8deg);
  transform-origin:center;
  display:block;
}
.home-cover-page .home-cover-image-link .home-cover-image{
  position:static;
  inset:auto;
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.11));
}
@media(max-width:900px){
  .home-cover-page .home-cover-header{
    height:auto;
    min-height:50px;
    padding:10px 16px;
    align-items:start;
  }
  .home-cover-page .home-cover-header .site-nav{gap:16px;}
  .home-cover-page .home-cover-footer{
    height:auto;
    min-height:52px;
    grid-template-columns:1fr;
    gap:3px;
    padding:9px 16px;
    align-content:center;
  }
  .home-cover-page .home-cover-footer>div:last-child{text-align:left;}
  .home-cover-page .home-cover-image-link{
    right:50%;
    top:51%;
    width:min(57vw,390px);
    transform:translate(50%,-50%) rotate(8deg);
  }
}

/* ABSOLUTE FINAL HOMEPAGE SIZE FIX */
body.home-cover-page,
.home-cover-page .home-cover,
.home-cover-page .home-cover-header,
.home-cover-page .home-cover-footer,
.home-cover-page .home-cover-header a,
.home-cover-page .home-cover-footer a {
  color:#111 !important;
}
.home-cover-page .home-cover-image-link {
  position:absolute !important;
  inset:auto !important;
  left:auto !important;
  right:15.5vw !important;
  top:50% !important;
  width:min(29.5vw,505px) !important;
  height:auto !important;
  max-width:505px !important;
  transform:translateY(-50%) rotate(8deg) !important;
  transform-origin:center !important;
}
.home-cover-page .home-cover-image-link .home-cover-image,
.home-cover-page .home-cover-image {
  position:static !important;
  inset:auto !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  object-fit:contain !important;
  transform:none !important;
}
@media(max-width:900px){
  .home-cover-page .home-cover-image-link {
    left:50% !important;
    right:auto !important;
    top:51% !important;
    width:min(57vw,390px) !important;
    max-width:390px !important;
    height:auto !important;
    transform:translate(-50%,-50%) rotate(8deg) !important;
  }
}


/* Approach paragraph spacing */
.about-page .approach-text p + p{margin-top:1.15em;}


/* Clinton coming-soon project tile */
.catalog-card-coming-soon{cursor:default}
.catalog-card-coming-soon .card-image{position:relative}
.catalog-card-coming-soon .card-image img{transform:none!important}
.coming-soon-label{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  font-size:10px;
  font-weight:500;
  letter-spacing:.04em;
  color:#fff;
  text-shadow:0 1px 4px rgba(0,0,0,.35);
  white-space:nowrap;
  pointer-events:none;
}
@media(max-width:800px){
  .coming-soon-label{font-size:8px}
}


/* FINAL APPROACH LAYOUT: single continuous column */
.about-page .about-copy{
  display:block !important;
  width:min(48vw,720px) !important;
  margin-left:auto !important;
  padding:0 !important;
}
.about-page .approach-text{
  display:block !important;
  columns:auto !important;
  width:100% !important;
  font-size:clamp(11px,1vw,14px) !important;
  line-height:1.42 !important;
}
.about-page .approach-text p{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  font-size:inherit !important;
  line-height:inherit !important;
  letter-spacing:0 !important;
}
.about-page .approach-text p + p{
  margin-top:1.25em !important;
}
.about-page .instagram-link{
  display:inline-flex !important;
  margin-top:1.35em !important;
}
@media(max-width:800px){
  .about-page .about-copy{
    width:100% !important;
    margin-left:0 !important;
  }
  .about-page .approach-text{
    font-size:16px !important;
    line-height:1.36 !important;
  }
}
