/* Photograph transitions and motion accents. */
.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service-card{padding:28px;display:flex;flex-direction:column}.service-card a{margin-top:auto}.service-card p{padding-bottom:25px}.service-card:nth-child(4){transition-delay:240ms}
@media(min-width:761px) and (max-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.service-grid{grid-template-columns:1fr}}
.hero-slides{position:absolute;inset:0;overflow:hidden}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;opacity:0;transform:scale(1.07);transition:opacity 1.3s ease,transform 7s cubic-bezier(.2,.5,.5,1);will-change:opacity,transform}
.hero-slide.is-active{opacity:1;transform:scale(1);z-index:1}
.photo-shade{z-index:2;pointer-events:none}.photo-note{z-index:3;bottom:90px}
.hero-inner{pointer-events:none;z-index:3}.hero-content{pointer-events:auto}
.slideshow-controls{position:absolute;right:40px;bottom:26px;z-index:4;display:flex;align-items:center;gap:10px;color:white;padding:10px 14px;background:#0c2030c9;border:1px solid #ffffff2b;border-radius:4px;backdrop-filter:blur(8px)}
.slideshow-controls[hidden]{display:none}.slide-counter{font:700 21px var(--display);letter-spacing:1px;min-width:50px}.slide-counter small{font:500 10px var(--body);color:#b5c4d0}
.slide-dots{display:flex;gap:6px;margin:0 10px}.slide-dots button{position:relative;width:25px;height:32px;background:none;border:0;padding:0}.slide-dots button:before{content:'';position:absolute;left:0;right:0;top:14px;height:3px;background:#ffffff40;transition:background .3s}.slide-dots button:after{content:'';position:absolute;left:0;top:14px;width:100%;height:3px;background:var(--amber);transform:scaleX(0);transform-origin:left}.slide-dots button.is-active:before{background:#f6b71965}.slide-dots button.is-active:after{animation:slide-time 5.5s linear forwards}.slideshow-controls.is-paused .slide-dots button.is-active:after{animation:none;transform:scaleX(1)}
.slide-prev,.slide-next,.slide-pause{border:1px solid #ffffff30;background:transparent;color:white;width:32px;height:32px;display:grid;place-items:center;font-size:18px;border-radius:2px;transition:background .2s,color .2s}.slide-pause{font-size:14px}.slideshow-controls button:hover{color:var(--navy);background:var(--amber)}
.hero-content>.eyebrow{animation:rise-in .7s .1s both}.hero-content>h1{animation:rise-in .8s .2s both}.hero-content>p{animation:rise-in .8s .35s both}.hero-actions{animation:rise-in .8s .5s both}.hero-foot{animation:rise-in .8s .65s both}
.button{position:relative;overflow:hidden}.button:after{content:'';position:absolute;inset:-50% auto -50% -70%;width:40%;background:linear-gradient(90deg,transparent,#ffffff38,transparent);transform:skewX(-22deg);transition:left .65s;pointer-events:none}.button:hover:after{left:130%}.button:hover .icon{transform:rotate(-8deg) scale(1.12)}.button .icon{transition:transform .3s}.text-link span,.service-card a span,.big-phone span{display:inline-block;transition:transform .3s}.text-link:hover span,.service-card a:hover span,.big-phone:hover span{transform:translate(4px,-4px)}
.reveal{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.25,1)}.reveal.is-pending{transform:translateY(42px)}.about-visual.is-pending{transform:translateX(-35px)}.about-copy.is-pending{transform:translateX(35px)}.about-visual.is-visible,.about-copy.is-visible{transform:translate(0)}
.service-card:hover .card-top .icon{transform:translateX(5px) rotate(-5deg)}.card-top .icon{transition:transform .35s}.steps article:after{content:'';display:block;width:0;height:2px;margin-top:22px;background:var(--amber);transition:width 1s .25s}.steps article.is-visible:after{width:45px}.about-visual>img{transition:filter .5s,transform .7s}.about-visual:hover>img{filter:brightness(1.04);transform:translate(-3px,-3px)}
.gallery-item{animation:rise-in .7s both;animation-delay:var(--entry-delay,0ms)}.faq-list details[open] p{animation:rise-in .35s both}.live-dot{animation:signal-pulse 2.5s ease-out infinite}.scroll-hint{animation:scroll-bob 2s ease-in-out infinite}
@keyframes slide-time{to{transform:scaleX(1)}}@keyframes rise-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes signal-pulse{0%,100%{box-shadow:0 0 0 0 #f6b71900}40%{box-shadow:0 0 0 6px #f6b71925}80%{box-shadow:0 0 0 11px #f6b71900}}@keyframes scroll-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media(max-width:760px){.hero-photo{opacity:1}.hero-slides{opacity:.8}.photo-shade{background:linear-gradient(90deg,#132a3de8,#132a3d70),linear-gradient(0deg,#132a3df5,transparent 80%)}.photo-note{bottom:90px;left:20px;font-size:7px}.slideshow-controls{bottom:22px;left:20px;right:auto;padding:8px 10px;gap:7px}.slide-dots{margin:0 6px}.slide-dots button{width:22px}.hero-content{padding-bottom:155px}.hero,.hero-inner{min-height:740px}.hero h1{font-size:clamp(52px,11vw,75px)}.hero-foot{margin-top:25px}.about-visual.is-pending,.about-copy.is-pending{transform:translateY(35px)}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none}.hero-content>*{animation:none}.reveal.is-pending,.about-visual.is-pending,.about-copy.is-pending{transform:none;opacity:1}.steps article:after{transition:none}.live-dot,.scroll-hint,.gallery-item,.faq-list details[open] p{animation:none}.slide-dots button.is-active:after{animation:none;transform:scaleX(1)}}
