@font-face{font-family:"EB Garamond";src:url("../fonts/eb-garamond-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("../fonts/eb-garamond-italic-400.ttf") format("truetype");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url("../fonts/archivo-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url("../fonts/archivo-500.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url("../fonts/poppins-300.ttf") format("truetype");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Poppins;src:url("../fonts/poppins-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url("../fonts/poppins-500.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}

:root{
  --ground:#f1efea;
  --ground-alt:#eeebe5;
  --placeholder:#eae6de;
  --title:#403d2f;
  --body:#544b43;
  --accent:#595642;
  --meta:#7d7469;
  --meta-light:#8a8176;
  --rule:#dcd7cf;
  --rule-light:#e4dfd7;
  --rule-inactive:#cfc9c0;
  --soft-border:#c6c0b8;
  --page-gutter:clamp(24px,4.45vw,64px);
  --display:"EB Garamond",Georgia,serif;
  --body-font:Archivo,Arial,sans-serif;
  --interface:Poppins,Arial,sans-serif;
  --ease:cubic-bezier(.16,.72,.28,1);
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --z-header:20;
  --z-menu:19;
  color-scheme:light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ground)}
body{margin:0;background:var(--ground);color:var(--body);font:400 16px/1.85 var(--body-font);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
p,h1,h2,h3,blockquote{margin-top:0}
p{max-width:65ch}
h1,h2,h3{color:var(--title);font-family:var(--display);font-weight:400;text-wrap:balance}
:focus-visible{outline:2px solid var(--title);outline-offset:5px}
::selection{background:var(--title);color:var(--ground)}
.skip-link{position:fixed;left:16px;top:10px;z-index:100;padding:10px 16px;background:var(--title);color:var(--ground);font:500 11px var(--interface);letter-spacing:.12em;transform:translateY(-180%);transition:transform .2s ease}
.skip-link:focus{transform:none}
.meta{margin:0;color:var(--meta-light);font:400 11px/1.6 var(--interface);letter-spacing:.16em;text-transform:uppercase}
.subtitle{margin:24px 0 0;color:var(--body);font:300 19px/1.8 var(--interface);text-wrap:pretty}
.text-link{display:inline-block;color:var(--accent);font:500 11.5px/1.2 var(--interface);letter-spacing:.17em;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;transition:text-decoration-thickness .25s ease,transform .25s var(--ease)}
.text-link:hover{text-decoration-thickness:2px}
.text-link:active{transform:translateY(1px)}
.media-frame{overflow:hidden;background:var(--placeholder)}
.media-frame img{width:100%;height:100%;object-fit:cover}
.media-hover img{filter:grayscale(1);transform:scale(1);transition:filter 900ms cubic-bezier(.4,0,.6,1),transform 1100ms cubic-bezier(.4,0,.6,1)}
.media-hover:hover img,.media-hover:focus-visible img,[data-journal-row]:hover .media-hover img{filter:grayscale(0);transform:scale(1.05);transition:filter 2000ms var(--ease),transform 2300ms var(--ease)}

.site-header{position:sticky;top:0;z-index:var(--z-header);height:82px;padding:18px var(--page-gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);background:rgba(241,239,234,.94);backdrop-filter:saturate(120%) blur(6px);transition:background .4s ease,border-color .4s ease,backdrop-filter .4s ease}
.c3a-home .site-header:not(.is-scrolled){background:rgba(241,239,234,0);border-bottom-color:transparent;backdrop-filter:none}
.site-brand{display:flex;align-items:center;gap:12px;min-width:0}
.site-brand__mark{width:38px;height:38px;object-fit:contain}
.site-brand__copy{display:flex;flex-direction:column;color:var(--title);font-family:var(--interface);line-height:1;white-space:nowrap}
.site-brand__copy strong{font-size:12px;font-weight:500;letter-spacing:.18em}
.site-brand__copy small{margin-top:7px;color:var(--meta);font-size:9px;font-weight:300;letter-spacing:.16em}
.site-nav__list{display:flex;align-items:center;gap:38px;margin:0;padding:0;list-style:none}
.site-nav a{position:relative;color:var(--meta);font:400 11px var(--interface);letter-spacing:.14em;transition:color .3s ease}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--title)}
.site-nav a[aria-current="page"]{font-weight:500}
.site-nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--title)}
.menu-toggle{display:none;border:0;background:transparent;padding:8px 0;font:500 10px var(--interface);letter-spacing:.16em}

.home-hero{min-height:calc(100dvh - 82px);display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,43vw);border-bottom:1px solid var(--title)}
.home-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:72px var(--page-gutter)}
.home-hero h1{margin:0;font-size:clamp(64px,6.12vw,88px);line-height:1.02}
.hero-mask{display:block;overflow:hidden;padding-bottom:.05em}
.hero-mask>span{display:block}
.home-hero__copy>p{max-width:470px;margin:32px 0 0;color:var(--body);font:300 19px/1.8 var(--interface)}
.home-hero__media{min-height:660px;border-left:1px solid var(--rule)}
.home-hero__media img{object-position:55% center}
.featured-projects{border-bottom:1px solid var(--rule-light)}
.feature-row{min-height:790px;padding:88px var(--page-gutter);display:grid;grid-template-columns:minmax(360px,520px) minmax(0,1fr);gap:clamp(44px,5vw,72px);align-items:center;border-top:1px solid var(--rule-light)}
.feature-row:first-child{border-top-color:var(--title)}
.feature-row--reverse{grid-template-columns:minmax(0,1fr) minmax(360px,520px)}
.feature-row--reverse .feature-row__media{order:2}
.feature-row--reverse .feature-row__copy{order:1;justify-self:end;text-align:right}
.feature-row__media{width:100%;height:clamp(520px,48vw,700px)}
.feature-row__copy{max-width:600px}
.feature-row__copy blockquote{margin:26px 0 24px;color:var(--title);font:italic 400 clamp(28px,2.15vw,34px)/1.45 var(--display);text-wrap:pretty}
.feature-row__copy>p:not(.meta){margin:0 0 28px;font-size:16px;line-height:1.85}
.all-projects-link{padding:14px var(--page-gutter) 96px;text-align:center}

.conversation-cta{padding:128px var(--page-gutter) 116px;border-top:1px solid var(--title);text-align:center}
.conversation-cta h2{max-width:760px;margin:0 auto;font-size:clamp(42px,3.65vw,52px);line-height:1.28}
.conversation-cta .text-link{margin-top:40px}
.masthead{padding:64px var(--page-gutter) 48px;border-top:1px solid var(--title);background:var(--ground-alt)}
.masthead__label{color:var(--meta-light);font:400 11px var(--interface);letter-spacing:.18em}
.masthead__columns{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:38px}
.masthead h2{margin:0 0 8px;font:500 16px/1.6 var(--body-font)}
.masthead p{margin:0;font-size:15px;line-height:1.9}
.masthead__base{margin-top:42px;padding-top:28px;border-top:1px solid var(--rule);display:flex;align-items:flex-end;justify-content:space-between}
.social-links{display:flex;gap:20px}
.social-links a{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--soft-border);border-radius:50%;color:var(--meta);font:500 9px var(--interface);transition:border-color .3s ease,color .3s ease,transform .3s var(--ease)}
.social-links a:hover,.social-links a:focus-visible,.social-links .is-primary{border-color:var(--title);color:var(--title)}
.social-links a:active{transform:scale(.96)}
.masthead__legal{color:var(--meta-light);font:400 10.5px/1.9 var(--interface)!important;letter-spacing:.14em;text-align:right}
.masthead__legal a{text-decoration:underline;text-underline-offset:4px}

.listing-head{padding:80px var(--page-gutter) 48px;display:flex;align-items:flex-end;justify-content:space-between}
.listing-head h1{margin:22px 0 0;font-size:75px;line-height:1.1}
.carousel-counter{margin:0;color:var(--meta-light);font:400 10.5px/1.6 var(--interface);letter-spacing:.16em;text-align:right}
.project-carousel__stage{position:relative;height:min(830px,70vw);min-height:540px;border-top:1px solid var(--title);border-bottom:1px solid var(--rule);background:var(--placeholder)}
.project-carousel__slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .7s var(--ease-out)}
.project-carousel__slide.is-active{opacity:1;pointer-events:auto}
.project-carousel__slide img{width:100%;height:100%;object-fit:cover}
.carousel-control{position:absolute;top:50%;z-index:2;width:64px;height:64px;border:1px solid rgba(64,61,47,.35);border-radius:50%;background:rgba(241,239,234,.82);backdrop-filter:blur(4px);font:400 18px var(--interface);cursor:pointer;transform:translateY(-50%);transition:background .3s ease,border-color .3s ease,transform .25s var(--ease)}
.carousel-control:hover{border-color:var(--title);background:rgba(241,239,234,.96)}
.carousel-control:active{transform:translateY(-50%) scale(.97)}
.carousel-control--prev{left:32px}.carousel-control--next{right:32px;border-color:var(--title)}
.project-carousel__captions{display:grid;padding:52px var(--page-gutter) 42px}
.project-carousel__caption{grid-area:1/1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:end;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}
.project-carousel__caption.is-active{opacity:1;visibility:visible}
.project-carousel__caption h2{margin:18px 0 0;font-size:clamp(46px,4.2vw,60px);line-height:1.15;white-space:nowrap}
.project-carousel__caption .subtitle{margin-top:12px;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.carousel-progress{display:flex;align-items:center;gap:14px;padding:0 var(--page-gutter) 56px}
.carousel-progress button{width:80px;height:16px;padding:7px 0;border:0;background:linear-gradient(var(--rule-inactive),var(--rule-inactive)) center/100% 2px no-repeat;cursor:pointer}
.carousel-progress button.is-active{background-image:linear-gradient(var(--title),var(--title))}
.carousel-progress span{margin-left:6px;color:var(--meta-light);font:400 9px var(--interface);letter-spacing:.15em;white-space:nowrap}
.project-archive{border-top:1px solid var(--title);padding-bottom:106px}
.project-archive>header{display:flex;justify-content:space-between;padding:44px var(--page-gutter) 34px;color:var(--meta-light);font:400 10px var(--interface);letter-spacing:.17em}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 44px;padding:0 var(--page-gutter)}
.project-card__image{display:block;aspect-ratio:4/3}
.project-card__copy{padding-top:19px}.project-card h2{margin:0;font-size:28px;line-height:1.25}
.project-card .meta{margin-top:9px;font-size:10px}

.project-detail{overflow:hidden}
.project-title-block{padding:130px var(--page-gutter) 116px}
.project-title-block__inner{max-width:920px}
.project-title-block h1{max-width:1080px;margin:27px 0 0;font-size:clamp(68px,6.4vw,92px);line-height:1.06}
.project-title-block .subtitle{max-width:560px}
.spine-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,660px);gap:56px}
.spine-grid>.project-title-block__inner,.project-title-block.spine-grid>.project-title-block__inner{grid-column:2}
.project-detail--a2 .project-title-block{padding-top:150px;padding-bottom:136px}
.project-detail--a2 .project-title-block h1{font-size:clamp(64px,5.45vw,78px)}
.project-hero{height:clamp(620px,57vw,820px);border-top:1px solid var(--title);border-bottom:1px solid var(--rule)}
.drift-media img{transform:scale(1.02)}
.project-intro{padding:76px var(--page-gutter) 86px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}
.project-intro blockquote{align-self:end;max-width:900px;margin:0;color:var(--title);font:italic 400 34px/1.45 var(--display)}
.project-story{columns:2;column-gap:56px}
.project-story p{margin:0 0 1.35em;break-inside:avoid}
.project-detail--a2 .project-intro{grid-template-columns:minmax(0,1fr) minmax(520px,660px);border-bottom:1px solid var(--title)}
.project-detail--a2 .project-story{columns:1}
.project-chapter{padding:72px var(--page-gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,520px);gap:56px;align-items:start;border-top:1px solid var(--rule-light)}
.project-chapter--reverse{grid-template-columns:minmax(400px,520px) minmax(0,1fr)}
.project-chapter--reverse .project-chapter__copy{order:2}.project-chapter--reverse .project-chapter__media{order:1}
.project-chapter__copy .meta{display:flex;gap:26px}.project-chapter__copy>p:last-child{margin:32px 0 0;max-width:580px}
.project-chapter__media{height:410px}
.project-pullquote{margin:0;padding:112px var(--page-gutter);border-top:1px solid var(--rule-light);color:var(--title);font:italic 400 38px/1.42 var(--display);text-align:center}
.project-detail--a2 .project-chapter{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,660px);gap:56px;padding:70px var(--page-gutter) 0;border-top:0}
.project-detail--a2 .project-chapter__copy{grid-column:2;order:0;padding-bottom:46px}
.project-detail--a2 .project-chapter__media{grid-column:1/-1;order:1;height:clamp(520px,47vw,690px)}
.project-detail--a2 .project-chapter:nth-of-type(odd) .project-chapter__media{margin-right:18vw;margin-left:calc(var(--page-gutter)*-1)}
.project-detail--a2 .project-chapter:nth-of-type(even) .project-chapter__media{margin-left:28vw;margin-right:calc(var(--page-gutter)*-1)}
.project-detail--a2 .project-pullquote{max-width:660px;margin-left:auto;margin-right:var(--page-gutter);padding-left:0;padding-right:0;border-top:0;text-align:left}
.next-band,.project-band{padding:64px var(--page-gutter);display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:56px;align-items:center;border-top:1px solid var(--title)}
.next-band h2,.project-band h2{margin:14px 0 0;font-size:46px;line-height:1.2}
.next-band__image,.project-band .media-frame{height:280px}

.about-head,.journal-head{padding:150px var(--page-gutter) 136px}
.about-head>div,.journal-head>div{grid-column:2}
.about-head h1,.journal-head h1{margin:27px 0 0;font-size:clamp(68px,5.8vw,83px);line-height:1.1}
.about-head .subtitle,.journal-head .subtitle{max-width:660px}
.about-working{height:770px;margin-right:24vw;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.about-bio{padding:76px var(--page-gutter) 90px;display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,660px);gap:56px}
.about-bio blockquote{align-self:end;margin:0;color:var(--title);font:italic 400 34px/1.45 var(--display)}
.about-bio p{margin:0 0 1.2em;font-size:16px}
.about-process{padding:72px var(--page-gutter);display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:58px;border-top:1px solid var(--title)}
.process-list>h2{margin-bottom:34px}
.process-step{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:25px 0;border-top:1px solid var(--rule-light)}
.process-step:last-child{border-bottom:1px solid var(--rule-light)}
.process-step>span{color:var(--meta-light);font:400 10px var(--interface);letter-spacing:.16em}
.process-step p{margin:0;font-size:16px;line-height:1.85}.process-step strong{color:var(--title);font-weight:500}
.about-process__image{height:610px}
.faq-section{padding:70px var(--page-gutter) 110px;border-top:1px solid var(--rule-light)}
.faq-section>h2{margin-bottom:32px}
.faq-list article{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:baseline;padding:34px 0;border-top:1px solid var(--rule-light)}
.faq-list article:last-child{border-bottom:1px solid var(--rule-light)}
.faq-list h3{margin:0;font-size:34px;line-height:1.4}.faq-list p{margin:0;font-size:16px;line-height:1.85}

.journal-head h1{font-size:clamp(66px,5.6vw,80px)}
.journal-list{padding:0 var(--page-gutter) 100px}
.journal-row{min-height:410px;padding:48px 0;display:grid;grid-template-columns:352px minmax(0,1fr);gap:56px;align-items:center;border-top:1px solid var(--rule-light)}
.journal-row:last-child{border-bottom:1px solid var(--rule-light)}
.journal-row--reverse{grid-template-columns:minmax(0,1fr) 352px}
.journal-row--reverse .journal-row__image{order:2}.journal-row--reverse .journal-row__copy{order:1}
.journal-row__image{aspect-ratio:4/3}.journal-row h2{margin:18px 0 0;font-size:46px;line-height:1.25}.journal-row .subtitle{margin-top:10px;font-size:17px}

.journal-back{display:block;padding:18px var(--page-gutter);border-bottom:1px solid var(--rule-light);color:var(--accent);font:500 10px var(--interface);letter-spacing:.16em}
.journal-article__head{padding:132px var(--page-gutter) 120px}.journal-article__head>div{grid-column:2}
.journal-article__head h1{margin:28px 0 0;font-size:clamp(68px,5.9vw,85px);line-height:1.08}
.standfirst{margin:30px 0 0;color:var(--title);font:300 21px/1.75 var(--interface)}
.byline{margin:24px 0 0;color:var(--meta);font:400 10px var(--interface);letter-spacing:.14em;text-transform:uppercase}
.journal-article__image{height:720px}.journal-article__image--left{margin-right:22vw}.journal-article__image--right{height:670px;margin-left:30vw}
.article-copy{padding:86px var(--page-gutter)}
.article-copy>*:first-child{grid-column:1}.article-copy>*:last-child{grid-column:2}
.article-copy p{margin:0;font-size:17px;line-height:1.95}
.article-note{align-self:start;color:var(--meta-light);font:400 10px/1.8 var(--interface);letter-spacing:.15em;text-align:right;text-transform:uppercase}
.article-copy blockquote{align-self:center;margin:0;color:var(--title);font:italic 400 34px/1.45 var(--display)}
.article-next{display:block;padding:64px var(--page-gutter);border-top:1px solid var(--rule-light)}
.article-next h2{margin:15px 0 0;font-size:46px;line-height:1.25}

.contact-head{padding:190px var(--page-gutter) 170px}
.contact-head h1{max-width:1100px;margin:42px 0 0;font-size:clamp(76px,7.8vw,112px);line-height:1.06}
.contact-head .subtitle{margin-top:30px}
.contact-form-section{padding:90px var(--page-gutter) 100px;border-top:1px solid var(--title)}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.contact-form__column{min-width:0}
.form-field{display:block;min-height:136px;padding-top:20px;border-top:1px solid var(--rule);transition:border-color .4s ease}
.form-field:focus-within{border-top-color:var(--title)}
.form-field>span{display:block;color:var(--meta-light);font:400 10px var(--interface);letter-spacing:.17em}
.form-field input,.form-field textarea{display:block;width:100%;margin-top:16px;padding:0;border:0;background:transparent;color:var(--title);font:400 22px/1.5 var(--body-font);outline:0;resize:none}
.form-field--message{min-height:300px}.form-field small{display:block;min-height:22px;margin-top:8px;color:#7c3029;font-size:13px;line-height:1.5}
.form-field.is-invalid{border-top-color:#7c3029}.form-field.is-invalid input,.form-field.is-invalid textarea{color:#642821}
.consent-field{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;margin:12px 0 28px;font-size:13px;line-height:1.6}
.consent-field input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--title)}
.consent-field a{text-decoration:underline;text-underline-offset:3px}
.consent-field small{grid-column:2;margin-top:-8px}
.standard-entry{padding:0 var(--page-gutter) 120px}.standard-entry .entry-content{grid-column:2;font-size:18px;line-height:1.75}.standard-entry .entry-content>*+*{margin-top:1.25em}
.contact-form__submit{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}
.contact-form__submit>span{color:var(--meta-light);font:400 10px var(--interface);letter-spacing:.17em}
.contact-form button{min-width:142px;padding:20px 34px;border:1px solid var(--title);background:var(--title);color:var(--ground);font:500 11.5px var(--interface);letter-spacing:.18em;cursor:pointer;transition:background .3s ease,transform .25s var(--ease)}
.contact-form button:hover{background:#2f2c22}.contact-form button:active{transform:translateY(1px)}
.contact-form.is-submitting button{pointer-events:none;opacity:.72}.button-loading{display:none}.contact-form.is-submitting button>span:first-child{display:none}.contact-form.is-submitting .button-loading{display:inline}
.honeypot{position:absolute!important;left:-999em!important}.form-status{margin:0 0 40px;padding:18px 20px;border:1px solid var(--title);color:var(--title);font-size:15px}.form-status--error{border-color:#7c3029;color:#642821}
.cf-turnstile{margin-top:24px}

.legal-page{padding:130px var(--page-gutter)}
.legal-page>header,.legal-copy{max-width:800px;margin-left:auto;margin-right:auto}.legal-page h1{margin:20px 0 0;font-size:72px;line-height:1.1}.legal-copy{margin-top:72px}.legal-copy h2{margin:58px 0 16px;font-size:34px}.legal-copy p{font-size:17px;line-height:1.9}.legal-copy a{text-decoration:underline;text-underline-offset:4px}
.not-found{min-height:calc(100dvh - 82px);padding:clamp(120px,18vh,220px) var(--page-gutter)}
.not-found h1{max-width:880px;margin:26px 0;font-size:clamp(62px,6vw,86px);line-height:1.08}.not-found>p:not(.meta){font-size:18px}.not-found>div{display:flex;gap:34px;margin-top:38px}

[data-reveal]{opacity:1;transform:none}
.js [data-reveal].is-pending{opacity:0;transform:translateY(14px)}
.js [data-reveal].is-revealed{opacity:1;transform:none;transition:opacity 800ms var(--ease-out),transform 800ms var(--ease-out)}

@media (prefers-reduced-motion:no-preference){
  .drift-media.is-in-view img{animation:c3a-drift 40s ease-in-out infinite alternate}
  @keyframes c3a-drift{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.09) translate3d(-1.2%,.7%,0)}}
  .home-hero__media img{animation:c3a-home-pan linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes c3a-home-pan{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.07) translateY(-3%)}}
}

@media (max-width:1100px){
  :root{--page-gutter:40px}
  .home-hero{grid-template-columns:1fr 46vw}.home-hero h1{font-size:70px}
  .feature-row{grid-template-columns:minmax(320px,44vw) 1fr;gap:44px}.feature-row--reverse{grid-template-columns:1fr minmax(320px,44vw)}
  .project-grid{gap:52px 28px}.project-carousel__caption .subtitle{white-space:normal}
  .spine-grid,.project-detail--a2 .project-intro,.project-detail--a2 .project-chapter{grid-template-columns:minmax(0,1fr) minmax(460px,56vw)}
  .about-process{grid-template-columns:1fr 42vw}.journal-row{grid-template-columns:310px 1fr}.journal-row--reverse{grid-template-columns:1fr 310px}
}

@media (max-width:767px){
  :root{--page-gutter:20px}
  body{font-size:15px;line-height:1.75}
  .site-header{height:68px;padding-top:14px;padding-bottom:14px}.site-brand__mark{width:34px;height:34px}.site-brand__copy strong{font-size:10px}.site-brand__copy small{display:none}
  .menu-toggle{display:block;z-index:calc(var(--z-menu) + 1)}
  .site-nav{position:fixed;inset:68px 0 0;z-index:var(--z-menu);min-height:calc(100dvh - 68px);display:grid;align-content:start;padding:56px var(--page-gutter);background:#f1efea;isolation:isolate;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .3s ease,transform .3s var(--ease),visibility .3s}
  .menu-open .site-header{background:#f1efea;backdrop-filter:none}.menu-open main,.menu-open .masthead{visibility:hidden}.menu-open .site-nav{opacity:1;visibility:visible;transform:none}.site-nav__list{display:grid;gap:24px}.site-nav a{font:400 34px/1.25 var(--display);letter-spacing:0}.site-nav a[aria-current="page"]::after{bottom:-2px}
  .home-hero{min-height:auto;display:flex;flex-direction:column}.home-hero__copy{min-height:470px;padding:76px var(--page-gutter) 54px}.home-hero h1{font-size:clamp(54px,16vw,72px)}.home-hero__copy>p{margin-top:26px;font-size:16px;line-height:1.65}.home-hero__media{min-height:0;height:72vh;max-height:720px;border-left:0;border-top:1px solid var(--rule)}
  .feature-row,.feature-row--reverse{min-height:0;padding:64px var(--page-gutter) 72px;display:flex;flex-direction:column;gap:36px}.feature-row__media,.feature-row--reverse .feature-row__media{order:0;height:auto;aspect-ratio:4/5}.feature-row__copy,.feature-row--reverse .feature-row__copy{order:1;justify-self:auto;text-align:left}.feature-row__copy blockquote{font-size:29px}.all-projects-link{padding-bottom:72px}
  .conversation-cta{padding:84px var(--page-gutter) 80px}.conversation-cta h2{font-size:39px;line-height:1.23}.conversation-cta .text-link{margin-top:32px}
  .masthead{padding:48px var(--page-gutter) 34px}.masthead__columns{grid-template-columns:1fr;gap:30px;margin-top:30px}.masthead__base{display:grid;gap:32px}.social-links{gap:12px;flex-wrap:wrap}.masthead__legal{text-align:left}
  .listing-head{padding:58px var(--page-gutter) 34px}.listing-head h1{font-size:56px}.project-carousel__stage{height:66vh;min-height:430px}.carousel-control{width:48px;height:48px}.carousel-control--prev{left:12px}.carousel-control--next{right:12px}
  .project-carousel__captions{padding:34px var(--page-gutter) 28px}.project-carousel__caption{grid-template-columns:1fr;align-items:start}.project-carousel__caption h2{font-size:42px;white-space:normal}.project-carousel__caption .subtitle{font-size:15px;white-space:normal}.project-carousel__caption .text-link{margin-top:8px}.carousel-progress{overflow-x:auto;padding-bottom:42px;gap:8px}.carousel-progress button{min-width:44px;width:44px}.carousel-progress span{display:none}
  .project-archive>header{padding-top:34px}.project-grid{grid-template-columns:1fr;gap:36px;padding:0 var(--page-gutter)}.project-card__copy{min-height:128px;padding:24px 0 38px;border-bottom:1px solid var(--rule-light)}.project-card h2{font-size:27px;line-height:1.2}.project-card .meta{margin-top:14px}
  .project-title-block,.project-detail--a2 .project-title-block{padding:82px var(--page-gutter) 72px}.project-title-block h1,.project-detail--a2 .project-title-block h1{font-size:clamp(52px,15vw,72px);line-height:1.03}.project-title-block .subtitle{font-size:16px;line-height:1.65}
  .spine-grid,.project-detail--a2 .project-intro,.project-detail--a2 .project-chapter{display:block}.spine-grid>.project-title-block__inner,.project-title-block.spine-grid>.project-title-block__inner{grid-column:auto}
  .project-hero{height:68vh;min-height:480px}.project-intro,.project-detail--a2 .project-intro{display:block;padding:58px var(--page-gutter) 64px}.project-intro blockquote{font-size:30px}.project-story{columns:1;margin-top:38px}.project-story p{font-size:15px}
  .project-chapter,.project-chapter--reverse,.project-detail--a2 .project-chapter{display:flex;flex-direction:column;padding:56px var(--page-gutter);gap:34px}.project-chapter__copy,.project-chapter--reverse .project-chapter__copy,.project-detail--a2 .project-chapter__copy{order:0;padding-bottom:0}.project-chapter__media,.project-chapter--reverse .project-chapter__media,.project-detail--a2 .project-chapter__media{order:1;width:100%;height:auto;aspect-ratio:4/5;margin:0!important}.project-chapter:nth-child(3n) .project-chapter__media{aspect-ratio:4/3}.project-pullquote,.project-detail--a2 .project-pullquote{margin:0;padding:82px var(--page-gutter);font-size:34px;text-align:center;border-top:1px solid var(--rule-light)}
  .next-band,.project-band{padding:44px var(--page-gutter);grid-template-columns:1fr;gap:30px}.next-band h2,.project-band h2{font-size:38px}.next-band__image,.project-band .media-frame{height:auto;aspect-ratio:4/3}
  .about-head,.journal-head{padding:90px var(--page-gutter) 82px;display:block}.about-head h1,.journal-head h1{font-size:58px}.about-head .subtitle,.journal-head .subtitle{font-size:16px}.about-working{height:66vh;min-height:500px;margin-right:0}
  .about-bio{display:block;padding:58px var(--page-gutter) 70px}.about-bio blockquote{font-size:30px}.about-bio>div{margin-top:40px}.about-process{display:block;padding:58px var(--page-gutter)}.about-process__image{height:auto;aspect-ratio:3/4;margin-top:48px}.process-step{grid-template-columns:46px 1fr}.process-step p{font-size:15px}
  .faq-section{padding:58px var(--page-gutter) 80px}.faq-list article{grid-template-columns:1fr;gap:14px;padding:28px 0}.faq-list h3{font-size:29px}.faq-list p{font-size:15px}
  .journal-list{padding:0 var(--page-gutter) 72px}.journal-row,.journal-row--reverse{display:flex;flex-direction:column;padding:42px 0;gap:28px}.journal-row__image,.journal-row--reverse .journal-row__image{order:0;width:100%}.journal-row__copy,.journal-row--reverse .journal-row__copy{order:1;width:100%}.journal-row h2{font-size:36px}
  .journal-back{padding-top:16px;padding-bottom:16px}.journal-article__head{padding:80px var(--page-gutter) 72px}.journal-article__head h1{font-size:54px}.standfirst{font-size:18px}.journal-article__image,.journal-article__image--right{height:62vh;min-height:430px;margin:0}.article-copy{display:block;padding:58px var(--page-gutter)}.article-note{text-align:left;margin-bottom:28px}.article-copy blockquote{font-size:30px;margin-bottom:32px}.article-next{padding:48px var(--page-gutter)}.article-next h2{font-size:36px}
  .contact-head{padding:100px var(--page-gutter) 90px}.contact-head h1{margin-top:30px;font-size:clamp(54px,15vw,72px)}.contact-form-section{padding:64px var(--page-gutter) 74px}.contact-form{grid-template-columns:1fr;gap:0}.form-field{min-height:124px}.form-field--message{min-height:260px}.contact-form__submit{align-items:flex-end}.contact-form__submit>span{max-width:100px}.contact-form button{padding-left:24px;padding-right:24px}
  .legal-page{padding:86px var(--page-gutter)}.legal-page h1{font-size:54px}.legal-copy{margin-top:52px}.legal-copy h2{font-size:30px}.legal-copy p{font-size:15px}.not-found>div{flex-direction:column;align-items:flex-start}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.media-hover img,.media-hover:hover img,.media-hover:focus-visible img,[data-journal-row]:hover .media-hover img{transition:none;transform:none}.drift-media img,.home-hero__media img{animation:none!important;transform:none!important}.js [data-reveal].is-pending{opacity:1;transform:none}
}

@media print{.site-header,.conversation-cta,.masthead,.carousel-control{display:none!important}body{background:#fff;color:#222}.media-hover img{filter:none}.project-hero{height:500px}}
