#hero{position:relative;background:var(--c-bg);overflow:hidden}
#hero .hero__frame{position:relative;overflow:hidden}
#hero .hero__frame picture{display:block;width:100%;height:100%}
#hero .hero__bg{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
#hero .hero__scrim{position:absolute;inset:0;pointer-events:none}


@media (min-width:900px){
  #hero{height:calc(100svh - var(--header-h));min-height:560px;max-height:900px}
  #hero .hero__frame{position:absolute;inset:0}
  #hero .hero__scrim{background:
    linear-gradient(100deg,rgba(10,10,11,.94) 0%,rgba(10,10,11,.84) 28%,rgba(10,10,11,.42) 52%,rgba(10,10,11,.06) 78%,rgba(10,10,11,0) 100%),
    linear-gradient(to top,rgba(10,10,11,.72) 0%,rgba(10,10,11,.18) 26%,rgba(10,10,11,0) 46%)}
  #hero .hero__copy{position:absolute;z-index:3;inset-block:0;left:0;right:0;display:flex;flex-direction:column;justify-content:center;
    padding-inline:max(40px,var(--gutter));max-width:var(--maxw);margin-inline:auto}
  #hero .hero__sub,#hero h1{max-width:15ch}
  #hero .hero__sub{max-width:34ch}
}


@media (max-width:899px){
  #hero{height:calc(100svh - var(--header-h));min-height:520px;max-height:820px}
  #hero .hero__frame{position:absolute;inset:0}
  #hero .hero__bg{object-position:50% 34%}
  
  #hero .hero__scrim{background:
    linear-gradient(to top,rgba(10,10,11,.98) 0%,rgba(10,10,11,.96) 52%,rgba(10,10,11,.88) 64%,rgba(10,10,11,.6) 74%,rgba(10,10,11,.22) 85%,rgba(10,10,11,0) 96%)}
  #hero .hero__copy{position:absolute;z-index:3;inset-inline:0;bottom:0;
    padding:0 max(24px,var(--gutter)) clamp(1.75rem,1.4rem + 2.4vw,2.75rem)}
}

#hero .hero__kicker{margin:0 0 var(--sp-4);font-family:var(--ff-body);font-size:.75rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--c-accent)}
#hero h1{margin:0;font-size:clamp(2.75rem,1.4rem + 6.6vw,7rem);line-height:.9;letter-spacing:-.025em;color:var(--c-text)}
#hero .hero__sub{margin:clamp(1rem,.7rem + 1.1vw,1.75rem) 0 0;font-size:clamp(1rem,.95rem + .3vw,1.1875rem);line-height:1.55;color:var(--c-muted)}
#hero .hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-5);margin:clamp(1.5rem,1rem + 1.6vw,2.5rem) 0 0}
#hero .hero__actions .btn{min-height:56px;min-width:11.5rem;font-size:.875rem;letter-spacing:.16em}
#hero .hero__see{color:var(--c-text);font-size:.9375rem;letter-spacing:.06em;text-decoration:none;border-bottom:1px solid var(--c-accent);padding-bottom:3px;transition:border-color var(--mo-hover) var(--mo-ease),color var(--mo-hover) var(--mo-ease)}
#hero .hero__see:hover{color:var(--c-accent)}
@media (max-width:599px){#hero .hero__actions .btn{flex:1 1 100%;text-align:center}}

#what-we-do{background:var(--c-bg);padding-block:clamp(4rem,2.6rem + 5.4vw,8rem)}
#what-we-do .eyebrow{margin:0 0 clamp(2rem,1.4rem + 2.4vw,3.5rem)}
#what-we-do .wwd__grid{display:grid;gap:clamp(2rem,1.2rem + 3vw,4rem);grid-template-columns:1fr}
@media (min-width:768px){#what-we-do .wwd__grid{grid-template-columns:repeat(3,1fr);gap:clamp(1.75rem,1rem + 2.4vw,3.5rem)}}
#what-we-do .wwd__item{position:relative;padding-top:clamp(1.25rem,1rem + 1vw,1.75rem);border-top:1px solid var(--c-line)}
#what-we-do .wwd__num{display:block;margin-bottom:var(--sp-4);font-family:var(--ff-body);font-size:.75rem;font-weight:700;letter-spacing:.22em;color:var(--c-accent)}
#what-we-do .wwd__item h2{margin:0 0 var(--sp-3);font-size:clamp(1.5rem,1.2rem + 1.1vw,2.125rem);line-height:1.06;letter-spacing:-.015em;color:var(--c-text)}
#what-we-do .wwd__item p{margin:0;font-size:1rem;line-height:1.62;color:var(--c-muted);max-width:34ch}

@media (prefers-reduced-motion:no-preference){
  .motion #what-we-do .wwd__item{border-top-color:transparent;background-image:linear-gradient(to right,var(--c-accent),var(--c-accent));background-repeat:no-repeat;background-position:left top;background-size:0 1px;transition:background-size 620ms var(--mo-ease);transition-delay:var(--reveal-delay,0ms)}
  .motion #what-we-do .wwd__grid.is-visible .wwd__item,.motion #what-we-do .wwd__item.is-visible{background-size:100% 1px}
}

#the-kit{background:var(--c-surface);padding-block:clamp(4rem,2.6rem + 5.4vw,8rem)}
#the-kit .kit__head{margin-bottom:clamp(2rem,1.4rem + 2.4vw,3.5rem)}
#the-kit .kit__head h2{margin:var(--sp-4) 0 0;font-size:clamp(1.875rem,1.3rem + 2.6vw,3.75rem);line-height:1.02;letter-spacing:-.022em;color:var(--c-text);max-width:18ch}

#the-kit .kit__pair{display:grid;gap:clamp(1rem,.6rem + 1.4vw,1.75rem);grid-template-columns:1fr;align-items:center}
@media (min-width:820px){#the-kit .kit__pair{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
#the-kit figure{margin:0}
#the-kit img{display:block;width:100%;height:auto;background:var(--c-bg)}
#the-kit .kit__loc figcaption{margin-top:var(--sp-4);font-size:.9375rem;line-height:1.6;color:var(--c-muted);max-width:44ch}

#the-work{background:var(--c-bg);padding-block:clamp(4rem,2.6rem + 5.4vw,8rem)}
#the-work .eyebrow{margin:0 0 clamp(1.75rem,1.2rem + 2vw,3rem)}
#the-work .work__grid{display:grid;gap:clamp(.5rem,.3rem + .6vw,.875rem);grid-template-columns:1fr}
@media (min-width:600px){#the-work .work__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){#the-work .work__grid{grid-template-columns:repeat(3,1fr)}}
#the-work .work__cell{position:relative;margin:0;overflow:hidden;background:var(--c-surface);aspect-ratio:4/5}
#the-work .work__cell img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--mo-ease)}
@media (hover:hover) and (pointer:fine){#the-work .work__cell:hover img{transform:scale(1.04)}}

#who-its-for{background:var(--c-surface);padding-block:clamp(4rem,2.6rem + 5.4vw,8rem);border-top:1px solid var(--c-line)}
#who-its-for .eyebrow{margin:0 0 clamp(1.75rem,1.2rem + 2vw,3rem)}
#who-its-for .wif__list{list-style:none;margin:0;padding:0}
#who-its-for .wif__list li{padding-block:clamp(.75rem,.5rem + 1vw,1.25rem);border-bottom:1px solid var(--c-line);
  font-family:var(--ff-display);font-size:clamp(1.75rem,1.1rem + 3.2vw,4.25rem);line-height:1.04;letter-spacing:-.02em;color:var(--c-text)}
#who-its-for .wif__list li:first-child{border-top:1px solid var(--c-line)}
#who-its-for .wif__note{margin:clamp(2rem,1.4rem + 2vw,3rem) 0 0;font-size:clamp(1rem,.95rem + .3vw,1.125rem);line-height:1.6;color:var(--c-muted);max-width:48ch}
@media (hover:hover) and (pointer:fine){
  #who-its-for .wif__list li{transition:color var(--mo-hover) var(--mo-ease),padding-left var(--mo-hover) var(--mo-ease)}
  #who-its-for .wif__list li:hover{color:var(--c-accent);padding-left:var(--sp-4)}
}

#the-founder{background:var(--c-bg);padding-block:clamp(4rem,2.6rem + 5.4vw,8rem)}
#the-founder .founder__row{display:grid;gap:clamp(2rem,1.2rem + 3vw,4rem);grid-template-columns:1fr;align-items:center}
@media (min-width:820px){#the-founder .founder__row{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}
#the-founder .founder__shot{margin:0;overflow:hidden;background:var(--c-surface)}

#the-founder .founder__shot img{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 28%}
#the-founder .founder__copy h2{margin:var(--sp-4) 0 var(--sp-5);font-size:clamp(2rem,1.4rem + 2.8vw,4rem);line-height:1;letter-spacing:-.025em;color:var(--c-text)}
#the-founder .founder__copy p{margin:0 0 var(--sp-4);font-size:clamp(1rem,.95rem + .3vw,1.125rem);line-height:1.62;color:var(--c-muted);max-width:44ch}
#the-founder .founder__meta{font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent)}

#apply{background:var(--c-surface);padding-block:clamp(4rem,2.6rem + 5.4vw,8rem);border-top:1px solid var(--c-line)}
#apply .apply__inner{display:grid;gap:clamp(2.5rem,1.6rem + 3.4vw,5rem);grid-template-columns:1fr}
@media (min-width:900px){#apply .apply__inner{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}}
#apply .apply__copy h2{margin:var(--sp-4) 0 var(--sp-5);font-size:clamp(2rem,1.4rem + 2.8vw,4rem);line-height:1;letter-spacing:-.025em;color:var(--c-text);max-width:14ch}
#apply .apply__line{margin:0 0 clamp(1.75rem,1.2rem + 1.8vw,2.75rem);font-size:clamp(1rem,.95rem + .3vw,1.125rem);line-height:1.6;color:var(--c-muted);max-width:40ch}
#apply .apply__contact{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}
#apply .apply__contact a{color:var(--c-text);text-decoration:none;border-bottom:1px solid var(--c-line);padding-bottom:2px;transition:border-color var(--mo-hover) var(--mo-ease),color var(--mo-hover) var(--mo-ease)}
#apply .apply__contact a:hover{color:var(--c-accent);border-bottom-color:var(--c-accent)}
#apply .apply__contact li{font-size:1.0625rem;line-height:1.5}
#apply .apply__email{overflow-wrap:anywhere}
#apply .apply__area,#apply .apply__hours{color:var(--c-muted);font-size:.9375rem}
#apply .apply__form{display:flex;flex-direction:column;gap:clamp(1rem,.8rem + .8vw,1.5rem)}
#apply .field{margin:0;display:flex;flex-direction:column;gap:var(--sp-2)}
#apply .field label span{font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--c-muted)}
#apply .field input,#apply .field textarea{width:100%;padding:.9rem 1rem;font:inherit;font-size:1rem;color:var(--c-text);background:var(--c-bg);border:1px solid var(--c-line);border-radius:0;transition:border-color var(--mo-hover) var(--mo-ease)}
#apply .field input:focus,#apply .field textarea:focus{outline:none;border-color:var(--c-accent)}
#apply .field textarea{resize:vertical;min-height:7rem}
#apply .field-row{display:grid;gap:clamp(1rem,.8rem + .8vw,1.5rem);grid-template-columns:1fr}
@media (min-width:520px){#apply .field-row{grid-template-columns:1fr 1fr}}
#apply .apply__submit{align-self:flex-start;min-height:56px;min-width:12rem;font-size:.875rem;letter-spacing:.16em}
@media (max-width:519px){#apply .apply__submit{align-self:stretch}}
