/* Real portfolio photography; restrained motion for service navigation. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.service-ribbon{position:relative;display:flex;align-items:center;padding:0;min-height:76px}
.service-ribbon>.ribbon-window{display:block;overflow:hidden;flex:1;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 94%,transparent);font:inherit}
.service-ribbon .ribbon-track{display:flex;width:max-content;gap:0;animation:service-ticker 36s linear infinite;animation-play-state:paused;will-change:transform}
.ribbon-group{display:flex;align-items:center;gap:46px;padding-right:46px;flex:none;white-space:nowrap}
.service-ribbon .ribbon-group>span{font:800 29px/1 var(--display);letter-spacing:.025em}
.ribbon-group>i{width:5px;height:5px;display:block;background:#1c2213;transform:rotate(45deg);flex:none}
.service-ribbon>.motion-toggle{position:relative;display:block;flex:none;padding:10px 0;margin:0 28px 0 24px;border-bottom:1px solid #3b461f;background:none;color:#202716;font-size:10px;font-weight:600;line-height:1.2;letter-spacing:.025em;white-space:nowrap}
.service-ribbon.motion-visible .ribbon-track{animation-play-state:running}
.ribbon-window:hover .ribbon-track{animation-play-state:paused}
.motion-toggle:focus-visible{outline-color:#1b2110;outline-offset:5px}
.service-motion-paused .ribbon-track{animation-play-state:paused!important}
.services{padding-top:74px;padding-bottom:90px}
.services .services-top{margin-bottom:26px;align-items:center}
.services-top h2.eyebrow{font:600 11px/1.5 var(--body);letter-spacing:.15em;color:var(--yellow)}
.services-top .section-aside{font-size:9px}
.service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;border:0}
.service-card{min-width:0;background:none;color:var(--text);padding:0;border:0;display:flex;flex-direction:column;text-align:left}
.service-photo{display:block;position:relative;width:100%;aspect-ratio:1.16;overflow:hidden;background:#20251e}
.service-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);transform:scale(1);transform-origin:center}
.service-wrap .service-photo img{object-position:36% 72%}
.service-ppf .service-photo img{object-position:56% 57%}
.service-tint .service-photo img{inset:auto;width:185%;height:185%;max-width:none;left:-63%;top:-12%;object-position:58% 0}
.service-card:hover .service-photo img,.service-card:focus-visible .service-photo img{transform:scale(1.035)}
.service-card-content{display:flex;flex-direction:column;flex:1;padding:25px 0 20px;border-bottom:1px solid var(--line)}
.service-card-title{font:800 clamp(35px,3.4vw,49px)/.93 var(--display);letter-spacing:-.015em}
.service-card-copy{display:block;color:#b8bfac;font-size:14px;line-height:1.65;margin-top:19px;min-height:47px;max-width:330px}
.service-card-detail{display:block;font-size:8px;line-height:1.7;letter-spacing:.08em;color:#838e75;margin-top:19px}
.service-card-cta{align-self:flex-start;display:block;padding-block:4px;border-bottom:1px solid #84914b;font-size:12px;line-height:1.5;font-weight:600;color:var(--yellow);margin-top:24px;transition:border-color .25s}
.service-card:hover .service-card-cta{border-color:var(--yellow)}
.service-motion-paused .service-photo img{transition:none;transform:none!important}
.button,.header-quote{justify-content:center}
.button{min-width:210px}
.header-quote{min-width:155px}
.hero-actions .text-link,.work .section-top .text-link,.experience-copy .text-link,.footer-top .text-link{padding-block:5px;border-bottom:1px solid #939e6f77;transition:border-color .25s}
.hero-actions .text-link:hover,.work .section-top .text-link:hover,.experience-copy .text-link:hover,.footer-top .text-link:hover{border-color:var(--yellow)}
.hero-index{letter-spacing:.2em}
.finish-quote{border-bottom:1px solid #87954a;padding-bottom:8px;justify-content:flex-start}
.finish-option{padding-right:0}
.image-expand{width:52px;height:34px;font:600 10px var(--body);letter-spacing:.04em}
.project-open{width:51px;height:32px;font:600 10px var(--body);letter-spacing:.04em}
.service-choices label>span{padding-right:17px}
.service-choices input:checked+span:after{content:'';position:absolute;right:15px;top:21px;width:5px;height:5px;border-radius:50%;background:var(--yellow)}
.locations-line i{font-size:20px;opacity:.6}
@keyframes service-ticker{to{transform:translateX(-50%)}}
@media(max-width:1150px){.service-list{gap:22px}.service-card-copy{font-size:13px}.ribbon-group{gap:36px;padding-right:36px}.service-ribbon .ribbon-group>span{font-size:26px}}
@media(max-width:850px){.service-list{gap:19px}.service-card-title{font-size:35px}.service-card-copy{font-size:12px;min-height:60px}.service-card-detail{font-size:7px;letter-spacing:.035em;min-height:26px}.service-card-cta{font-size:11px;margin-top:20px}.service-photo{aspect-ratio:.87}.service-ribbon{min-height:65px}.service-ribbon>.motion-toggle{font-size:9px;margin-inline:19px 22px}.ribbon-group{gap:30px;padding-right:30px}.service-ribbon .ribbon-group>span{font-size:25px}}
@media(max-width:600px){.services{padding-top:42px;padding-bottom:60px}.services .services-top{margin-bottom:22px}.services-top h2.eyebrow{font-size:9px}.service-list{grid-template-columns:1fr;gap:36px}.service-photo{aspect-ratio:1.24}.service-card-content{padding:23px 0 22px}.service-card-title{font-size:39px;line-height:.98}.service-card-title br{display:none}.service-card-copy{font-size:14px;min-height:0;margin-top:13px;max-width:100%}.service-card-detail{font-size:8px;letter-spacing:.06em;min-height:0;margin-top:16px}.service-card-cta{font-size:12px;margin-top:20px}.service-ribbon{min-height:61px}.service-ribbon>.motion-toggle{font-size:8px;margin-inline:14px 17px;padding-block:8px}.service-ribbon .ribbon-group>span{font-size:22px}.ribbon-group{gap:24px;padding-right:24px}.ribbon-group>i{width:4px;height:4px}.header-quote{min-width:120px}.button{min-width:210px}.hero-actions .text-link{padding-bottom:6px}.image-expand{width:48px;height:32px}.project-open{width:43px;height:28px}.locations-line i{font-size:15px}}
@media(max-width:350px){.header-quote{min-width:106px}.service-card-title{font-size:34px}.service-card-detail{font-size:7px;letter-spacing:.035em}.motion-toggle{letter-spacing:0!important}}
@media(prefers-reduced-motion:reduce){.service-ribbon{padding:18px 20px;min-height:0}.service-ribbon>.ribbon-window{mask-image:none;overflow:visible}.service-ribbon .ribbon-track{width:100%;transform:none;will-change:auto}.ribbon-group{width:100%;display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;padding:0;white-space:normal}.ribbon-group:nth-child(2){display:none}.ribbon-group>i{display:none}.service-ribbon .ribbon-group>span{font-size:19px}.service-ribbon>.motion-toggle{display:none}.service-photo img{transition:none;transform:none!important}.service-card-copy{min-height:0}}

/* Keep the hierarchy focused on readable headings, content, and controls. */
.intro:focus{outline:none}
.hero h1{margin-top:0}
.hero-bottom{justify-content:flex-end;border-top:0;padding-top:0}
.video-toggle{font-size:14px}
.service-ribbon>.motion-toggle{font-size:13px}
.services .section-top{display:none}
.service-card-cta{margin-top:23px;font-size:14px}
.work .section-top{justify-content:flex-end;margin-bottom:26px}
.work .section-top .text-link{font-size:14px}
.finish-panel h3{margin-top:0}
.finish-option small{font-size:13px;line-height:1.4}
.finish-note{font-size:13px}
.finish-quote{font-size:14px}
.project-caption>span{font-size:14px}
.image-expand,.project-open{font-size:13px}
.experience-copy cite{font-size:13px;line-height:1.6}
.process-steps article{display:block}
.process-steps h3{margin-top:0}
.process-steps p{grid-column:auto}
.locations-line>span{font-size:14px;letter-spacing:0}
.quote-intro h2{margin-top:0}
.hours{font-size:13px;letter-spacing:0;line-height:1.6}
.quote-box-top{justify-content:flex-end;font-size:14px;letter-spacing:0}
.field-grid label{font-size:14px}
.service-choices small{font-size:13px}
.quote-disclosure{font-size:13px;line-height:1.6}
.faq h2{margin-top:0}
.footer-links,.replay-intro{font-size:14px}
.footer-bottom{font-size:13px;letter-spacing:0}
@media(max-width:850px){.finish-panel h3{grid-row:1;align-self:center}.finish-note{grid-row:2}.finish-quote{grid-row:3}.finish-options{grid-row:1/4}.process-steps h3{margin-top:0}}
@media(max-width:600px){.hero h1{margin-top:0}.video-toggle{font-size:12px}.service-ribbon>.motion-toggle{font-size:12px;margin-inline:12px 15px}.work .section-top .text-link{font-size:14px}.service-card-cta,.finish-quote{font-size:14px}.finish-option small,.project-caption>span,.experience-copy cite{font-size:13px}.process-steps article{display:block}.process-steps h3{margin-top:0}.quote-intro h2,.faq h2{margin-top:0}.hours,.quote-disclosure{font-size:13px}.footer-links,.replay-intro{font-size:13px}.footer-bottom{font-size:12px}.locations-line>span{font-size:14px}}

.footer-bottom>span:first-child{max-width:none;flex:1 1 250px}.image-expand{top:22px}
