/* REVISION 07 — richer visual language, scroll choreography and image-led services */
:root{--r7-ink:#222925;--r7-paper:#e9e5dc;--r7-coral:#d77b5c;--r7-lilac:#b8a9c9;--r7-lime:#c5cd83;--r7-blue:#718b9a;--r7-wine:#754453}
html{scroll-behavior:smooth}body{overflow-x:hidden}::selection{background:var(--r7-coral);color:#211f1b}
/* Shared tactile motion */
.reveal,.motion-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.on,.motion-reveal.is-visible{opacity:1;transform:translateY(0)}
img{transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .7s ease}a:focus-visible,button:focus-visible{outline:2px solid var(--r7-coral);outline-offset:5px}
.project-image,.ribbon-photo,.approach-image,.hero-photo,.project-card,.dish,.service-item,.industry-item{overflow:hidden}.project-image:hover img,.ribbon-photo:hover img,.approach-image:hover img,.hero-photo:hover img,.project-card:hover img{transform:scale(1.055)}
.project,.project-card,.dish,.service-item,.industry-item{transform-style:preserve-3d;will-change:transform;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.service-tile{position:relative;overflow:hidden;isolation:isolate;transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .4s}.service-tile:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,#ffffff30,transparent 55%);opacity:0;transition:opacity .4s}.service-tile:hover{transform:translateY(-9px) rotate(-.5deg)}.service-tile:hover:after{opacity:1}.service-tile i{transition:transform .35s}.service-tile:hover i{transform:translate(7px,-7px)}
.mega-item img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .6s}.mega-item:hover img{transform:scale(1.1) rotate(1deg)}
/* SERVICES PAGE — bespoke art direction */
.services-page{background:var(--r7-paper);color:var(--r7-ink)}.services-hero{min-height:740px;padding:70px 7vw 48px;display:grid;grid-template-columns:.9fr 1.1fr;gap:4vw;position:relative;overflow:hidden;background:#d4d0c6}.services-hero:before{content:"";position:absolute;width:48vw;height:48vw;border-radius:50%;background:#c0c6b2;right:-15vw;top:-24vw;opacity:.55}.services-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start}.services-hero-copy .eyebrow,.services-intro>.eyebrow,.services-offer .eyebrow,.services-feature .eyebrow,.services-bottom .eyebrow{font:10px var(--mono);letter-spacing:.13em}.services-hero h1{font:800 clamp(76px,10vw,148px)/.78 var(--sans);letter-spacing:-.105em;margin:55px 0 34px;max-width:700px}.services-hero h1 em{font:italic 500 .9em/.9 var(--serif);color:var(--r7-wine);letter-spacing:-.08em}.services-hero-copy>p{max-width:390px;font-size:15px;line-height:1.75;color:#535950}.services-hero-cta{margin-top:30px;padding:17px 22px;background:var(--r7-ink);color:#f4eee4;font:10px var(--mono);letter-spacing:.1em;transition:background .3s,transform .3s;box-shadow:7px 7px 0 var(--r7-coral)}.services-hero-cta:hover{background:var(--r7-wine);transform:translate(3px,3px);box-shadow:3px 3px 0 var(--r7-coral)}.services-hero-meta{display:flex;gap:28px;margin-top:auto;padding-top:55px;font:9px var(--mono);letter-spacing:.08em;color:#6d7169}
.services-hero-visual{position:relative;min-height:610px;align-self:center}.services-hero-photo{position:absolute;inset:20px 7% 30px 5%;overflow:hidden;border:10px solid #eee9df;box-shadow:22px 24px 0 var(--r7-wine);transform:rotate(2deg)}.services-hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.08);animation:services-photo-in 1.2s both}.services-float-photo{position:absolute;z-index:2;width:38%;height:32%;right:-1%;bottom:3%;border:8px solid #d4d0c6;box-shadow:12px 12px 0 var(--r7-lime);transform:rotate(-7deg);overflow:hidden}.services-float-photo img{width:100%;height:100%;object-fit:cover}.services-stamp{position:absolute;z-index:3;left:-3%;top:10%;padding:19px 24px;background:var(--r7-coral);font:900 20px/.95 var(--sans);letter-spacing:-.06em;transform:rotate(-6deg);box-shadow:8px 8px 0 var(--r7-ink)}.services-stamp em{font:italic 500 1.1em var(--serif);color:#fff2e2}.services-visual-caption{position:absolute;right:5%;top:0;font:9px var(--mono);letter-spacing:.1em;writing-mode:vertical-rl}.services-marquee{overflow:hidden;background:var(--r7-wine);color:#f4e9dc;padding:18px 0;white-space:nowrap}.services-marquee div{width:max-content;font:11px var(--mono);letter-spacing:.12em;animation:r7-marquee 28s linear infinite}.services-marquee i{font-style:normal;color:var(--r7-lime);padding:0 26px}
.services-intro{padding:120px 9vw 100px;background:#e9e5dc;position:relative}.services-intro-main{display:grid;grid-template-columns:1fr .65fr;gap:8vw;align-items:end;margin:35px 0 65px}.services-intro h2,.services-offer h2,.services-feature h2{font:800 clamp(56px,7vw,100px)/.86 var(--sans);letter-spacing:-.09em;margin:0}.services-intro h2 em,.services-offer h2 em,.services-feature h2 em{font:italic 500 .9em var(--serif);color:var(--r7-wine);letter-spacing:-.07em}.services-intro-main p{font-size:16px;line-height:1.8;max-width:430px;color:#5c625b}.services-intro-image{height:390px;position:relative;overflow:hidden;margin-left:16%;box-shadow:18px 18px 0 var(--r7-lilac)}.services-intro-image img{width:100%;height:100%;object-fit:cover}.services-intro-image span,.services-feature-image span{position:absolute;bottom:0;left:0;background:var(--r7-lime);padding:13px 18px;font:9px var(--mono);letter-spacing:.12em}
.services-offer{padding:115px 7vw 130px;background:#252d29;color:#f2ede4;position:relative}.services-offer-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.services-offer h2 em{color:#dca17e}.services-offer-head>p{max-width:300px;line-height:1.7;color:#c1c5bb}.services-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.services-image-grid .service-item{min-height:430px!important}.services-image-grid .service-item:nth-child(2){transform:translateY(48px)}.services-image-grid .service-item:nth-child(3){min-height:350px!important}.services-image-grid .service-item:nth-child(4){min-height:350px!important;transform:translateY(-48px)}.services-image-grid .service-item:after{background:linear-gradient(180deg,#151a1710 0%,#151a1750 48%,#151a17ed 100%)}.services-image-grid .service-item h3{font-size:clamp(36px,4vw,58px)!important}.services-image-grid .service-item .tile-body{left:32px;bottom:30px}.services-image-grid .service-item:hover{box-shadow:0 25px 65px #0005;transform:translateY(-8px)}
.services-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;padding:130px 8vw;background:#c7d0c7;align-items:center}.services-feature-image{height:570px;position:relative;overflow:hidden;box-shadow:18px 18px 0 var(--r7-blue)}.services-feature-image img{width:100%;height:100%;object-fit:cover}.services-feature-copy h2{margin:30px 0 45px}.feature-points{border-top:1px solid #7d887e}.feature-points>div{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:19px 0;border-bottom:1px solid #7d887e}.feature-points>div>b{font:10px var(--mono);color:var(--r7-wine)}.feature-points strong{display:block;font-size:16px}.feature-points small{display:block;margin-top:6px;max-width:340px;line-height:1.6;color:#58635a}.services-feature .underlink{display:inline-block;margin-top:28px}
.services-bottom{position:relative;overflow:hidden;padding:110px 8vw 130px;background:#d78b6b;color:#282d28;min-height:650px}.services-bottom h2{font:800 clamp(66px,9vw,126px)/.78 var(--sans);letter-spacing:-.1em;margin:45px 0 25px;position:relative;z-index:2}.services-bottom h2 em{font:italic 500 .95em var(--serif);color:#f5e8d8}.services-bottom>p{max-width:390px;line-height:1.75;position:relative;z-index:2}.services-bottom-link{display:inline-flex;gap:28px;align-items:center;margin-top:22px;padding:18px 22px;background:var(--r7-ink);color:white;font:10px var(--mono);letter-spacing:.08em;position:relative;z-index:3}.services-bottom-link span{font-size:20px;transition:transform .3s}.services-bottom-link:hover span{transform:translate(5px,-5px)}.services-bottom-image{position:absolute;width:43%;height:75%;right:7%;top:13%;transform:rotate(3deg);border:10px solid #f0e6d8;box-shadow:15px 15px 0 var(--r7-wine);overflow:hidden}.services-bottom-image img{width:100%;height:100%;object-fit:cover}
@keyframes r7-marquee{to{transform:translateX(-50%)}}@keyframes services-photo-in{from{transform:scale(1.16);opacity:.65}to{transform:scale(1);opacity:1}}
@media(max-width:800px){.services-hero{grid-template-columns:1fr;padding:55px 7vw 40px;min-height:0}.services-hero h1{font-size:clamp(70px,17vw,112px);margin:40px 0 28px}.services-hero-meta{margin-top:45px;flex-wrap:wrap}.services-hero-visual{min-height:430px;margin-top:25px}.services-hero-photo{inset:12px 8% 25px 5%}.services-stamp{left:-1%;top:5%;font-size:15px}.services-intro,.services-offer,.services-feature,.services-bottom{padding:80px 7vw}.services-intro-main{grid-template-columns:1fr;gap:25px}.services-intro-image{margin:0;height:280px}.services-offer-head{display:block}.services-offer-head>p{margin-top:25px}.services-image-grid{grid-template-columns:1fr}.services-image-grid .service-item,.services-image-grid .service-item:nth-child(n){min-height:340px!important;transform:none}.services-feature{grid-template-columns:1fr;gap:50px}.services-feature-image{height:360px}.services-bottom{min-height:0;padding-bottom:390px}.services-bottom-image{width:80%;height:300px;right:8%;top:auto;bottom:45px}}
@media(prefers-reduced-motion:reduce){.services-marquee div{animation:none}.reveal,.motion-reveal{opacity:1;transform:none;transition:none}.services-hero-photo img{animation:none}}
