/* Motion direction adapted from the supplied Northwall reference. */
:root{--motion-ease:cubic-bezier(.18,.75,.18,1);--motion-slow:1100ms}

/* The fourth real asset is the handoff frame. The page beneath is already laid out. */
.loader{transition:opacity .8s var(--motion-ease),visibility .8s;background:#080808}
.loader-grid{background-position:0 0;animation:loader-grid-drift 8s linear infinite}
@keyframes loader-grid-drift{to{background-position:160px 160px}}
.loader-stack figure:nth-child(4){left:19%;top:1%;width:62%;z-index:4;transform:rotate(0);animation-delay:.66s}
.loader-stack figure:nth-child(4) img{object-fit:cover;object-position:center}
.loader.is-handoff{opacity:0;visibility:hidden}
.loader-readout{position:absolute;right:var(--gutter);bottom:var(--gutter);font-size:.68rem;letter-spacing:.14em;color:#b7b7b7}
.loader-handoff-frame{position:fixed;z-index:1001;pointer-events:none;overflow:hidden;background:#090909;border:1px solid #ffffff55;box-shadow:0 22px 90px #0009}
.loader-handoff-frame img{width:100%;height:100%;object-fit:cover;object-position:center}
.loader-flying-node{position:fixed;z-index:1002;width:9px;height:9px;background:var(--blue);pointer-events:none;box-shadow:0 0 16px #2457ff99}
html.intro-pending #leo-ai-root{opacity:0;pointer-events:none}
#leo-ai-root{transition:opacity .5s var(--motion-ease)}

/* Both visits animate every real card; the repeat uses a quicker rhythm. */
.loader{--card-delay-1:.42s;--card-delay-2:.84s;--card-delay-3:1.26s;--card-delay-4:1.68s;--card-duration:.62s;--line-duration:3.02s}
.loader.is-repeat{--card-delay-1:.12s;--card-delay-2:.37s;--card-delay-3:.62s;--card-delay-4:.87s;--card-duration:.36s;--line-duration:1.45s}
.loader-stack figure{animation:none;opacity:0}
.loader.is-playing .loader-stack figure{animation:loader-card-arrive var(--card-duration) var(--motion-ease) both}
.loader.is-playing .loader-stack figure:nth-child(1){animation-delay:var(--card-delay-1)}
.loader.is-playing .loader-stack figure:nth-child(2){animation-delay:var(--card-delay-2)}
.loader.is-playing .loader-stack figure:nth-child(3){animation-delay:var(--card-delay-3)}
.loader.is-playing .loader-stack figure:nth-child(4){animation-delay:var(--card-delay-4)}
@keyframes loader-card-arrive{from{opacity:0;clip-path:inset(100% 0 0);translate:0 45px;scale:.93}to{opacity:1;clip-path:inset(0);translate:0 0;scale:1}}
.loader-line i{animation:none;transform:scaleX(0)}
.loader.is-playing .loader-line i{animation:loader-line var(--line-duration) linear both}

/* The hero words wait for the image handoff. Every mask leaves room below the baseline. */
.hero-title .title-line{overflow:visible;line-height:1.12;padding-bottom:.1em;margin-bottom:-.1em}
.hero-title .title-line>span{animation:none!important;transform:none}
.hero-word{display:inline-block;overflow:clip;vertical-align:baseline;line-height:1.14;padding:0 .02em .18em;margin:0 -.02em -.18em 0}
.hero-word>span{display:inline-block;opacity:1;transform:none}
html.intro-pending .hero-word>span{opacity:0;transform:translateY(.84em)}
html.intro-released .hero-word>span{animation:hero-word-arrive 1.05s var(--motion-ease) both;animation-delay:calc(var(--word-order)*105ms)}
@keyframes hero-word-arrive{from{opacity:0;transform:translateY(.84em) scale(.96)}to{opacity:1;transform:none}}
html.intro-pending .hero .eyebrow,html.intro-pending .hero .hero-bottom{opacity:0!important;transform:translateY(18px)!important}
html.intro-released .hero .eyebrow,html.intro-released .hero .hero-bottom{opacity:1!important;transform:none!important;transition:opacity .95s var(--motion-ease),transform 1.05s var(--motion-ease)}
html.intro-released .hero .hero-bottom{transition-delay:.26s}

/* Word clipping is contained to a padded word box, never the heading line box. */
.reveal-words{line-height:1.14!important;overflow:visible}
.reveal-word{display:inline-block;overflow:clip;vertical-align:baseline;line-height:1.18;padding:0 .015em .18em;margin:0 -.015em -.18em 0}
.reveal-word>span{transform:translateY(.72em) scale(.975);opacity:0;transition:transform 1.05s var(--motion-ease),opacity .85s var(--motion-ease)}
.reveal-words.is-visible .reveal-word>span{transform:none;opacity:1}

/* Surface edges take a short visual breath before the next palette settles. */
#capabilities::before,#work::before,#contact::before{content:"";position:absolute;inset:0 0 auto;pointer-events:none;z-index:0}
#capabilities::before{background:linear-gradient(to bottom,#080808,transparent)}
#capabilities::before{height:clamp(48px,6vw,84px)}
#work::before,#contact::before{background:linear-gradient(to bottom,var(--paper),transparent);height:26px}
#capabilities>.section-shell,#work>.section-shell,#contact>.contact-rail,#contact>.contact-main{z-index:1}
#capabilities>.section-shell,#work>.section-shell{position:relative}

/* Header tone follows the surface at the viewport's midpoint. */
.site-header{transition:color .42s var(--motion-ease),background-color .42s var(--motion-ease),border-color .42s var(--motion-ease),opacity .32s var(--motion-ease)}
.site-header::before{opacity:1;transition:opacity .42s var(--motion-ease)}
.site-header.is-light::before{display:block;opacity:0}
.site-header .brand-mark i{transition:transform .45s var(--motion-ease)}
.site-header .brand:hover .brand-mark i{transform:translate(3px,3px)}

/* Frame-first entry: mask, image settle, then label. Scroll gives images slight depth. */
.project-card .project-media{clip-path:inset(0 0 0 0);transition:clip-path 1.2s var(--motion-ease),border-color .5s var(--motion-ease)}
.motion-ready .project-card:not(.is-visible) .project-media{clip-path:inset(0 0 100% 0)}
.project-card .project-media>img,.project-card .project-media>video{transform:translate3d(0,var(--media-shift,0px),0) scale(var(--media-scale,1.065));transition:transform 1.35s var(--motion-ease),filter .8s var(--motion-ease)}
.project-card.is-visible{--media-scale:1.025}
.project-card:hover{--media-scale:1.075}
.project-card:hover .project-media{border-color:#91a8ff}
.project-card .project-meta{opacity:var(--card-presence,1);transform:translateY(var(--card-drift,0px));transition:opacity .5s,transform .65s var(--motion-ease)}
.project-card:is(a):hover .project-media::after,.project-card:is(a):focus-visible .project-media::after{opacity:1;transform:translate(-50%,-50%) scale(1)}
.project-card:is(a) .project-media::after{content:"EXPLORE  ↗";position:absolute;left:50%;top:50%;z-index:4;padding:1rem 1.35rem;background:#f1efe9;color:#080808;font-size:.67rem;letter-spacing:.13em;opacity:0;transform:translate(-50%,-44%) scale(.94);transition:opacity .5s,transform .7s var(--motion-ease);pointer-events:none}
.project-card--assistant .project-media::after{display:none}
.project-gridlines{pointer-events:none}
.restoration-feature .comparison{clip-path:inset(0 0 100% 0);transition:clip-path 1.25s var(--motion-ease)}
.restoration-feature.is-visible .comparison{clip-path:inset(0)}
.about-portrait img{transform:scale(1.045);transition:transform 1.3s var(--motion-ease),filter .8s}
.about-portrait.is-visible img{transform:scale(1)}

/* One label roll and one arrow handoff are shared by primary links. */
.roll-label{position:relative;display:inline-block;overflow:hidden;vertical-align:middle;line-height:1.35;white-space:nowrap}
.roll-label>span{display:block;transition:transform .65s var(--motion-ease)}
.roll-label>span+span{position:absolute;left:0;top:100%;white-space:nowrap}
:is(a,button):hover .roll-label>span,:is(a,button):focus-visible .roll-label>span{transform:translateY(-100%)}
.swap-arrow{position:relative;display:inline-block;overflow:hidden;width:1.2em;height:1.2em;vertical-align:middle;line-height:1.2}
.swap-arrow>span{position:absolute;inset:0;display:grid;place-items:center;transition:transform .65s var(--motion-ease)}
.swap-arrow>span+span{transform:translateX(-130%)}
:is(a,button):hover .swap-arrow>span:first-child,:is(a,button):focus-visible .swap-arrow>span:first-child{transform:translateX(130%)}
:is(a,button):hover .swap-arrow>span+span,:is(a,button):focus-visible .swap-arrow>span+span{transform:none}
.button,.header-cta,.text-link,.project-meta>a,.about-links a{transition:background-color .4s,color .4s,border-color .4s,transform .55s var(--motion-ease)}
.button:hover,.button:focus-visible,.header-cta:hover,.header-cta:focus-visible{transform:translateY(-2px)}
.text-link:hover,.project-meta>a:hover,.about-links a:hover{color:#a9baff}
.light-section .text-link:hover,.light-section .about-links a:hover{color:#1742c0}
.contact-rail nav a span{transition:transform .55s var(--motion-ease)}
.contact-rail nav a:hover span{transform:translate(4px,-4px)}

/* Process text remains in front; the map and depth settle with each selected step. */
.process-visual{--turn:-10deg;--tilt-x:0deg;--tilt-y:0deg;transform:translate(-50%,-50%) rotate(var(--turn)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))!important;transform-style:preserve-3d;transition:transform .8s var(--motion-ease)}
.process-card{position:relative;overflow:hidden;transform-style:preserve-3d;transition:background .75s var(--motion-ease),border-color .75s}
.process-card::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 38%,#2457ff20 52%,transparent 66%);transform:translateX(-120%);pointer-events:none}
.process-visual.is-switching .process-card::after{animation:process-sheen .9s var(--motion-ease)}
@keyframes process-sheen{to{transform:translateX(120%)}}
.process-map i{transition:transform .85s var(--motion-ease),background-color .65s,border-color .65s}
.process-visual[data-step="1"] .process-map i:nth-child(2){transform:translate(28px,33px)}
.process-visual[data-step="1"] .process-map i:nth-child(4){transform:translate(-20px,21px)}
.process-visual[data-step="2"] .process-map i:nth-child(1){transform:translate(24px,-27px)}
.process-visual[data-step="2"] .process-map i:nth-child(3){transform:translate(18px,32px)}
.process-visual[data-step="3"] .process-map i:nth-child(2){transform:translate(35px,-22px)}
.process-visual[data-step="3"] .process-map i:nth-child(5){transform:translate(-30px,-23px);background:#a9baff}
.process-visual[data-step="4"] .process-map i:nth-child(1){transform:translate(35px,-35px)}
.process-visual[data-step="4"] .process-map i:nth-child(3){transform:translate(28px,-18px)}
.process-visual[data-step="4"] .process-map i:nth-child(5){transform:translate(-32px,-36px)}
.process-step{transition:color .55s var(--motion-ease),filter .55s var(--motion-ease),transform .65s var(--motion-ease),opacity .55s}
.process-step.is-active{transform:scale(1.03)}
.process-copy .copy-word{display:inline-block;overflow:clip;vertical-align:baseline;padding-bottom:.12em;margin-bottom:-.12em}
.process-copy .copy-word>span{display:inline-block;opacity:0;transform:translateY(.5em);transition:transform .72s var(--motion-ease),opacity .58s}
.process-copy.is-current .copy-word>span{opacity:1;transform:none}

/* Detail pages keep their own structure while large media opens with the same rhythm. */
.project-detail .media-frame.reveal,.project-detail .hero-photo.reveal{position:relative;clip-path:none;overflow:hidden;transition:opacity .85s var(--motion-ease),transform .85s var(--motion-ease)}
html.motion-ready .project-detail .media-frame.reveal::after,html.motion-ready .project-detail .hero-photo.reveal::after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;background:var(--panel,#080808);transform:translateY(0);transition:transform 1.15s var(--motion-ease)}
html.motion-ready .project-detail .media-frame.reveal.in::after,html.motion-ready .project-detail .hero-photo.reveal.in::after{transform:translateY(-101%)}
.project-detail .btn:hover,.project-detail .btn:focus-visible{transform:translateY(-2px)}

@media(max-width:760px){
  .project-card:is(a) .project-media::after{display:none}
  .roll-label{white-space:normal}
  .loader-handoff-frame{box-shadow:0 15px 60px #0009}
}
@media(hover:none){.project-card:is(a) .project-media::after{display:none}}
@media(prefers-reduced-motion:reduce){
  .loader-grid{animation:none}.loader-handoff-frame,.loader-flying-node{display:none}
  html.intro-pending .hero-word>span,html.intro-released .hero-word>span{animation:none;opacity:1;transform:none}
  html.intro-pending .hero .eyebrow,html.intro-pending .hero .hero-bottom{opacity:1!important;transform:none!important}
  .reveal-word>span,.process-copy .copy-word>span{opacity:1;transform:none}
  .restoration-feature .comparison{clip-path:none}
  html.motion-ready .project-detail .media-frame.reveal::after,html.motion-ready .project-detail .hero-photo.reveal::after{display:none}
  .project-card .project-media>img,.project-card .project-media>video{transform:none}
  .project-card .project-meta{opacity:1;transform:none}
  .process-step:not(.is-active){filter:none}
}

/* The dedicated transparent hero asset fills one continuous dark stage. */
.hero-image-stage{position:absolute;inset:0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 69% 36%,#16265a 0%,#101522 27%,#080808 67%)}
.hero-image-stage::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,transparent 49.96%,#ffffff12 50%,transparent 50.04%),linear-gradient(0deg,transparent 62%,#ffffff0d 62.08%,transparent 62.16%);pointer-events:none}
.hero-image-stage img{position:absolute;z-index:1;top:0;right:7%;width:auto;height:110%;max-width:none;object-fit:contain;object-position:top right;filter:contrast(1.05) saturate(.95) drop-shadow(-25px 22px 65px #000a);transform:translate3d(0,var(--hero-shift,0px),0) scale(1.015);transform-origin:bottom center;transition:transform .6s ease-out,opacity .65s var(--motion-ease)}
.hero-image-scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#080808f7 0%,#080808c9 32%,#08080868 52%,#08080808 84%),linear-gradient(0deg,#080808ed 0%,#08080891 13%,transparent 42%);pointer-events:none}
html.intro-pending .hero-image-stage img{opacity:0}
html.intro-released .hero-image-stage img{opacity:1}
.hero-shell{position:relative;z-index:3}
.hero-bottom{grid-template-columns:minmax(260px,500px) auto}
.hero-actions{justify-content:flex-start}
.loader-stack figure:nth-child(4) img{object-fit:contain;background:#080808}
.loader-handoff-frame{background:transparent;border-color:transparent;box-shadow:none;overflow:visible}
.loader-handoff-frame img{object-fit:contain}
.project-meta>span{text-transform:none;letter-spacing:0;font-size:clamp(.82rem,1vw,.95rem);color:#c4c4c4;max-width:58ch}
.project-meta>b,.project-meta>a{text-transform:uppercase;letter-spacing:.1em}
@media(max-width:1100px){.hero-image-stage img{right:-6%;height:105%}.hero-image-scrim{background:linear-gradient(90deg,#080808ed 0%,#080808b3 40%,#08080839 78%),linear-gradient(0deg,#080808ed 0%,#08080880 25%,transparent 54%)}}
@media(max-width:760px){.hero-shell{min-height:max(760px,calc(100svh - var(--header)))}.hero-image-stage img{top:0;right:-68%;height:104%;filter:contrast(1.02) saturate(.9) drop-shadow(-18px 15px 40px #0008)}.hero-image-scrim{background:linear-gradient(90deg,#080808a8,#08080845 52%,#0808086a),linear-gradient(0deg,#080808 0%,#080808c9 22%,#08080850 65%,#08080856)}.hero-bottom{grid-template-columns:1fr}.hero-bottom>p{max-width:100%}.hero-actions{flex-direction:row;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.hero-image-stage img{opacity:1!important;transform:none!important}}

/* Restored personal introduction and in-page booking. */
.operator-film{position:relative;padding:clamp(90px,11vw,180px) 0;border-top:1px solid var(--line-l)}
.operator-film-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:clamp(48px,8vw,140px);align-items:center}
.operator-film-copy{align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(10px,2vw,30px) 0}
.operator-film-copy h2{max-width:12ch;margin-top:clamp(36px,5vw,80px);font:500 clamp(3.1rem,6.2vw,7.1rem)/1.05 var(--display);letter-spacing:-.06em}
.operator-film-copy>p:not(.eyebrow){max-width:430px;margin-top:2rem;color:#575652;font-size:clamp(.96rem,1.2vw,1.12rem);line-height:1.7}
.operator-film-rule{width:100%;display:flex;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:2rem;border-top:1px solid var(--line-l);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}
.operator-film-media{min-width:0}.operator-film-frame{position:relative;overflow:hidden;background:#080808;aspect-ratio:4/4.65}.operator-film-frame video{width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}
.operator-film-play{position:absolute;inset:0;z-index:2;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;background:linear-gradient(0deg,#0009,transparent 40%,#0003);transition:background .5s ease}
.operator-film-play[hidden]{display:none}.operator-film-play span{display:grid;place-items:center;width:76px;height:76px;padding-left:4px;border:1px solid #ffffffaf;border-radius:50%;background:#1119;backdrop-filter:blur(8px);font-size:20px;transition:transform .6s var(--motion-ease),background .5s ease}
.operator-film-play:hover span,.operator-film-play:focus-visible span{transform:scale(1.1);background:#2457ff}.operator-film-play strong{font:500 .7rem/1 var(--sans);letter-spacing:.13em;text-transform:uppercase}.operator-film-play small{position:absolute;bottom:2rem;left:2rem;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}
.operator-film-caption{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;border-top:1px solid var(--line-l);margin-top:1rem}
.booking-embed{grid-column:1/-1;min-width:0;margin-top:2rem;padding:clamp(18px,3vw,36px);background:#f1efe9;color:#080808}.booking-embed-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:1.5rem;border-bottom:1px solid #0003}.booking-embed-head .eyebrow{color:#1742c0}.booking-embed-head h3{margin-top:1rem;font:500 clamp(2rem,4vw,4rem)/1.05 var(--display);letter-spacing:-.05em}.booking-embed-head>a{flex-shrink:0;padding-bottom:.3rem;border-bottom:1px solid #080808;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.booking-embed .calendly-inline-widget{width:100%;min-width:0;height:720px;margin-top:1.5rem;overflow:hidden;background:#fff}.booking-embed .calendly-inline-widget iframe{width:100%!important;min-width:0!important}
@media(max-width:760px){.operator-film-grid{grid-template-columns:1fr;gap:2.5rem}.operator-film-copy h2{margin-top:2rem}.operator-film-rule{margin-top:3rem}.operator-film-frame{aspect-ratio:4/4.7}.booking-embed-head{display:block}.booking-embed-head>a{display:inline-block;margin-top:1.3rem}.booking-embed .calendly-inline-widget{height:800px}}
@media(prefers-reduced-motion:reduce){.operator-film-play span{transition:none}}

/* Final content polish: paired work rows, clear operator photo, and one booking column. */
.capability-rail{justify-content:flex-start;padding:0;overflow:hidden}
.capability-track{display:flex;align-items:center;width:max-content;min-width:max-content;height:100%;will-change:transform}.capability-track.is-ready{animation:capability-travel var(--marquee-duration,18s) linear infinite}
.capability-set{display:flex;align-items:center;gap:clamp(2.5rem,4vw,4.5rem);flex:none;padding-right:clamp(2.5rem,4vw,4.5rem)}
.capability-set span{white-space:nowrap}
@keyframes capability-travel{to{transform:translateX(var(--marquee-distance,-1000px))}}
.about-portrait{background:#e9e8e4}.about-portrait img,.about-portrait:hover img{filter:none}.about-portrait img{object-position:50% 30%}
.project-grid{display:block}.project-card,.project-card--review,.project-card--assistant{width:100%;margin:0;grid-column:auto}
.project-grid>.project-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(36px,6vw,110px);align-items:center;padding:clamp(65px,8vw,125px) 0;border-top:1px solid #ffffff30}
.project-grid>.project-card:first-child{padding-top:0;border-top:0}.project-grid>.project-card:nth-child(even){grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.project-grid>.project-card:nth-child(even) .project-meta{grid-column:1;grid-row:1}.project-grid>.project-card:nth-child(even) .project-media{grid-column:2;grid-row:1}
.project-grid>.project-card .project-media{width:100%;height:clamp(360px,38vw,560px);min-height:0}.project-grid>.project-card--assistant .project-media{height:clamp(380px,40vw,590px)}
.project-grid>.project-card .project-meta{min-width:0;max-width:490px;gap:clamp(14px,2vw,26px);padding:0}.project-grid>.project-card .project-meta h3{font-size:clamp(3rem,5.2vw,6.2rem);line-height:1.04}.project-grid>.project-card .project-meta>span{max-width:39ch;font-size:clamp(.75rem,1vw,.94rem);line-height:1.7;text-transform:none;letter-spacing:0}.project-grid>.project-card .project-meta>a,.project-grid>.project-card .project-meta>b{align-self:start;margin-top:1rem}
.restoration-feature{margin-top:0;padding-top:clamp(65px,8vw,125px)}
.capability-rows{gap:0}.capability-row{min-height:210px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(22px,3vw,48px);align-items:center;padding:clamp(28px,4vw,58px) 0;border-top:1px solid #0003;background:transparent;overflow:visible}.capability-row:hover{background:transparent}.capability-row>span{grid-column:1/-1;grid-row:1}.capability-row h3{grid-column:1;grid-row:2;font-size:clamp(2.2rem,3.4vw,4rem)}.capability-row p{grid-column:2;grid-row:2;max-width:58ch}.capability-row:nth-child(even) h3{grid-column:2}.capability-row:nth-child(even) p{grid-column:1;grid-row:2}.cap-icon{display:none}
.contact-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(22px,3vw,50px)}.contact-main>.audit-form{grid-column:1;align-self:start}.contact-main>.booking-embed{grid-column:2;align-self:start;min-width:0;margin:0;padding:0;background:var(--paper)}.booking-embed-head{display:block;padding:clamp(20px,2.5vw,32px);padding-bottom:1rem;border-bottom:0}.booking-embed-head h3{font-size:clamp(1.8rem,2.5vw,3.2rem)}.booking-embed-head>a{display:inline-block;margin-top:1rem}.booking-embed .calendly-inline-widget{height:780px;margin-top:0}.contact-main>.contact-intro,.contact-main>.contact-legal{grid-column:1/-1}
@media(max-width:1100px){.contact{grid-template-columns:200px 1fr}.contact-main{padding:clamp(24px,3vw,40px);grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:24px}.project-grid>.project-card .project-media{height:clamp(350px,40vw,500px)}.project-grid>.project-card--assistant .project-media{height:clamp(370px,42vw,510px)}}
@media(max-width:900px){.contact{grid-template-columns:1fr}.contact-main{order:1;grid-template-columns:1fr;padding:clamp(24px,5vw,50px)}.contact-rail{order:2}.contact-main>.audit-form,.contact-main>.booking-embed{grid-column:1}.contact-main>.booking-embed{margin-top:0}.booking-embed .calendly-inline-widget{height:800px}}
@media(max-width:760px){.project-grid>.project-card,.project-grid>.project-card:nth-child(even){grid-template-columns:1fr;gap:24px;padding:55px 0}.project-grid>.project-card:nth-child(even) .project-media,.project-grid>.project-card:nth-child(even) .project-meta{grid-column:1;grid-row:auto}.project-grid>.project-card:nth-child(even) .project-media{order:0}.project-grid>.project-card:nth-child(even) .project-meta{order:1}.project-grid>.project-card .project-media,.project-grid>.project-card--assistant .project-media{height:min(106vw,460px)}.project-grid>.project-card .project-meta h3{font-size:clamp(2.7rem,13vw,4.5rem)}.restoration-feature{padding-top:55px}.capability-row{grid-template-columns:1fr;gap:16px;min-height:0}.capability-row>span,.capability-row h3,.capability-row p,.capability-row:nth-child(even) h3,.capability-row:nth-child(even) p{grid-column:1;grid-row:auto}.capability-row h3,.capability-row:nth-child(even) h3{order:1}.capability-row p,.capability-row:nth-child(even) p{order:2}.about-portrait img{object-position:50% 26%}}
@media(prefers-reduced-motion:reduce){.capability-rail{height:auto;min-height:42px;padding:.6rem var(--gutter);overflow:visible}.capability-track{animation:none!important;transform:none;width:100%;min-width:0;will-change:auto}.capability-set{width:100%;flex-wrap:wrap;gap:.7rem 1.2rem;padding:0}.capability-set[aria-hidden="true"]{display:none}}
