@font-face{font-family:Geist;src:url('assets/fonts/geist-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('assets/fonts/instrument-serif-italic-latin.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
:root{--paper:#f5f2ed;--paper-deep:#eae5de;--ink:#22211f;--muted:#68645f;--accent:#752d35;--line:#d4cec5;--sans:Geist,'Segoe UI',sans-serif;--serif:'Instrument Serif',Georgia,serif;--gutter:clamp(22px,4.2vw,88px);--ease:var(--ease-snap)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px;background:var(--paper)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.023;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
a{color:inherit}button,video{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3,h4{margin:0}a{text-underline-offset:5px}svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button:focus-visible{outline-offset:5px}
.skip-link{position:fixed;z-index:300;left:18px;top:18px;padding:14px 20px;background:var(--ink);color:var(--paper);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}
.site-nav{height:112px;position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 var(--gutter)}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;min-height:44px;font-size:16px;letter-spacing:-.035em;font-weight:500;flex-shrink:0}.brand-mark{width:37px;height:37px;stroke-width:2.5;flex-shrink:0}.brand small{display:block;margin-top:5px;font-size:11px;letter-spacing:.025em;font-weight:400;color:var(--muted)}
.nav-links{display:flex;gap:38px}.nav-links a,.nav-social{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;font-size:14px}.nav-links a{position:relative}.nav-links a::after{position:absolute;content:'';left:0;right:0;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}@media(hover:hover) and (pointer:fine){.nav-links a:hover::after{transform:scaleX(1)}}.nav-social{border:1px solid #9a938a;border-radius:40px;padding:0 21px;transition:transform .35s var(--ease)}@media(hover:hover) and (pointer:fine){.nav-social:hover{transform:translateY(-2px)}}.nav-social:active{transform:scale(.98)}
.hero{position:relative;isolation:isolate;min-height:100dvh;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;overflow:hidden;padding:150px var(--gutter) 126px;background:radial-gradient(ellipse at 26% 27%,#faf8f4 0%,transparent 58%),var(--paper)}
.hero-grid{position:absolute;z-index:-2;inset:0;background-image:linear-gradient(#aba19515 1px,transparent 1px),linear-gradient(90deg,#aba19515 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(115deg,#0003,transparent 72%)}
.hero-copy{position:relative;z-index:2;min-width:0;padding-top:52px;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;line-height:1.5;color:var(--muted);font-weight:400}.hero-copy>.eyebrow{margin-bottom:32px}
.hero-title{font-family:var(--sans);font-size:clamp(64px,8.6vw,170px);font-weight:400;line-height:.94;letter-spacing:-.07em;max-width:12ch}.hero-title>span,.hero-title>em{display:block;white-space:nowrap}.hero-title>span:first-child{font-size:.79em;letter-spacing:-.075em}.hero-title>em{font-family:var(--serif);font-size:1.26em;font-weight:400;line-height:.94;letter-spacing:-.055em;margin-left:.37em}.hero-title>span:last-child{font-size:1.12em}
.hero-bottom{margin-top:42px;display:flex;gap:34px;align-items:center}.hero-bottom>p{font-size:13px;line-height:1.7;color:var(--muted)}.hero-cta{min-height:54px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--accent);color:var(--paper);border-radius:40px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;white-space:nowrap;position:relative;transition:transform .45s var(--ease)}.hero-cta::before{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:0 10px 25px #752d3528;opacity:0;transition:opacity .45s var(--ease);pointer-events:none}@media(hover:hover) and (pointer:fine){.hero-cta:hover{transform:translateY(-3px)}}@media(hover:hover) and (pointer:fine){.hero-cta:hover::before{opacity:1}}.hero-cta:active{transform:translateY(0) scale(.98)}.hero-cta svg{width:20px;height:20px;stroke-width:1.4}
.hero-art{position:absolute;z-index:1;width:min(54vw,990px);right:-.3vw;top:50%;transform:translateY(-46%);mix-blend-mode:multiply;pointer-events:none}.hero-art img{width:100%;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(transparent,#000 10%,#000 86%,transparent);mask-composite:intersect}
.hero-foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:30px;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.025em;color:var(--muted)}.hero-foot b{font-weight:500;color:var(--accent);margin:0 3px}

.work{padding:98px var(--gutter) 0;background:#fbf9f5}.work-intro,.project{max-width:1560px;margin-inline:auto}.section-index{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.work-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end;margin:64px 0 48px}.work-heading h2{font-size:clamp(52px,6.5vw,110px);font-weight:400;letter-spacing:-.065em;line-height:.97}.work-heading h2 em{font-family:var(--serif);font-weight:400;font-size:1.16em;letter-spacing:-.04em}
.project-index{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:96px}.project-index a{min-height:74px;display:flex;align-items:center;gap:17px;text-decoration:none;font-size:13px;padding:12px 22px;border-right:1px solid var(--line)}.project-index a:first-child{padding-left:0}.project-index a:last-child{border:0;padding-right:0}.project-index a>span:first-child{color:var(--accent);font-size:11px}.project-index a>span:last-child{margin-left:auto;font-size:18px;transition:transform .4s var(--ease)}@media(hover:hover) and (pointer:fine){.project-index a:hover>span:last-child{transform:translate(3px,-3px)}}
.project{padding-bottom:102px;scroll-margin-top:30px}.project+.project{border-top:1px solid var(--line);padding-top:74px}.project-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:end;margin-bottom:42px}.project-heading .eyebrow{display:flex;gap:18px;margin-bottom:21px;font-size:11px}.project-number{color:var(--accent)}.project h3{font-size:clamp(40px,5.4vw,88px);line-height:1.02;letter-spacing:-.07em;font-weight:400}.project-summary{max-width:410px;justify-self:end}.project-summary>p{font-size:clamp(17px,1.5vw,24px);line-height:1.4;letter-spacing:-.025em}.project-link{display:inline-flex;align-items:center;gap:25px;min-height:44px;margin-top:13px;text-decoration:none;border-bottom:1px solid #aaa29a;font-size:13px}.project-link span{transition:transform .3s var(--ease)}@media(hover:hover) and (pointer:fine){.project-link:hover span{transform:translate(3px,-3px)}}
.shot{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.shot img{width:100%;height:auto;object-fit:contain}.zoom{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:20px;box-shadow:0 2px 12px #0001;transition:transform .35s var(--ease),opacity .35s var(--ease);opacity:0}@media(hover:hover) and (pointer:fine){.shot:hover .zoom,.shot:focus-visible .zoom{opacity:1;transform:translateY(-3px)}}
.travel-stage{background:radial-gradient(ellipse at 50% 25%,#f2eee7,#e7e1d8);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(35px,6vw,100px);padding:56px clamp(38px,9vw,150px) 30px;border:1px solid #e0d9d0}.phone-view{min-width:0}.phone-view .shot,.phone-view video{display:block;width:100%;height:auto;border:5px solid #292825;border-radius:25px;overflow:hidden;background:#292825;box-shadow:0 15px 27px #31271e22}.phone-view .shot img{border-radius:19px}.phone-view figcaption{display:flex;gap:10px;align-items:baseline;font-size:11px;line-height:1.5;margin-top:21px;letter-spacing:-.01em}.phone-view figcaption>span{color:#8e8174;font-size:10px}.video-view video{aspect-ratio:1080/2400;object-fit:contain}.visual-caption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:13px;max-width:100%;letter-spacing:.005em}
.screen-stage>.shot{border:1px solid #d8d0c6;border-radius:5px;overflow:hidden}.screen-stage .zoom{opacity:1}.project-story{display:grid;grid-template-columns:.45fr 1.85fr;gap:50px;margin-top:36px}.story-label{padding-top:4px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.story-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px}.story-columns p{font-size:14px;line-height:1.85;color:#5f5b56}

.workflow{background:#eee8df;padding:32px 50px 24px;border:1px solid #ded6cc}.workflow-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.workflow-top>span:last-child{font-size:24px;color:var(--accent)}.workflow ol{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}.workflow li{display:grid;grid-template-columns:25px 1fr;position:relative;gap:15px;padding:40px 25px 80px 0;border-right:1px solid #cec3b6}.workflow li+li{padding-left:30px}.workflow li:last-child{border-right:0}.step-no{font-size:12px;color:var(--accent);padding-top:9px}.workflow h4{font-family:var(--serif);font-style:italic;font-weight:400;font-size:48px;line-height:1.1;letter-spacing:-.025em}.workflow li p{font-size:13px;line-height:1.65;color:var(--muted);max-width:25ch;margin-top:16px}.workflow li svg{width:41px;height:41px;position:absolute;bottom:12px;left:40px;stroke:var(--accent);stroke-width:1.3}.workflow li+li svg{left:70px}.workflow .visual-caption{border-top:1px solid #cec3b6;padding-top:16px}
footer{background:var(--paper-deep);border-top:1px solid #cdc5bb;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:85px;padding:16px var(--gutter);font-size:11px;color:var(--muted)}footer a{display:flex;align-items:center;gap:35px;min-height:44px;text-decoration:none}
body:has(.lightbox[open]){overflow:hidden}.lightbox{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;margin:0;padding:0;background:#242321f5;color:var(--paper)}.lightbox::backdrop{background:#242321}.lightbox-toolbar{position:absolute;inset:0 0 auto;z-index:2;min-height:80px;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#242321}.lightbox-caption{font-size:13px;line-height:1.5}.lightbox-close{flex-shrink:0;display:grid;place-items:center;background:transparent;color:var(--paper);width:48px;height:48px;border:1px solid #f5f2ed55;border-radius:50%;cursor:pointer}.lightbox-close svg{width:24px;height:24px}.lightbox-close:focus-visible{outline-color:var(--paper)}.lightbox-stage{height:100%;padding:100px 40px 30px;display:grid;place-items:center}.lightbox-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;min-height:0;box-shadow:0 12px 50px #0003}
@media(min-width:1600px){.hero-copy{padding-top:60px}.hero-art{right:1vw}.hero-bottom{gap:45px}.hero-bottom>p{font-size:15px}}
@media(min-width:768px) and (max-height:780px){.hero{padding-top:115px;padding-bottom:95px}.hero-copy{padding-top:10px}.hero-title{font-size:clamp(64px,min(8.6vw,15vh),135px)}.hero-copy>.eyebrow{margin-bottom:20px}.hero-bottom{margin-top:27px}.hero-art{width:min(54vw,83vh)}.hero-foot{bottom:20px;padding-top:15px}.site-nav{height:95px}}
@media(min-width:768px) and (max-width:1100px){.hero-art{width:56vw;right:-1vw}.hero-bottom{gap:20px;flex-wrap:wrap}.hero-copy>.eyebrow{margin-bottom:28px}.nav-links{gap:22px}.brand{font-size:14px}.work-heading{gap:40px}.project-index a{padding-inline:14px;gap:10px}.project-heading{grid-template-columns:1.2fr 1fr;gap:30px}.project-story{grid-template-columns:1fr;gap:16px}.travel-stage{gap:36px;padding:38px 65px 25px}.story-columns{gap:30px}}
@media(max-width:767px){
  :root{--gutter:22px}.site-nav{height:92px;gap:12px;align-items:center}.brand{font-size:13px;gap:9px}.brand-mark{width:27px;height:27px}.brand small{font-size:9px;margin-top:4px}.nav-social{display:none}.nav-links{gap:18px}.nav-links a{font-size:12px;gap:4px}.nav-links a:last-child{display:none}
  .hero{display:flex;flex-direction:column;align-items:stretch;min-height:100dvh;padding:132px var(--gutter) 74px}.hero-copy{padding:0;flex:none}.hero-copy>.eyebrow{font-size:10px;margin-bottom:26px}.hero-title{font-size:clamp(56px,16vw,116px);max-width:100%;line-height:.94}.hero-title>span:first-child{font-size:.88em}.hero-title>em{font-size:1.27em;margin-left:.56em}.hero-title>span:last-child{font-size:1.23em}.hero-bottom{margin-top:28px;gap:16px;justify-content:space-between}.hero-bottom>p{font-size:11px;line-height:1.6}.hero-cta{font-size:10px;min-height:48px;padding:0 16px;gap:15px}.hero-cta svg{width:17px;height:17px}
  .hero-art{position:relative;align-self:center;width:112%;max-width:590px;right:auto;top:auto;margin:-8px -6% -5px;transform:none}.hero-art img{mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(transparent,#000 9%,#000 87%,transparent);mask-composite:intersect}.hero-foot{font-size:10px;bottom:23px;padding-top:15px}.hero-foot>span:first-child{max-width:150px}.hero-foot>span:last-child{max-width:120px;text-align:right}
  .work{padding-top:60px}.section-index{font-size:10px;padding-top:17px}.work-heading{grid-template-columns:1fr;gap:28px;margin:40px 0 32px}.work-heading h2{font-size:clamp(50px,12.5vw,84px)}.project-index{grid-template-columns:1fr 1fr;margin-bottom:58px}.project-index a{padding:12px 10px!important;font-size:11px;gap:10px;min-height:62px}.project-index a:nth-child(even){border-right:0}.project-index a:nth-child(-n+2){border-bottom:1px solid var(--line)}.project-index a>span:first-child{font-size:10px}.project-index a>span:last-child{font-size:17px}
  .project{padding-bottom:58px}.project+.project{padding-top:42px}.project-heading{grid-template-columns:1fr;gap:23px;margin-bottom:29px}.project-heading .eyebrow{margin-bottom:16px;font-size:10px}.project h3{font-size:clamp(37px,9vw,66px)}.project-summary{justify-self:start;max-width:40ch}.project-summary>p{font-size:17px;line-height:1.5}.project-link{font-size:12px;margin-top:8px}
  .travel-stage{grid-template-columns:1fr 1fr;gap:26px 18px;padding:26px 19px 24px}.phone-view .shot,.phone-view video{border-width:3px;border-radius:17px}.phone-view .shot img{border-radius:13px}.phone-view figcaption{font-size:10px;gap:6px;margin-top:13px}.video-view{grid-column:1/-1;width:64%;justify-self:center}.video-view figcaption{justify-content:center}.visual-caption{font-size:10px;margin-top:10px;line-height:1.65}.screen-stage>.shot{border-radius:2px}.zoom{opacity:1;width:30px;height:30px;right:7px;bottom:7px;font-size:17px}
  .project-story{grid-template-columns:1fr;gap:15px;margin-top:28px}.story-label{font-size:10px}.story-columns{grid-template-columns:1fr;gap:17px}.story-columns p{font-size:14px;line-height:1.85}
  .workflow{padding:20px 22px 18px}.workflow-top{font-size:11px}.workflow ol{grid-template-columns:1fr;margin-top:15px}.workflow li,.workflow li+li{border-right:0;border-top:1px solid #cec3b6;padding:27px 42px 25px 0;gap:8px}.workflow li svg,.workflow li+li svg{left:auto;right:0;bottom:29px;width:31px;height:31px}.workflow h4{font-size:40px}.workflow li p{font-size:12px;margin-top:10px}.step-no{font-size:11px}.workflow .visual-caption{margin-top:0}
  footer{font-size:10px;min-height:83px;gap:18px}footer a{gap:14px;white-space:nowrap}
  .lightbox-toolbar{padding:14px 16px;min-height:86px;gap:15px}.lightbox-caption{font-size:11px}.lightbox-stage{padding:106px 12px 24px}.lightbox-close{width:44px;height:44px}
}
@media(max-width:360px){:root{--gutter:18px}.nav-links{gap:13px}.nav-links a{font-size:11px}.brand{font-size:12px}.brand-mark{width:23px}.hero{padding-top:120px}.hero-bottom{gap:12px}.hero-cta{padding-inline:13px;gap:10px;font-size:9px}.hero-bottom>p{font-size:10px}.hero-title{font-size:16vw}.hero-copy>.eyebrow{margin-bottom:22px}.project h3{font-size:36px}.project-index a{gap:7px;padding-inline:7px!important;font-size:10px}.travel-stage{padding-inline:14px;gap:22px 14px}.phone-view figcaption{font-size:9px}.video-view{width:75%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-art{transform:translateY(-46%)}.enter{opacity:1}@media(max-width:767px){.hero-art{transform:none}}}



.lightbox-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.lightbox-zoom{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 15px;color:var(--paper);background:transparent;border:1px solid #f5f2ed55;border-radius:30px;font-size:11px;cursor:pointer}
.lightbox-zoom:focus-visible{outline-color:var(--paper)}
.lightbox-stage img{cursor:zoom-in}
.lightbox.is-zoomed .lightbox-stage{display:block;overflow:auto}
.lightbox.is-zoomed .lightbox-stage img{width:var(--image-width);max-width:none;max-height:none;height:auto;margin:auto;cursor:zoom-out}
@media(min-width:768px) and (max-width:900px) and (orientation:portrait){.hero-title{font-size:clamp(64px,9.5vw,86px)}}
@media(max-width:767px){.lightbox-toolbar{gap:12px}.lightbox-actions{gap:8px}.lightbox-zoom{font-size:10px;padding:0 12px}.lightbox-caption{max-width:45%}}

