@font-face{font-family:Manrope;src:url('/assets/manrope-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--ink:#101110;--paper:#f1f0ec;--white:#faf9f6;--muted:#b7b7b0;--accent:#c4a27c;--line:#ffffff32;--pad:clamp(24px,5vw,96px);--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--white);font-family:Manrope,Arial,sans-serif;font-size:1rem;-webkit-font-smoothing:antialiased}body.menu-open,body.gallery-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}em{font-family:var(--serif);font-weight:400}::selection{background:var(--accent);color:var(--ink)}[hidden]{display:none!important}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--white);color:var(--ink);padding:16px}.skip:focus{top:15px}.eyebrow{font-size:.75rem;letter-spacing:.14em;line-height:1.8;text-transform:uppercase}.section-pad{padding:100px var(--pad)}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:25px}.section-heading>span{text-align:right}.line-link{display:inline-flex;gap:28px;align-items:center;border-bottom:1px solid currentColor;padding:9px 0;font-size:.875rem;line-height:1.8}.line-link span{transition:transform .25s}.line-link:hover span{transform:translateY(3px)}
/* One identity throughout Hacaarq. */
.site-header{position:fixed;inset:0 0 auto;z-index:40;height:92px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #ffffff42;transition:background .3s,height .3s;color:var(--white)}.site-header.is-scrolled,.project-page .site-header{height:78px;background:#101110ed;backdrop-filter:blur(18px)}.brand{font-size:29px;letter-spacing:-.055em;line-height:1;padding:10px 0}.brand-period{color:var(--accent)}.site-header nav{display:flex;gap:35px;font-size:.875rem}.site-header nav a{padding:10px 0}.site-header nav a:hover{color:var(--accent)}.header-contact{font-size:.875rem;border:1px solid #ffffff66;border-radius:100px;padding:12px 20px;display:flex;gap:25px;align-items:center}.header-contact:hover{background:#ffffff17}.menu-toggle{display:none;background:transparent;width:46px;height:46px;padding:9px}.menu-toggle span{display:block;width:26px;height:1px;background:currentColor;margin:7px 0;transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:fixed;inset:0;z-index:39;background:var(--ink);padding:130px var(--pad) 40px;flex-direction:column;gap:22px;overflow:auto}.mobile-nav:not([hidden]){display:flex}.mobile-nav>a{font-size:clamp(29px,7vw,45px);letter-spacing:-.03em;line-height:1.35}.menu-label,.menu-location{font-size:.75rem;color:var(--accent);letter-spacing:.15em}.menu-label{margin-bottom:15px}.menu-location{margin-top:auto;padding-top:25px}
/* A project at full scale, slowly retreating as the story begins. */
.hero{--hero-progress:0;height:100svh;min-height:720px;position:relative;background:var(--ink)}.hero.has-motion{height:calc(100svh + 300px);min-height:1020px}.hero-sticky{height:100svh;min-height:720px;position:sticky;top:0;overflow:hidden;isolation:isolate}.hero-image{position:absolute;inset:0;z-index:-2;transform:scale(calc(1.07 - var(--hero-progress)*.07));clip-path:inset(calc(var(--hero-progress)*2.6%) calc(var(--hero-progress)*2.6%));will-change:transform,clip-path}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0c0e0c70,#0c0e0c20 35%,#0c0e0c10 45%,#0c0e0c9c),linear-gradient(90deg,#0c0e0c55,transparent 70%)}.hero-heading{position:absolute;left:var(--pad);top:20%;transform:translateY(calc(var(--hero-progress)*-35px));opacity:calc(1 - var(--hero-progress)*.5)}.hero-heading .eyebrow{margin-bottom:26px}.hero-heading h1{font-size:clamp(65px,7.7vw,138px);line-height:1.02;letter-spacing:-.065em}.hero-heading em{letter-spacing:-.045em}.hero-project{position:absolute;right:var(--pad);top:42%;font-size:1rem;line-height:1.7;display:flex;flex-direction:column;gap:12px;text-shadow:0 1px 8px #1119}.hero-project>span:last-child{display:flex;justify-content:space-between;gap:38px;border-bottom:1px solid #ffffff9c;padding-bottom:12px}.hero-project:hover>span:last-child{color:var(--accent)}.hero-wordmark{position:absolute;left:calc(var(--pad) - .5vw);right:var(--pad);bottom:96px;font-size:min(20.4vw,32svh);letter-spacing:-.075em;line-height:.91;white-space:nowrap;opacity:calc(1 - var(--hero-progress)*.48);transform:translateY(calc(var(--hero-progress)*-10px));pointer-events:none}.hero-bottom{position:absolute;bottom:23px;left:var(--pad);right:var(--pad);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:.75rem;letter-spacing:.08em;line-height:1.7}.hero-bottom>a{display:flex;gap:20px;align-items:center;font-size:.875rem;letter-spacing:0}.circle-arrow{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffffa1;border-radius:50%;font-size:22px}.hero-progress{position:absolute;bottom:0;width:100%;height:2px;background:#ffffff19}.hero-progress>span{display:block;height:100%;background:var(--accent);transform:scaleX(var(--hero-progress));transform-origin:left}
.vision{background:var(--paper);color:var(--ink);padding-top:90px;padding-bottom:75px}.vision .section-heading{color:#686962}.vision-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:9vw;align-items:start;margin:75px 0 70px}.vision-layout h2{font-size:clamp(39px,4.7vw,82px);line-height:1.13;letter-spacing:-.06em}.vision-layout h2 em{color:#696458;letter-spacing:-.045em}.vision-layout>div>p{font-size:1rem;line-height:1.95;max-width:480px;color:#54564e;margin-bottom:17px}.vision-layout .line-link{margin-top:15px}.discipline-line{display:grid;grid-template-columns:1fr 1fr 1.15fr;border-top:1px solid #c9cac2;border-bottom:1px solid #c9cac2}.discipline-line>a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:27px 0;margin-right:5vw;font-size:clamp(20px,2.1vw,33px);letter-spacing:-.03em}.discipline-line>a:last-child{margin-right:0}.discipline-line>a>span{font-size:.75rem;letter-spacing:.07em;color:#828277}.discipline-line>a:hover{color:#876b4a}
/* Scroll-controlled photographic scenes with depth. */
.film-story{--film-progress:0;position:relative;height:100svh;min-height:760px;background:var(--ink)}.film-story.has-motion{height:340svh;min-height:0}.craft-story.has-motion{height:300svh}.film-sticky{height:100svh;min-height:760px;position:sticky;top:0;overflow:hidden;isolation:isolate;background:var(--ink)}.film-section-label{position:absolute;top:115px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;gap:25px;color:#b7b9ae;z-index:3}.film-section-label>.eyebrow:last-child{text-align:right}.film-background-word{position:absolute;left:-1vw;bottom:13%;font-size:21vw;letter-spacing:-.075em;line-height:.8;white-space:nowrap;color:#ffffff06;pointer-events:none;transform:translateX(calc(var(--film-progress)*-6vw))}.film-stage{position:absolute;right:9vw;top:18%;height:68%;aspect-ratio:512/910;max-width:44vw;transform:perspective(1600px) rotateY(calc(5deg - var(--film-progress)*10deg));box-shadow:30px 35px 75px #0008;background:#252622;overflow:hidden}.film-poster,.film-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.film-canvas{opacity:0}.film-stage.is-ready .film-canvas{opacity:1}.film-stage.is-ready .film-poster{opacity:0}.film-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#10111033,transparent 40%)}.film-mark{position:absolute;right:17px;bottom:23px;font-size:.75rem;letter-spacing:.15em;writing-mode:vertical-rl;transform:rotate(180deg);color:#fff;text-shadow:0 1px 12px #000}.film-content{position:absolute;left:var(--pad);top:31%;width:58%;height:380px;z-index:4}.film-copy{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(25px);pointer-events:none;transition:opacity .5s,transform .8s,visibility .5s}.film-copy.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto}.film-copy .eyebrow{color:var(--accent);margin-bottom:28px}.film-copy h2{font-size:clamp(55px,6.7vw,115px);line-height:1.06;letter-spacing:-.06em}.film-copy h2 em{letter-spacing:-.05em}.film-copy>p:not(.eyebrow){font-size:1rem;line-height:1.9;color:#bdbeb5;max-width:385px;margin-top:30px}.film-copy .line-link{margin-top:20px;color:#deded4}.film-footer{position:absolute;left:var(--pad);right:var(--pad);bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:25px;z-index:5}.film-hint{font-size:.75rem;letter-spacing:.11em;line-height:1.8;color:#b7b9ae}.film-chapters{display:flex;gap:25px}.film-chapters button{display:flex;gap:12px;align-items:center;font-size:.75rem;border-top:1px solid #ffffff45;background:transparent;color:#a4a69b;padding:15px 0;min-width:110px}.film-chapters button span{font-size:.875rem}.film-chapters button.is-active{color:var(--white);border-color:var(--accent)}.film-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#ffffff14}.film-progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.craft-story .film-sticky{background:#22201c}.craft-story .film-stage{right:var(--pad);transform:perspective(1600px) rotateY(calc(-5deg + var(--film-progress)*10deg))}.craft-story .film-copy h2{font-size:clamp(54px,6.2vw,108px)}
/* One portfolio, composed as a photographic editorial. */
.portfolio{background:var(--white);color:var(--ink);padding-top:100px;padding-bottom:110px}.portfolio .section-heading{color:#66685e}.portfolio-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:65px 0 80px}.portfolio-heading h2{font-size:clamp(48px,7vw,118px);line-height:1.02;letter-spacing:-.07em}.portfolio-heading h2 em{color:#737066;letter-spacing:-.055em}.portfolio-heading>p{font-size:1rem;line-height:1.8;color:#65685c;max-width:300px;padding-bottom:7px}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:75px 5vw}.portfolio-card{display:block;min-width:0;grid-column:span 7}.portfolio-card:nth-child(2){grid-column:span 5;margin-top:140px}.portfolio-card:nth-child(3){grid-column:span 8;margin-top:15px}.portfolio-card:nth-child(4){grid-column:span 4;margin-top:110px}.project-image{aspect-ratio:1.3;overflow:hidden;background:#ddded5;position:relative}.portfolio-card:nth-child(2) .project-image{aspect-ratio:.79}.portfolio-card:nth-child(3) .project-image{aspect-ratio:1.55}.portfolio-card:nth-child(4) .project-image{aspect-ratio:.71}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.3,1)}.portfolio-card:hover .project-image img{transform:scale(1.035)}.project-image .project-open{position:absolute;right:20px;bottom:20px;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#faf9f6e0;color:var(--ink);font-size:22px;transition:background .3s,transform .3s}.portfolio-card:hover .project-open{background:var(--white);transform:translate(2px,-2px)}.portfolio-card figcaption{padding:24px 0 17px;border-bottom:1px solid #c6c8bd;display:flex;justify-content:space-between;gap:20px;align-items:baseline}.portfolio-card h3{font-size:clamp(27px,3vw,49px);letter-spacing:-.05em;line-height:1.3}.project-index{font-size:.75rem;letter-spacing:.1em;color:#767a6b}.project-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:15px;color:#666a5b;font-size:.75rem;line-height:1.8}.project-meta span:first-child{text-transform:uppercase;letter-spacing:.06em}.portfolio-card:nth-child(4) .project-meta{display:block}
/* A shared close and oversized brand signature. */
.site-footer{padding:85px var(--pad) 25px;background:#111210;overflow:hidden}.footer-kicker{display:flex;justify-content:space-between;gap:30px;color:#b1b4a7}.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:55px 0 50px;border-bottom:1px solid var(--line);font-size:clamp(55px,7.6vw,127px);line-height:1.08;letter-spacing:-.065em}.contact-heading em{color:#c4b396;letter-spacing:-.05em}.contact-arrow{display:grid;place-items:center;border:1px solid #ffffff54;border-radius:50%;height:clamp(75px,11vw,172px);width:clamp(75px,11vw,172px);font-size:clamp(39px,6.5vw,95px);font-family:Arial,sans-serif;flex-shrink:0;transition:color .3s,border-color .3s}.contact-heading:hover .contact-arrow{color:var(--accent);border-color:var(--accent)}.footer-details{display:grid;grid-template-columns:1.2fr 1fr auto;gap:40px;padding:38px 0 70px;font-size:.875rem;line-height:1.9;color:#b4b8a9}.footer-details>a:last-child{text-align:right}.footer-details>a>span{color:var(--white)}.footer-wordmark{font-size:20.4vw;letter-spacing:-.075em;line-height:.96;white-space:nowrap;color:#d5d7c9;pointer-events:none;margin-left:-.5vw}.footer-legal{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff30;margin-top:30px;padding-top:22px;color:#919886;font-size:.75rem;line-height:1.8}
/* In-page project viewer. */
.project-dialog{position:fixed;inset:0;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;border:0;padding:0;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}.project-dialog::backdrop{background:#101110d9}.project-dialog[open]{animation:dialog-in .45s ease both}.project-dialog-bar{position:sticky;top:0;z-index:5;padding:17px 3.5vw;border-bottom:1px solid #c5c8bc;background:#f1f0ecf5;backdrop-filter:blur(16px);display:flex;justify-content:space-between;align-items:center;gap:25px}.project-dialog-bar .brand{font-size:25px}.project-dialog-bar>span{font-size:.75rem;letter-spacing:.1em;color:#6b705f}.dialog-close{display:flex;align-items:center;gap:15px;min-height:44px;padding:3px 0 3px 14px;background:transparent;font-size:.875rem}.dialog-close span{font-size:28px;line-height:1}.project-dialog-layout{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.65fr);gap:5vw;padding:42px 3.5vw 36px}.dialog-copy{padding-top:6px}.dialog-copy .eyebrow{color:#68705c}.dialog-copy h2{font-size:clamp(48px,4.8vw,80px);letter-spacing:-.06em;line-height:1.08;margin:28px 0 25px}.dialog-copy h2 span{display:block;font-size:.52em;line-height:1.5}.dialog-copy h2 em{color:#726653}.dialog-tagline{font-size:1.125rem;line-height:1.6;margin-bottom:21px;max-width:380px}.dialog-description{font-size:1rem;line-height:1.8;color:#5c6353;max-width:410px}.dialog-copy .line-link{margin-top:28px}.dialog-photo{position:relative;background:#e3e5dc;min-width:0}.dialog-photo>img{width:100%;height:58dvh;min-height:300px;max-height:710px;object-fit:contain}.dialog-photo-controls{position:absolute;right:15px;bottom:15px;display:flex;gap:8px}.dialog-prev,.dialog-next{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#101110d9;color:#fff;font-size:22px}.dialog-prev:hover,.dialog-next:hover{background:#353b2c}.dialog-image-info{display:flex;justify-content:space-between;gap:22px;padding:17px 0;min-height:62px;font-size:.875rem;line-height:1.7;color:#5b6551}.dialog-count{white-space:nowrap;font-size:.75rem;color:#79816d;padding-top:2px}.dialog-thumbs{display:flex;gap:10px;overflow-x:auto;padding:3px 3px 12px;scrollbar-width:thin;scrollbar-color:#979d8a #ddd}.dialog-thumbs>button{position:relative;flex-shrink:0;padding:0;border:2px solid transparent;background:transparent;opacity:.55;transition:opacity .2s}.dialog-thumbs>button[aria-pressed=true]{border-color:#5b614e;opacity:1}.dialog-thumbs>button:hover{opacity:1}.dialog-thumbs img{width:64px;height:80px;object-fit:cover}.dialog-thumbs>button>span{position:absolute;left:3px;bottom:3px;background:#111c;color:#fff;padding:0 4px;font-size:.75rem}@keyframes dialog-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
/* Shareable detail routes use the same identity. */
.project-intro{background:var(--paper);color:var(--ink);padding-top:135px;padding-bottom:0}.project-breadcrumb{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:.75rem;line-height:1.8;margin-bottom:50px;color:#636b59}.project-breadcrumb a{padding:8px 0}.project-breadcrumb>span{letter-spacing:.1em;text-align:right}.intro-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:7vw;align-items:center}.intro-copy .eyebrow{color:#69715e}.intro-copy h1{font-size:clamp(75px,8vw,140px);line-height:1.05;letter-spacing:-.06em;margin:28px 0}.intro-copy h1>span{display:block;font-size:.5em;line-height:1.5}.intro-copy h1>em{color:var(--project-tone)}.project-tagline{font-size:1.5rem;line-height:1.55;max-width:490px;letter-spacing:-.02em}.project-description{font-size:1rem;line-height:1.9;color:#5c6453;margin-top:24px;max-width:540px}.intro-copy .line-link{margin-top:25px}.project-hero{min-width:0}.gallery-photo{position:relative;display:block;overflow:hidden;background:#dfe1d5;cursor:zoom-in}.gallery-photo img{width:100%;height:auto}.project-hero .gallery-photo{background:transparent}.project-hero img{max-height:760px;object-fit:contain;object-position:right center}.photo-enlarge{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:42px;height:42px;background:#101110c9;color:#fff;border-radius:50%;font-size:23px}.project-hero figcaption{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;line-height:1.8;color:#6a735d;margin-top:16px}.project-hero figcaption>span:last-child{text-align:right}.project-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;margin:65px 0 0;padding:30px 0 40px;border-top:1px solid #c5c9bc}.project-details dt{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#6a745d;margin-bottom:13px}.project-details dd{margin:0;max-width:320px;color:#565f4c;font-size:1rem;line-height:1.8}.project-gallery{background:var(--white);color:var(--ink)}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:60px}.gallery-heading h2{font-size:clamp(38px,4.5vw,77px);line-height:1.15;letter-spacing:-.05em;margin-top:20px}.gallery-heading>p{text-align:right;font-size:.875rem;color:#67715b;line-height:1.8;max-width:200px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 5vw;align-items:start}.gallery-item.is-landscape{grid-column:1/-1}.gallery-item figcaption{display:flex;gap:20px;border-bottom:1px solid #c8cdbf;padding:18px 0 22px;color:#626c57;font-size:.875rem;line-height:1.8}.gallery-item figcaption>span{font-size:.75rem;flex-shrink:0;padding-top:2px}.next-project{background:#24251f}.next-project>.eyebrow{color:#b0b6a0}.next-project-link{display:flex;align-items:center;gap:45px;margin-top:25px;padding-bottom:35px;border-bottom:1px solid var(--line)}.next-project-link>div{flex:1}.next-project-link h2{font-size:clamp(45px,6vw,105px);letter-spacing:-.05em;line-height:1.3}.next-project-link p{font-size:.875rem;color:#b6bba9;margin-top:12px}.next-project-link>img{width:145px;height:175px;object-fit:cover}.next-project-link>span{font-size:60px;color:var(--accent)}.next-project .line-link{margin-top:25px}
.photo-viewer{inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:25px clamp(18px,4vw,60px);border:0;background:var(--ink);color:var(--white);overflow:auto}.photo-viewer::backdrop{background:var(--ink)}.photo-viewer[open]{display:flex;flex-direction:column;gap:20px}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0}.viewer-toolbar p{font-size:1rem}.viewer-close{display:flex;align-items:center;gap:18px;background:transparent;font-size:.875rem;min-height:44px;padding:0 6px}.viewer-close span{font-size:30px;line-height:1}.viewer-stage{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:28px;align-items:center;flex:1;min-height:0}.viewer-stage figure{height:100%;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:18px;align-items:center;min-width:0}.viewer-image{width:100%;height:100%;min-height:0;object-fit:contain;touch-action:pan-y pinch-zoom}.viewer-caption{text-align:center;font-size:.875rem;line-height:1.7;color:#c1cbbb;max-width:720px;flex-shrink:0}.viewer-prev,.viewer-next{width:48px;height:48px;display:grid;place-items:center;background:transparent;border:1px solid #788070;border-radius:50%;font-size:23px}.viewer-prev:hover,.viewer-next:hover{background:#30372b}.viewer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;letter-spacing:.1em;color:#a3b097;line-height:1.8;flex-shrink:0;padding-top:5px}
@media(min-width:1700px){.film-stage{right:13vw}.film-content{width:54%}.film-copy>p:not(.eyebrow){max-width:430px}}
@media(max-width:1100px){.hero-project{top:39%}.hero-wordmark{bottom:104px}.vision-layout{gap:6vw}.film-stage{right:var(--pad);height:68%;top:18%}.film-content{width:62%;top:31%}.film-copy h2{font-size:7.2vw}.film-copy>p:not(.eyebrow){max-width:335px}.film-hint{max-width:230px}.film-chapters{gap:17px}.film-chapters button{min-width:90px;gap:8px}.craft-story .film-copy h2{font-size:7vw}.project-dialog-layout{gap:4vw;grid-template-columns:minmax(230px,.8fr) minmax(0,1.3fr)}.dialog-copy h2{font-size:58px}.project-grid{column-gap:4vw}.portfolio-card:nth-child(2){margin-top:100px}.portfolio-card:nth-child(4){margin-top:70px}}
@media(max-width:860px){
html{scroll-padding-top:85px}.site-header{height:82px}.site-header.is-scrolled,.project-page .site-header{height:72px}.site-header nav,.header-contact{display:none}.menu-toggle{display:block}.brand{font-size:27px}.section-pad{padding:60px var(--pad)}.section-heading .eyebrow{font-size:.75rem;letter-spacing:.08em}.section-heading>span{max-width:160px}.hero,.hero-sticky{min-height:660px}.hero.has-motion{height:calc(100svh + 180px);min-height:840px}.hero-image img{object-position:54% center}.hero-heading{top:22%}.hero-heading h1{font-size:clamp(55px,11.2vw,90px)}.hero-heading .eyebrow{font-size:.75rem;letter-spacing:.09em;max-width:260px;margin-bottom:23px}.hero-project{top:auto;bottom:calc(18vw + 128px);left:var(--pad);right:auto;font-size:.875rem;gap:7px}.hero-project .eyebrow{font-size:.75rem}.hero-project>span:last-child{padding-bottom:8px;gap:30px}.hero-wordmark{bottom:109px;font-size:19.5vw;letter-spacing:-.075em;left:var(--pad)}.hero-bottom{bottom:26px;gap:20px}.hero-bottom>span:first-child{display:none}.hero-location{max-width:110px;text-align:right;font-size:.75rem;letter-spacing:.04em}.hero-bottom>a{gap:13px;font-size:.875rem}.circle-arrow{width:40px;height:40px}.hero-shade{background:linear-gradient(180deg,#111a,#1114 35%,#1111 52%,#111a),linear-gradient(90deg,#1115,transparent)}
.vision{padding-bottom:47px}.vision-layout{grid-template-columns:1fr;gap:29px;margin:43px 0}.vision-layout h2{font-size:clamp(36px,7.7vw,62px);line-height:1.18}.vision-layout>div>p{max-width:100%;font-size:1rem;line-height:1.9}.vision-layout .line-link{margin-top:7px}.discipline-line{grid-template-columns:1fr}.discipline-line>a{padding:20px 0;margin:0;font-size:25px;border-bottom:1px solid #c9cac2}.discipline-line>a:last-child{border:0}
.film-story,.film-sticky{min-height:710px}.film-story.has-motion{height:330svh}.craft-story.has-motion{height:290svh}.film-section-label{top:104px;gap:25px;color:#fff}.film-section-label .eyebrow{font-size:.75rem;letter-spacing:.08em}.film-section-label>.eyebrow:first-child{max-width:220px}.film-section-label>.eyebrow:last-child{max-width:150px}.film-stage,.craft-story .film-stage{inset:0;aspect-ratio:auto;width:100%;height:100%;max-width:none;transform:none;box-shadow:none}.film-shade{background:linear-gradient(180deg,#101110b8,transparent 30%,#10111035 40%,#101110ee 77%,#101110fa)}.film-mark,.film-background-word{display:none}.film-content{left:var(--pad);right:var(--pad);top:auto;bottom:151px;width:auto;height:340px}.film-copy .eyebrow{margin-bottom:20px;color:#e3c8a8}.film-copy h2,.craft-story .film-copy h2{font-size:clamp(48px,9.4vw,76px);line-height:1.08;letter-spacing:-.055em}.film-copy>p:not(.eyebrow){font-size:1rem;line-height:1.8;max-width:430px;margin-top:24px;color:#e0e1d9}.film-copy .line-link{margin-top:15px}.film-footer{bottom:24px;display:flex;flex-direction:column;gap:16px;align-items:stretch}.film-hint{font-size:.75rem;letter-spacing:.06em;max-width:none}.film-chapters{gap:18px}.film-chapters button{flex:1;min-width:0;padding:12px 0 8px;gap:8px;line-height:1.5}.film-chapters button span{font-size:.875rem}.craft-story .film-copy[data-copy="0"] h2{font-size:clamp(46px,9vw,72px)}
.portfolio-heading{display:block;margin:43px 0 40px}.portfolio-heading h2{font-size:clamp(48px,10vw,78px)}.portfolio-heading>p{margin-top:25px;font-size:1rem;max-width:400px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 25px}.portfolio-card,.portfolio-card:nth-child(2),.portfolio-card:nth-child(3),.portfolio-card:nth-child(4){grid-column:1/-1;margin:0}.portfolio-card:nth-child(2),.portfolio-card:nth-child(4){max-width:78%;justify-self:end}.portfolio-card:nth-child(3){margin-top:10px}.project-image{aspect-ratio:1.2}.portfolio-card:nth-child(3) .project-image{aspect-ratio:1.25}.portfolio-card:nth-child(2) .project-image,.portfolio-card:nth-child(4) .project-image{aspect-ratio:.8}.portfolio-card h3{font-size:32px}.portfolio-card figcaption{padding:20px 0 15px}.project-meta{gap:5px;font-size:.75rem;display:block}.project-meta span{display:block}.project-image .project-open{width:42px;height:42px;right:15px;bottom:15px}
.site-footer{padding:56px var(--pad) 24px}.footer-kicker .eyebrow{font-size:.75rem;letter-spacing:.08em;max-width:245px}.contact-heading{font-size:clamp(43px,8.8vw,72px);gap:20px;padding:38px 0 36px;line-height:1.14}.contact-arrow{width:60px;height:60px;font-size:34px}.footer-details{grid-template-columns:1fr 1fr;gap:28px;padding:30px 0 48px;font-size:.875rem}.footer-details>a:last-child{text-align:left;grid-column:1/-1}.footer-wordmark{font-size:19.5vw;margin-left:0}.footer-legal{margin-top:24px;flex-direction:column;gap:9px;font-size:.75rem}
.project-dialog-bar{padding:12px var(--pad)}.project-dialog-bar>.brand{font-size:23px}.project-dialog-bar>span{display:none}.project-dialog-layout{grid-template-columns:1fr;padding:30px var(--pad);gap:30px}.dialog-copy h2{font-size:66px;margin:20px 0}.dialog-copy h2 span{font-size:.45em}.dialog-tagline{font-size:1.125rem;max-width:none;margin-bottom:15px}.dialog-description{font-size:1rem;max-width:none;line-height:1.8}.dialog-copy .line-link{margin-top:15px}.dialog-photo>img{height:52svh;min-height:270px}.dialog-image-info{font-size:.875rem;gap:15px;padding:15px 0;min-height:0}.dialog-thumbs img{width:54px;height:68px}.dialog-thumbs{gap:7px}.dialog-count{font-size:.75rem}
.project-intro{padding-top:115px;padding-bottom:0}.project-breadcrumb{font-size:.75rem;margin-bottom:32px;gap:20px}.project-breadcrumb>span{max-width:140px;font-size:.75rem}.intro-grid{grid-template-columns:1fr;gap:34px}.intro-copy h1{font-size:clamp(78px,20vw,125px);margin:23px 0}.project-tagline{font-size:1.4rem}.project-description{font-size:1rem;margin-top:18px;line-height:1.9}.intro-copy .line-link{margin-top:22px}.project-hero img{max-height:none}.project-hero figcaption{font-size:.75rem;gap:15px}.project-details{grid-template-columns:1fr;gap:25px;margin-top:36px;padding:28px 0 37px}.project-details>div{display:grid;grid-template-columns:95px 1fr;gap:20px}.project-details dt{font-size:.75rem;letter-spacing:.05em;margin-top:3px}.project-details dd{font-size:1rem;max-width:none}.gallery-heading{display:block;margin-bottom:35px}.gallery-heading h2{font-size:clamp(33px,8vw,50px)}.gallery-heading>p{text-align:left;font-size:.875rem;margin-top:25px;max-width:none}.gallery-grid{grid-template-columns:1fr;gap:38px}.gallery-item figcaption{font-size:.875rem;gap:15px}.next-project-link{gap:25px;padding-bottom:27px}.next-project-link h2{font-size:clamp(37px,9vw,62px)}.next-project-link>img{display:none}.next-project-link>span{font-size:37px}.next-project-link p{font-size:.875rem}
.photo-viewer{padding:16px}.photo-viewer[open]{gap:16px}.viewer-toolbar p{font-size:.875rem}.viewer-stage{display:flex;flex-direction:column;justify-content:center;padding-bottom:62px}.viewer-stage figure{width:100%;gap:16px}.viewer-caption{font-size:.875rem;line-height:1.65}.viewer-prev,.viewer-next{position:absolute;bottom:0;width:44px;height:44px}.viewer-prev{left:calc(50% - 58px)}.viewer-next{right:calc(50% - 58px)}.viewer-bottom{font-size:.75rem;letter-spacing:.06em}.viewer-close{font-size:.875rem;gap:12px}
}
@media(max-width:420px){.hero-heading h1{font-size:56px}.hero-heading{top:24%}.hero-project{bottom:calc(18vw + 135px)}.section-heading>span{max-width:139px}.film-section-label>.eyebrow:last-child{max-width:100px}.film-section-label>.eyebrow:first-child{max-width:200px}.film-content{height:365px;bottom:148px}.film-copy h2,.craft-story .film-copy h2{font-size:49px}.film-copy>p:not(.eyebrow){margin-top:22px}.craft-story .film-copy[data-copy="0"] h2{font-size:46px}.film-hint{font-size:.75rem;letter-spacing:.02em}.film-chapters{gap:12px}.film-chapters button{gap:7px}.film-chapters button span{font-size:.8rem}.portfolio-card h3{font-size:29px}.contact-heading{font-size:41px;gap:12px}.contact-arrow{width:47px;height:47px;font-size:29px}.footer-details{grid-template-columns:1fr;gap:23px}.footer-details>a:last-child{grid-column:auto}}
@media(max-height:730px) and (min-width:861px){.hero,.hero-sticky{min-height:640px}.hero-heading{top:22%}.hero-heading h1{font-size:80px}.hero-heading .eyebrow{margin-bottom:20px}.hero-wordmark{font-size:min(20.4vw,24svh);bottom:100px}.hero.has-motion{min-height:940px}.film-story,.film-sticky{min-height:700px}.film-content{top:29%;height:380px}.film-copy h2,.craft-story .film-copy h2{font-size:75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero.has-motion{height:100svh;min-height:660px}.hero-image,.hero-heading,.hero-wordmark{transform:none;clip-path:none;opacity:1}.project-image img{transform:none!important}.film-story,.film-story.has-motion{height:auto;min-height:0}.film-sticky{position:relative;height:auto;min-height:0;padding:115px var(--pad) 40px;overflow:visible}.film-section-label{position:static;margin-bottom:35px}.film-stage,.craft-story .film-stage{position:relative;inset:auto;width:100%;max-width:480px;height:70svh;margin:0 auto;transform:none;aspect-ratio:auto;box-shadow:none}.film-background-word{display:none}.film-content{position:static;inset:auto;width:100%;height:auto;margin-top:40px}.film-copy{position:static;opacity:1;visibility:visible;transform:none;pointer-events:auto;margin-bottom:40px}.film-copy h2,.craft-story .film-copy h2,.craft-story .film-copy[data-copy="0"] h2{font-size:clamp(40px,6vw,85px)}.film-copy>p:not(.eyebrow){max-width:680px}.film-footer,.film-progress{display:none}.film-shade{background:linear-gradient(0deg,#10111045,transparent 50%)}}
.film-story:not(.has-motion){height:auto;min-height:0}.film-story:not(.has-motion) .film-sticky{height:auto;min-height:0;position:relative;padding:100px var(--pad) 45px}.film-story:not(.has-motion) .film-section-label{position:static;margin-bottom:30px}.film-story:not(.has-motion) .film-stage{position:relative;inset:auto;width:100%;height:70svh;max-width:480px;margin:auto;transform:none;box-shadow:none}.film-story:not(.has-motion) .film-content{position:static;width:auto;height:auto;margin-top:38px}.film-story:not(.has-motion) .film-copy{position:static;opacity:1;visibility:visible;transform:none;pointer-events:auto;margin-bottom:40px}.film-story:not(.has-motion) .film-copy h2{font-size:clamp(40px,6vw,85px)}.film-story:not(.has-motion) .film-copy>p:not(.eyebrow){max-width:680px}.film-story:not(.has-motion) .film-footer,.film-story:not(.has-motion) .film-progress,.film-story:not(.has-motion) .film-background-word{display:none}
