:root{--paper:#faf9f4;--ink:#191d1a;--muted:#45524f;--line:#c7ccc3;--yellow:#ffcf19;--pad:clamp(20px,3.6vw,66px);--max:1500px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:12px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.4 "Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.37}[hidden]{display:none!important}img,video{display:block;max-width:100%}figure,h1,h2,h3,p{margin:0}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,.rail:focus-visible{outline:3px solid #146bb8;outline-offset:3px}.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}.skip{position:fixed;z-index:12;top:8px;left:8px;padding:12px;background:white;transform:translateY(-160%)}.skip:focus{transform:none}
.mast{background:var(--yellow)}.top,.top nav,.actions,.work-head,.rail-controls,.foot,.lightbox-top,.lightbox-nav{display:flex;align-items:center}.top{min-height:72px;gap:clamp(25px,3.8vw,65px)}.home{margin-right:auto;display:grid;place-content:center;min-height:52px}.home img{width:84px;height:auto}.top nav{gap:clamp(20px,3.6vw,54px);font-weight:550}.top nav a,.header-phone{padding-block:12px}.top a:hover,.direct a:hover{text-decoration:underline;text-underline-offset:4px}.header-phone{font-size:18px;font-weight:700;border-left:1px solid #a78c1c;padding-left:clamp(18px,2.8vw,45px)}
.hero{display:grid;grid-template-columns:minmax(0,.53fr) minmax(0,1fr);grid-template-rows:1fr auto auto 1fr;column-gap:clamp(18px,2.15vw,42px);padding-block:22px 24px}.hero-intro{grid-area:2/1}.wordmark{width:100%;height:auto}.trade{margin:clamp(22px,3.2vw,47px) 0 5px;font-size:clamp(25px,2.55vw,40px);font-weight:550;letter-spacing:-.055em;line-height:1.1}.location{color:var(--muted);font-size:clamp(15px,1.35vw,20px)}.hero-contact{grid-area:3/1;margin-top:clamp(20px,3vw,44px)}.actions{gap:10px;flex-wrap:wrap}.action{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-width:112px;min-height:48px;padding:11px 20px;border:1px solid currentColor;font-weight:650}.text-us{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.action:hover{box-shadow:inset 0 -3px 0 currentColor}.hero-media{grid-area:1/2/5/3;min-width:0}.film{position:relative;background:#dfdfd6;aspect-ratio:4/3;overflow:hidden}.film video{width:100%;height:100%;object-fit:cover}.hero-media figcaption{margin-top:8px;font-size:13px;color:var(--muted)}.film-control{position:absolute;bottom:12px;right:12px;background:rgba(18,22,20,.78);border:1px solid #fff8;color:white;width:44px;height:44px;border-radius:50%;font-weight:700}
.story{position:relative}.story-stick{position:sticky;top:12px}.story-frame{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1fr);gap:clamp(36px,7.2vw,108px);border-top:1px solid var(--line);align-items:center;padding:clamp(20px,3.5vw,55px) 5px}.story-image{position:relative;overflow:hidden;isolation:isolate;width:100%;height:clamp(330px,min(45vw,72svh),660px);background:#dddcd5}.story-image img{height:100%;width:100%;object-fit:cover;object-position:50% 64%}.story-content{min-width:0;padding-right:8px}.eyebrow{display:flex;align-items:center;gap:20px;font-size:clamp(19px,1.9vw,27px);font-weight:550;letter-spacing:-.035em}.eyebrow:after{content:"";flex:1;height:1px;background:var(--line)}.scene-text h3{font-size:clamp(50px,6.6vw,100px);line-height:.93;letter-spacing:-.066em;margin:clamp(26px,4.5vw,74px) 0 clamp(20px,2.8vw,44px)}.scene-text p{font-size:clamp(17px,1.65vw,24px);color:var(--muted);max-width:38ch;line-height:1.42;letter-spacing:-.02em}.next-scene{display:inline-flex;align-items:center;gap:16px;min-height:46px;margin-top:clamp(24px,5vw,75px);font-weight:600}.disc,.circle,.light-button{display:grid;place-content:center;width:44px;height:44px;border-radius:50%;line-height:1}.disc{background:var(--yellow);font-size:23px}.next-scene:hover .disc{transform:translateY(2px)}.story-image .revealing{position:absolute;inset:0;animation:wipe .52s cubic-bezier(.22,.75,.22,1) both}.scene-text.entering{animation:appear .35s ease both}@keyframes wipe{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}@keyframes appear{from{opacity:.12;transform:translateY(5px)}to{opacity:1;transform:none}}
.work{padding:0 0 clamp(38px,5vw,72px)}.work-head{justify-content:space-between;gap:18px;padding-top:clamp(25px,4vw,62px);position:relative}.work-head:before{content:"";position:absolute;top:0;height:1px;background:var(--line);left:var(--pad);right:var(--pad)}.work h2,.foot h2{font-size:clamp(38px,4.25vw,65px);font-weight:550;line-height:1.06;letter-spacing:-.06em}.rail-controls{gap:8px}.circle{background:transparent;border:1px solid var(--line);font-size:23px}.circle:hover:not(:disabled){background:var(--yellow);border-color:var(--yellow)}.rail{--rh:clamp(200px,19.6vw,320px);display:flex;gap:15px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scroll-padding-inline:var(--pad);scrollbar-width:thin;scrollbar-color:#a6aaa0 transparent;padding:0 max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))) 12px;margin-top:clamp(18px,2.2vw,34px)}.rail figure{flex:0 0 auto;width:calc(var(--rh)*var(--ratio));scroll-snap-align:start}.photo-link{display:block;overflow:hidden;cursor:zoom-in;background:#ddd}.photo-link img{width:100%;height:var(--rh);object-fit:cover}.rail figcaption{font-size:15px;font-weight:550;margin-top:9px}
footer{background:var(--ink);color:var(--paper)}.foot{min-height:122px;justify-content:space-between;gap:20px;padding-block:25px}.foot h2{font-size:clamp(30px,3vw,44px)}.direct{display:grid;gap:3px}.direct a:first-child{font-size:22px;font-weight:650}.direct a:last-child{font-size:15px}.foot .action{min-width:90px}.mobile-contact{display:none}
#viewer{padding:0;border:0;margin:auto;background:var(--ink);color:var(--paper);width:min(94vw,1300px);max-width:100vw;max-height:100dvh}#viewer::backdrop{background:#101410e8}.lightbox{height:min(90dvh,980px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:10px 16px;gap:8px}.lightbox-top{justify-content:space-between;font-weight:600}.light-button{border:1px solid #87908b;color:white;background:transparent;font-size:25px}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox-nav{gap:12px;justify-content:center}
@media(max-width:800px){.top{gap:20px}.top nav{gap:20px}.foot{flex-wrap:wrap}.foot .actions{flex-wrap:nowrap}}
@media(max-width:650px){.top{min-height:56px;gap:16px}.home{min-height:46px}.home img{width:58px}.top nav a:not([href="#work"]){display:none}.top nav,.header-phone{font-size:14px}.header-phone{padding-left:13px}.hero{grid-template-columns:1fr;grid-template-rows:auto;gap:18px;padding-top:25px;padding-bottom:25px}.hero-intro,.hero-contact,.hero-media{grid-area:auto}.wordmark{width:min(74%,310px)}.trade{margin-top:13px;font-size:25px}.location{font-size:15px}.hero-media figcaption{font-size:12px;margin-top:5px}.hero-contact{margin-top:0}.hero-contact .actions,.mobile-contact .actions{display:grid;grid-template-columns:1fr 1fr}.story-stick{top:8px}.story-frame{grid-template-columns:minmax(0,.93fr) minmax(0,1fr);gap:18px;padding:24px 0}.story-image{height:clamp(240px,62vw,365px)}.story-content{padding:0}.eyebrow{font-size:16px;gap:8px}.scene-text h3{font-size:clamp(33px,8.4vw,48px);margin:18px 0 13px}.scene-text p{font-size:15px}.next-scene{margin-top:13px;font-size:14px;gap:8px}.disc{width:32px;height:32px;font-size:18px}.work h2{font-size:37px}.rail-controls{gap:5px}.rail{--rh:215px;gap:10px}.foot{display:grid;gap:20px;padding-block:28px}.mobile-contact:not([hidden]){display:block;position:fixed;bottom:0;left:0;right:0;z-index:3;padding:7px var(--pad) max(7px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}#viewer{width:100vw}.lightbox{height:95dvh;padding:8px 10px}.foot .action{min-width:110px}}
@media(max-width:360px){.top{gap:12px}.hero .actions{gap:7px}.story-frame{gap:12px}.scene-text p{font-size:14px}.next-scene{font-size:13px}.rail-controls .circle{width:41px}.top nav{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
.viewing{overflow:hidden}
@media(max-width:650px){
  .hero-intro{text-align:center}.wordmark{margin-inline:auto}
  .rail{--gutter:var(--pad);scroll-padding-inline:var(--gutter)}
  .rail figure{width:calc((100vw - 2 * var(--gutter) - 10px)/2)}
  .foot{grid-template-columns:minmax(0,1fr);justify-content:stretch;text-align:center;justify-items:center}.foot .actions{display:grid;width:100%;grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .rail figure{width:calc(100vw - 2 * var(--gutter))}.rail{--rh:265px}
}
@media(max-width:650px) and (min-height:600px){
  .story-frame{grid-template-columns:minmax(0,1fr);gap:15px;align-content:center;min-height:min(77svh,730px)}
  .story-image{height:clamp(205px,39svh,360px)}.story-content{display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:start}
  .eyebrow{grid-column:1/-1;gap:15px}.scene-text{grid-column:1/-1}.scene-text h3{margin:12px 0 6px;font-size:clamp(32px,8vw,44px)}
  .scene-text h3 br{display:none}.scene-text p{max-width:45ch}.next-scene{grid-column:1/-1;justify-self:start;margin-top:5px}
}

.hero {
  display:flex; flex-direction:column; align-items:center; text-align:center;
  gap:0; padding-block:clamp(22px,2vw,30px) clamp(26px,3vw,46px);
}
.hero-intro { width:100%; }
.hero .wordmark { width:min(100%,490px); margin-inline:auto; }
.hero .trade { margin:16px 0 4px; }
.hero-contact { margin:18px 0 24px; }
.hero-contact .actions { justify-content:center; }
.hero-media { width:min(100%,960px,120svh); margin-inline:auto; }
.film { width:100%; aspect-ratio:4/3; background:var(--ink); }
.film video { width:100%; height:100%; object-fit:cover; }
.film-control { z-index:1; }
.film-control[data-state="paused"] { background:var(--yellow); color:var(--ink); border-color:var(--yellow); }
.action { gap:9px; border-radius:999px; padding-inline:23px; font-weight:700; }
.action svg { width:19px; height:19px; flex:none; }
.action.call-us { color:white; background:var(--ink); border-color:var(--ink); }
.foot .call-us { border-color:#8d958d; }
.action:hover { box-shadow:0 3px 10px #151a1926; }
@media(max-width:650px){
  .hero .wordmark { width:min(83%,310px); }
  .hero-contact { width:100%; margin:16px 0 18px; }
  .hero-media { width:100%; }
}
