/* A continuous garden story. All content is usable before enhancement. */
:root{--chapter-ease:cubic-bezier(.16,1,.3,1)}
.brand img,.brand:hover img{animation:none!important;transform:none!important}
.chapter-line{display:block;overflow:clip;padding-bottom:.09em;margin-bottom:-.09em}.chapter-line>span{display:block;transform-origin:0 100%}
.cinematic-motion .premium-hero h1,.cinematic-motion .premium-hero .hero-description,.cinematic-motion .premium-hero .actions{animation:none}
.cinematic-motion [data-chapter]{transition:opacity 1.1s var(--chapter-ease),transform 1.5s var(--chapter-ease),clip-path 1.7s var(--chapter-ease);transition-delay:var(--chapter-delay,0ms)}
.cinematic-motion [data-chapter="copy"]:not(.chapter-arrived){opacity:.12;transform:translateY(42px)}
.cinematic-motion [data-chapter="surface"]:not(.chapter-arrived){opacity:.18;transform:translateY(65px) rotate(1.5deg)}
.cinematic-motion [data-chapter="photo"]:not(.chapter-arrived){clip-path:inset(14% 0 0 9% round 70px 8px 45px 8px);transform:translateY(44px)}
.cinematic-motion [data-chapter="headline"] .chapter-line>span{transition:transform 1.5s var(--chapter-ease),opacity 1.1s;transition-delay:calc(var(--line)*160ms)}
.cinematic-motion [data-chapter="headline"]:not(.chapter-arrived) .chapter-line>span{transform:translateY(110%) rotate(3deg);opacity:.2}
.premium-hero{--hero-travel:0px;--note-travel:0px;--inset-travel:0px;border-bottom-left-radius:var(--hero-curve,60px);border-bottom-right-radius:var(--hero-curve,60px)}
.cinematic-motion .premium-hero .hero-proof>img{animation:none!important;clip-path:none;transform:translateY(var(--hero-travel)) scale(1.14);height:110%;top:-5%;will-change:transform}
.cinematic-motion .hero-note{animation:none!important;translate:0 var(--note-travel);transition:transform 1.6s var(--chapter-ease),opacity 1.2s;right:45px;bottom:180px}
.cinematic-motion .hero-note:not(.chapter-arrived){opacity:0;transform:translate(55px,45px) rotate(5deg)}
.garden-inset{position:absolute;right:220px;bottom:40px;z-index:3;width:186px;aspect-ratio:1.3;transform:translateY(var(--inset-travel)) rotate(-7deg);border:6px solid var(--paper);border-radius:22px 6px 22px 6px;background:var(--paper);box-shadow:0 24px 60px #031c1c50;overflow:hidden;text-decoration:none;transition:opacity 1.5s,scale 1.8s var(--chapter-ease)}
.garden-inset img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.garden-inset span{position:absolute;inset:auto 0 0;padding:15px 8px 7px;background:linear-gradient(transparent,#09291fe8);color:white;font-size:10px;line-height:1.3}.garden-inset:hover{scale:1.04}
.cinematic-motion .garden-inset:not(.chapter-arrived){opacity:0;scale:.8}
.depth-photo .photo-link{overflow:hidden}.cinematic-motion .depth-photo img{transform:translateY(var(--photo-drift,0px)) scale(1.095);transition:transform .2s linear;will-change:transform}
.work-band,.patch,.cta{border-top-left-radius:var(--living-curve,var(--curve));border-top-right-radius:var(--living-curve,var(--curve))}
.cinematic-motion .garden-triptych>a{translate:0 calc((1 - var(--spread,1))*55px);rotate:calc((1 - var(--spread,1))*-3deg);transform-origin:50% 100%;transition:translate .15s linear,rotate .15s linear}
.cinematic-motion .garden-triptych>a:nth-child(2){translate:0 calc((1 - var(--spread,1))*95px);rotate:calc((1 - var(--spread,1))*4deg)}
.cinematic-motion .garden-triptych>a:nth-child(3){translate:0 calc((1 - var(--spread,1))*35px);rotate:calc((1 - var(--spread,1))*6deg)}
.reading-word{transition:opacity .18s linear}.care-journey{position:relative;isolation:isolate}.care-journey.is-pinned{margin-top:15px}.care-journey.is-pinned .care-stage{position:sticky;top:24px;height:min(740px,calc(100svh - 76px));min-height:0;display:flex;flex-direction:column}.scroll-scene .care-rail{flex:1;min-height:0;padding-block:20px 22px;scroll-snap-type:none;align-items:stretch;scroll-behavior:auto}.scroll-scene .stage-top{padding-block:22px 12px}.scroll-scene .stage-bottom{padding-block:3px 20px}.scroll-scene .glass-card{flex-basis:340px;padding:23px;max-width:none}.scroll-scene .glass-card>img,.scroll-scene .care-comparison{height:clamp(110px,19svh,185px);flex-shrink:0}.scroll-scene .glass-card h3{font-size:28px;min-height:58px}.scroll-scene .glass-card p{font-size:16px}.scroll-scene .care-backdrop{height:calc(100% + 100px);top:-50px;transform:translateY(var(--scene-pan,0px)) scale(1.06);transition:none;will-change:transform}.cinematic-motion .glass-card{transform:perspective(1000px) translateY(var(--card-lift,0px)) rotateY(var(--card-turn,0deg));transition:background .65s,box-shadow .65s,transform .4s var(--chapter-ease)}.glass-card.is-active{box-shadow:inset 0 1px 0 #fff,0 26px 60px #09291f55}.care-skip{color:var(--paper);text-decoration:underline;text-underline-offset:5px;min-height:30px}.care-skip+span{display:none}.care-scroll-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff33}.care-scroll-progress:after{content:"";display:block;height:100%;width:100%;background:var(--lime);transform:scaleX(var(--travel,0));transform-origin:0 50%}.care-pager{margin-block:0}.scroll-scene .care-controls .care-playback{display:none}
.cinematic-motion .cta .button{transition:transform .5s var(--chapter-ease),box-shadow .5s}.cinematic-motion .cta .button:hover{transform:translateY(-5px);box-shadow:0 16px 35px #09291f33}
.quote-stages li{transition:color .5s,translate .5s var(--chapter-ease)}.quote-stages li[aria-current]{translate:0 -3px}.guided-enquiry .service-choices label{transition:transform .45s var(--chapter-ease),background .45s,box-shadow .45s}.guided-enquiry .service-choices label:has(input:checked){transform:translateY(-4px);box-shadow:0 8px 20px #113c2e18,inset 0 0 0 1px var(--forest)}
@media(min-width:1000px){.work-feature-copy{position:sticky;top:100px;align-self:start}.work-feature{align-items:start}.work-feature-photo{margin-top:35px}.garden-triptych{gap:35px}}
@media(max-width:750px){.garden-inset{right:auto;left:24px;bottom:34px;width:126px;border-width:4px;border-radius:16px 4px 16px 4px}.garden-inset span{font-size:8px}.cinematic-motion .hero-note{right:20px;bottom:90px;width:205px;padding:20px}.cinematic-motion .premium-hero .hero-proof>img{transform:translateY(calc(var(--hero-travel)*.4)) scale(1.1)}.care-journey.is-pinned .care-stage{height:calc(100svh - 108px);max-height:740px;top:14px;border-radius:32px 7px 32px 7px}.scroll-scene .stage-top{padding:18px 18px 10px}.scroll-scene .stage-top>span{font-size:12px;max-width:16ch}.scroll-scene .care-rail{padding:15px 18px 22px;gap:16px}.scroll-scene .glass-card{flex-basis:calc(100% - 35px);padding:19px}.scroll-scene .glass-card>img,.scroll-scene .care-comparison{height:clamp(110px,18svh,170px);margin-bottom:14px}.scroll-scene .glass-card h3{font-size:26px;min-height:54px}.scroll-scene .glass-card .eyebrow{margin-bottom:8px}.scroll-scene .glass-card p{font-size:15px;line-height:1.45;margin-top:10px}.scroll-scene .glass-card .card-tagline{font-size:17px}.scroll-scene .glass-card>p:last-of-type{margin-bottom:13px}.scroll-scene .glass-card .glass-link{padding-top:12px}.scroll-scene .stage-bottom{padding:0 18px 16px;align-items:center;font-size:11px}.care-skip{display:flex;align-items:center}.scroll-scene .care-pager{margin-bottom:0}.work-feature-photo{max-width:none}.cinematic-motion .garden-triptych>a{rotate:0deg;translate:0 calc((1 - var(--spread,1))*20px)}.cinematic-motion .garden-triptych>a:nth-child(2),.cinematic-motion .garden-triptych>a:nth-child(3){rotate:0deg;translate:0 calc((1 - var(--spread,1))*20px)}
.cinematic-motion [data-chapter="surface"]:not(.chapter-arrived){transform:translateY(38px) rotate(.5deg)}.cinematic-motion [data-chapter="copy"]:not(.chapter-arrived){transform:translateY(30px)}}
@media(prefers-reduced-motion:reduce){.chapter-line>span,[data-chapter],.garden-inset,.depth-photo img,.hero-note,.premium-hero .hero-proof>img,.glass-card,.garden-triptych>a{transform:none!important;translate:none!important;rotate:none!important;scale:none!important;opacity:1!important;clip-path:none!important;animation:none!important;transition:none!important}.reading-word{opacity:1!important}.care-journey{height:auto!important}.care-journey .care-stage{position:relative!important;height:auto!important}.care-scroll-progress{display:none}.premium-hero{border-radius:0 0 36px 36px}.care-backdrop{transform:none!important}}
@media print{[data-chapter],.chapter-line>span,.reading-word{opacity:1!important;transform:none!important;clip-path:none!important}.care-journey{height:auto!important}.care-journey.is-pinned .care-stage{height:auto;position:static;display:block}.care-skip,.care-scroll-progress,.garden-inset{display:none}.scroll-scene .care-rail{display:block;overflow:visible}.glass-card{transform:none!important;break-inside:avoid}}
.premium-hero .hero-proof{overflow:hidden}.intro-band p .reading-word{font-family:inherit;font-style:inherit}

/* Floating photography refinement: one entrance, then a stable composition. */
.garden-inset{width:208px;right:350px;bottom:96px;transform:rotate(-6deg);box-shadow:0 6px 12px #031c1c24,0 22px 42px -8px #031c1c55;border-color:#fff;transition:transform 850ms cubic-bezier(.22,1,.36,1),opacity 750ms ease;scale:1}
.garden-inset img{object-position:center 54%}.garden-inset span{font-size:11px;padding:23px 9px 9px;line-height:1.35;text-shadow:0 1px 3px #0006}
.garden-inset:hover{scale:1;transform:rotate(-5deg) translateY(-3px)}
.cinematic-motion .hero-note{translate:none;transform:none;transition:transform 800ms var(--chapter-ease),opacity 700ms ease;right:45px;bottom:180px}
.cinematic-motion [data-garden-layer]{transition-delay:var(--layer-delay,0ms)}
.cinematic-motion [data-garden-layer="base"]{transition:opacity 750ms ease;transition-delay:0ms}
.cinematic-motion [data-garden-layer="base"]:not(.layer-arrived){opacity:.65}
.cinematic-motion [data-garden-layer="note"]:not(.layer-arrived){opacity:.25;transform:translateY(18px)}
.cinematic-motion [data-garden-layer="inset"]:not(.layer-arrived){opacity:.08;transform:translateY(25px) rotate(-11deg);scale:1}
.cinematic-motion [data-garden-layer="caption"]{transition:opacity 650ms ease,transform 750ms var(--chapter-ease)}
.cinematic-motion [data-garden-layer="caption"]:not(.layer-arrived){opacity:.4;transform:translateY(10px)}
[data-garden-layer]:focus-within{opacity:1!important;transition-delay:0ms!important}
.editorial-photo{rotate:1.5deg;border:7px solid #fff;border-radius:30px 8px 30px 8px;box-shadow:0 9px 18px #09291f12,0 25px 46px -20px #09291f44;transform-origin:50% 75%}
@media(min-width:751px) and (max-width:1100px){.garden-inset{right:285px;width:174px;bottom:100px}.cinematic-motion .hero-note{right:30px;width:225px}}
@media(max-width:750px){
 .premium-hero .hero-proof{min-height:456px;aspect-ratio:1.1}
 .garden-inset{width:142px;left:24px;right:auto;bottom:96px;border-width:4px;transform:rotate(-6deg);box-shadow:0 5px 10px #031c1c26,0 18px 32px -6px #031c1c60}
 .garden-inset span{font-size:10px;padding:22px 7px 7px}
 .cinematic-motion .hero-note,.hero-note{top:40px;bottom:auto;right:20px;width:clamp(170px,52.5vw,225px);padding:20px}
 .editorial-photo{rotate:1deg;border-width:5px;margin-inline:5px}
}
@media(prefers-reduced-motion:reduce){[data-garden-layer]{opacity:1!important;transform:none!important;transition:none!important}.garden-inset{transform:rotate(-6deg)!important}.editorial-photo{rotate:0deg}}
@media(max-width:360px){.premium-hero .hero-proof{width:calc(100% + 32px);margin-inline:-16px}.cinematic-motion .hero-note,.hero-note{padding:16px;top:34px;width:174px;right:16px}.hero-note strong{font-size:25px}.hero-note>span:last-child{margin-top:12px}}

/* Stable native service carousel: no scale, tilt, vertical lift or scroll pinning. */
.steady-carousel .care-rail{scroll-behavior:auto;scroll-snap-type:x mandatory;overflow-anchor:none;padding-top:28px;padding-bottom:28px;touch-action:pan-x pan-y}
.steady-carousel .care-rail:after{display:none}
.steady-carousel .glass-card,.cinematic-motion .steady-carousel .glass-card,.steady-carousel .glass-card.is-active{transform:none!important;translate:none!important;rotate:none!important;scale:none!important;transition:none!important;background:#f7f6efed;box-shadow:0 10px 25px #09291f26;backdrop-filter:none;-webkit-backdrop-filter:none}
.steady-carousel .glass-card img,.steady-carousel .care-backdrop{transform:none!important;transition:none!important;animation:none!important}
.steady-carousel .care-backdrop{height:100%;top:0}
.steady-carousel .loop-reset{scroll-snap-type:none!important;scroll-behavior:auto!important}
@media print{[data-loop-copy]{display:none!important}}

.garden-inset .icon-arrow{width:12px;height:12px;vertical-align:middle;display:inline-block}.project-photo-link{font-size:inherit;display:inline-flex}.care-controls .icon-arrow{width:23px;height:23px;vertical-align:middle}

/* One photographic behaviour on every page: stationary pixels and frames.
   Interactive navigation scrolls the rail; it never scales or distorts cards. */
img{transform:none!important;translate:none!important;rotate:none!important;scale:none!important;animation:none!important;transition:none!important;will-change:auto!important;clip-path:none!important;opacity:1!important}
:is(.gallery-item,.project-preview,.service-card,.service-preview,.service-row,.work-triptych>a,.pair-images figure,.pair-images .photo-link,.service-hero>figure,.work-feature-photo,.hero-proof,.hero-note,.jack-supporting figure,.coverage-project figure),
.cinematic-motion [data-chapter]:has(img),.cinematic-motion [data-chapter="photo"]{transform:none!important;translate:none!important;rotate:none!important;scale:none!important;animation:none!important;transition:none!important;will-change:auto!important;clip-path:none!important;opacity:1!important}
.garden-inset,.garden-inset:hover,.cinematic-motion .garden-inset:not(.chapter-arrived){transform:rotate(-6deg)!important;translate:none!important;rotate:none!important;scale:none!important;opacity:1!important;animation:none!important;transition:none!important;will-change:auto!important}
.cinematic-motion .premium-hero .hero-proof>img{height:100%;top:0}
.premium-hero{border-bottom-left-radius:60px;border-bottom-right-radius:60px}
.work-band,.patch,.cta{border-top-left-radius:var(--curve);border-top-right-radius:var(--curve)}
.lightbox[open]{animation:none!important;transform:none!important}

.more-work{width:min(1200px,calc(100% - 112px));margin:35px auto 70px;border-block:1px solid var(--line);padding:20px 0}.more-work summary{cursor:pointer;font-size:20px;font-weight:600;padding:12px 0}.more-work[open] .gallery{margin-top:28px}.service-job-comparison .pair-images img{width:100%;height:auto;max-height:560px;object-fit:contain}.service-job-comparison .pair-heading{margin-top:15px}@media(max-width:700px){.more-work{width:calc(100% - 40px)}.more-work .gallery{max-width:100%}}

/* A clear job destination for every genuine work example. */
figcaption .job-link{display:block;width:fit-content;margin-top:.55rem}figcaption .job-link .icon-arrow{width:20px;height:20px;margin-left:.35rem;vertical-align:-3px}.glass-card>.job-link{margin-top:.5rem;font-size:.88em}.glass-card:has(>.job-link){min-height:420px}.project-context{padding-bottom:64px}

/* Final refinement: comfortable service-pagination targets at all widths. */
.care-pager button{width:44px;min-width:44px;height:44px;flex-shrink:0}
