/* Cinematic service panel. The photograph remains useful with motion disabled. */
.sweep-section.care-cinema{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(560px,47vw,780px);padding:80px 7%;overflow:hidden;background:#f0ece3;color:#232522}
.care-visual,.care-camera,.care-shade{position:absolute;inset:0;pointer-events:none}
.care-visual{z-index:-2;overflow:hidden;right:45%}
.care-camera{inset:-2%;transform:translate3d(var(--care-x,0px),var(--care-y,0px),0);transition:transform 1.4s cubic-bezier(.2,.7,.3,1)}
.care-camera img{display:block;width:100%;height:100%;object-fit:cover;object-position:35% center;animation:care-camera-push 18s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:36% 50%}
.care-worklight{position:absolute;inset:0;background:radial-gradient(ellipse at 72% 40%,#ffffff60,transparent 55%);mix-blend-mode:screen;opacity:.18;animation:care-light-pass 11s ease-in-out infinite alternate;animation-play-state:paused}
.care-shade{z-index:-1;background:linear-gradient(90deg,transparent 42%,#f0ece388 50%,#f0ece3 54%)}
.care-cinema .sweep-copy{width:44%;margin-left:auto;position:relative;color:#4b463e}
.care-cinema .sweep-copy h2{font-size:clamp(44px,4.8vw,80px);line-height:1.07;letter-spacing:-1.5px;margin:0 0 34px}
.care-cinema .sweep-copy h2 em{display:inline-block;color:#6c614e}
.care-book{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-height:54px;padding:16px 24px;background:#293025;color:#f6f0e5;border:1px solid #293025;font-size:17px;transition:background .25s,transform .25s,color .25s}
.care-book span{font-size:23px;transition:transform .25s}
.care-cinema .care-book:hover{background:#424b39;color:#fff;transform:translateY(-2px)}
.care-book:hover span{transform:translate(2px,-2px)}
.care-motion{position:absolute;right:7%;bottom:24px;border:1px solid #29302533;border-radius:30px;background:#f0ece3b8;color:#38402e;min-height:44px;padding:10px 16px;font-size:11px;display:flex;align-items:center;gap:9px;backdrop-filter:blur(6px)}
.care-motion[hidden]{display:none}
.care-cinema.care-running .care-camera img,.care-cinema.care-running .care-worklight{animation-play-state:running}
.care-cinema.care-static .care-camera{transform:none;transition:none}
.care-cinema.care-static .care-camera img,.care-cinema.care-static .care-worklight{animation:none}
.expertise-intro .expertise-statement{font-size:clamp(25px,2.5vw,38px);line-height:1.35;letter-spacing:1px;max-width:15em;flex:1;font-weight:500;text-wrap:balance}
@keyframes care-camera-push{from{transform:scale(1)}to{transform:scale(1.055)}}
@keyframes care-light-pass{from{opacity:.12;transform:translateX(-1%)}to{opacity:.45;transform:translateX(2%)}}

/* A centred, three-card gallery; the full-size viewer remains available. */
.portfolio:has(.portfolio-gallery){padding:100px 0 75px;overflow:hidden}
.portfolio:has(.portfolio-gallery) .portfolio-heading{padding:0 7%;margin-bottom:55px}
.portfolio-gallery{--gallery-card-width:min(42vw,520px);position:relative;width:100%;outline-offset:-4px}
.portfolio-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 7% 20px}
.portfolio-gallery .portfolio-card{flex:0 0 var(--gallery-card-width);scroll-snap-align:center;transform:none;min-width:0;outline-offset:5px;opacity:1}
.portfolio-gallery .portfolio-photo{aspect-ratio:4/5;isolation:isolate;border-radius:2px;box-shadow:0 1px 2px #30291c14,5px 12px 20px -11px #30291c24,12px 27px 38px -22px #30291c22;transition:box-shadow .7s cubic-bezier(.2,.7,.3,1)}
.portfolio-gallery .portfolio-photo::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 0 #ffffff70,inset 1px 0 0 #ffffff28,inset 0 -1px 0 #15170e22}
.portfolio-gallery.is-ready .portfolio-card.is-current .portfolio-photo{box-shadow:0 2px 4px #30291c18,6px 14px 22px -10px #30291c2e,16px 36px 48px -18px #30291c33,30px 64px 80px -32px #30291c20}
.portfolio-gallery .portfolio-caption{padding:20px 4px 0;display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.portfolio-gallery .portfolio-caption h3{font-size:clamp(22px,2vw,30px);margin:0}
.portfolio-gallery .portfolio-caption>span{font-size:10px;white-space:nowrap}
.portfolio-gallery.is-ready{height:calc(var(--gallery-card-width)*1.25 + 110px)}
.portfolio-gallery.is-ready .portfolio-track{position:absolute;inset:0 0 50px;display:block;overflow:visible;padding:0;touch-action:pan-y}
.portfolio-gallery.is-ready .portfolio-card{position:absolute;top:0;left:50%;width:var(--gallery-card-width);transform:translateX(calc(-50% + var(--card-offset,0px))) scale(var(--card-scale,.86));transform-origin:center center;opacity:var(--card-opacity,0);z-index:var(--card-layer,0);transition:transform .7s cubic-bezier(.2,.7,.3,1),opacity .6s;will-change:transform}
.portfolio-gallery.is-ready .portfolio-card:not(.is-current) .portfolio-caption{opacity:0}
.portfolio-gallery.is-ready .portfolio-card:not(.is-current) img{filter:brightness(.8)}
.portfolio-gallery.is-ready .portfolio-card:not(.is-current) .portfolio-expand{display:none}
.portfolio-gallery .portfolio-photo img{user-select:none;-webkit-user-drag:none;transition:transform 1.1s,filter .7s}
.portfolio-gallery .portfolio-expand{right:16px;bottom:16px;width:40px;height:40px;font-size:20px}
.gallery-navigation[hidden]{display:none}
.gallery-arrow{position:absolute;z-index:8;top:calc(var(--gallery-card-width)*.625);transform:translateY(-50%);width:48px;height:48px;padding:0;border:1px solid #f2eadb80;border-radius:50%;display:grid;place-items:center;background:#12180e75;backdrop-filter:blur(10px);color:#fff;font:24px 'DM Sans',sans-serif;transition:background .25s}
.gallery-arrow:hover{background:#ece1c9;color:#21251e}
.gallery-prev{left:calc(50% - var(--gallery-card-width)/2 + 16px)}
.gallery-next{right:calc(50% - var(--gallery-card-width)/2 + 16px)}
.gallery-status{position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:12px;color:#666d60;letter-spacing:.8px;line-height:1.6;pointer-events:none}
.gallery-status:empty{display:none}
@media(max-width:900px){.portfolio-gallery{--gallery-card-width:min(58vw,480px)}.care-cinema .sweep-copy{width:46%}.care-cinema .sweep-copy h2{font-size:clamp(38px,5.2vw,58px)}}
@media(max-width:700px){
 .sweep-section.care-cinema{display:block;min-height:0;padding:0 0 74px}
 .care-visual{position:relative;inset:auto;z-index:0;height:clamp(290px,86vw,490px)}
 .care-camera img{object-position:25% center}
 .care-shade{z-index:1;bottom:auto;height:clamp(290px,86vw,490px);background:linear-gradient(0deg,#f0ece3,transparent 35%)}
 .care-cinema .sweep-copy{width:auto;margin:0;padding:12px 7% 0;z-index:2}
 .care-cinema .sweep-copy h2{font-size:clamp(38px,9vw,58px);line-height:1.08;margin:0 0 26px}
 .care-book{min-height:54px;font-size:17px}
 .care-motion{right:7%;bottom:15px;font-size:10px}
 .expertise-intro .expertise-statement{font-size:clamp(25px,6.6vw,34px);max-width:17em;margin-bottom:24px}
 .portfolio:has(.portfolio-gallery){padding:65px 0 50px}
 .portfolio:has(.portfolio-gallery) .portfolio-heading{margin-bottom:36px}
 .portfolio-gallery{--gallery-card-width:72vw}
 .portfolio-gallery.is-ready{height:calc(var(--gallery-card-width)*1.25 + 105px)}
 .portfolio-gallery .portfolio-caption{display:block;padding-top:17px}
 .portfolio-gallery .portfolio-caption h3{font-size:25px;margin-top:6px}
 .portfolio-gallery .portfolio-caption>span{font-size:9px}
 .portfolio-gallery.is-ready .portfolio-card.is-current .portfolio-photo{box-shadow:0 2px 3px #30291c18,4px 10px 17px -7px #30291c2e,10px 24px 34px -14px #30291c33,18px 40px 54px -23px #30291c1c}
 .gallery-arrow{width:44px;height:44px;font-size:22px}
 .gallery-prev{left:calc(50% - var(--gallery-card-width)/2 + 10px)}
 .gallery-next{right:calc(50% - var(--gallery-card-width)/2 + 10px)}
 .gallery-status{font-size:10px;bottom:0}
}
@media(prefers-reduced-motion:reduce){.care-camera{transform:none!important}.care-camera img,.care-worklight{animation:none!important}.portfolio-gallery .portfolio-card,.care-book,.care-book span{transition:none!important}}
