/* Homepage slideshow, gentle portfolio details, quote glow, and refreshed footer. */
.hero-slides{position:absolute;inset:0;overflow:hidden}
.hero-photo-placeholder{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.015);transition:opacity .8s ease,transform 7s ease}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-slide-controls{position:absolute;z-index:3;inset:14px 15px auto;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.hero-slide-controls[hidden]{display:none}
.hero-slide-dots{display:flex;gap:6px;pointer-events:auto}
.hero-slide-dot{width:7px;height:7px;padding:0;border:1px solid #fff;background:#ffffff70;border-radius:50%;cursor:pointer;box-shadow:0 1px 6px #35263c35;transition:width .22s ease,background .22s ease}
.hero-slide-dot.is-active{width:19px;border-radius:8px;background:#fff}
.hero-pause{width:32px;height:32px;border:1px solid #fff9;border-radius:50%;background:#2d1e3480;color:#fff;font-size:10px;line-height:1;cursor:pointer;pointer-events:auto;backdrop-filter:blur(8px);transition:background .2s ease,transform .2s ease}
.hero-pause:hover{background:#2d1e34;transform:scale(1.06)}
.hero-index{z-index:2}
.hero-stamp{z-index:2}
.service-carousel-controls button:focus-visible,.hero-pause:focus-visible,.hero-slide-dot:focus-visible{outline:2px solid #fff;outline-offset:3px}
.quote-section{position:relative;overflow:hidden}
.quote-inner blockquote{animation:quote-arrive .85s cubic-bezier(.2,.7,.2,1) both}
.quote-inner blockquote em{display:inline-block;text-shadow:0 0 0 transparent;animation:quote-glow 4.8s ease-in-out 1s infinite alternate}
.quote-mark{display:inline-block;animation:quote-mark-in .8s ease both}
.portfolio-card{transform:translateZ(0);transition:transform .38s cubic-bezier(.2,.75,.2,1),box-shadow .38s ease,filter .38s ease}
.portfolio-card img{will-change:transform}
.portfolio-card:hover,.portfolio-card:focus-within{transform:translateY(-5px) rotate(-.35deg);box-shadow:0 16px 35px rgba(82,37,70,.14);filter:saturate(1.04)}
.portfolio-card:nth-child(2n):hover,.portfolio-card:nth-child(2n):focus-within{transform:translateY(-5px) rotate(.35deg)}
.portfolio-card:focus-within{outline:2px solid #d6688c;outline-offset:3px}
.portfolio-card .portfolio-label{transition:transform .3s ease,letter-spacing .3s ease}
.portfolio-card:hover .portfolio-label,.portfolio-card:focus-within .portfolio-label{letter-spacing:.2em}
.site-footer{position:relative;overflow:hidden;background:linear-gradient(118deg,#281a32 0%,#38223e 48%,#291c37 100%)}
.site-footer:before{content:"";position:absolute;width:420px;height:220px;right:-80px;top:-125px;border-radius:50%;background:radial-gradient(ellipse,#d05e8c2c,transparent 68%);pointer-events:none}
.footer-main,.footer-bottom{position:relative;z-index:1}
.footer-main{grid-template-columns:1.25fr .9fr 1.1fr auto;padding-block:49px}
.footer-main>p{font:400 17px/1.6 var(--serif);color:#f3d9df}
.footer-links{flex-wrap:wrap;gap:11px 19px}
.footer-links a{transition:color .2s ease,transform .2s ease}
.footer-links a:hover{color:#ffb3bc;transform:translateY(-2px)}
.admin-link{padding:9px 13px;border:1px solid #ffffff33;border-radius:30px;transition:background .2s ease,border-color .2s ease}
.admin-link:hover{background:#ffffff12;border-color:#ffffff80}
.footer-bottom{border-top-color:#ffffff24}
@keyframes quote-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes quote-mark-in{from{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes quote-glow{from{text-shadow:0 0 0 rgba(255,177,196,0);color:#efacb8}to{text-shadow:0 0 12px rgba(255,177,196,.32);color:#ffd2d7}}
@media(max-width:850px){.footer-main{grid-template-columns:1fr 1fr;gap:24px}.footer-links{grid-column:1/-1;grid-row:2}.admin-link{justify-self:end;align-self:start;grid-column:2;grid-row:1}}
@media(max-width:620px){.hero-slide-controls{inset:12px 12px auto}.hero-pause{width:30px;height:30px}.footer-main{grid-template-columns:1fr 1fr;gap:17px;padding-block:35px}.footer-main>p{font-size:15px}.footer-links{grid-column:1/-1;grid-row:auto;flex-direction:row;gap:10px 15px}.admin-link{grid-column:2;grid-row:1;justify-self:end;align-self:start;font-size:8px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.portfolio-card,.portfolio-card img,.portfolio-label,.footer-links a,.admin-link{transition:none!important}.hero-slide.is-active{transform:none}.quote-inner blockquote,.quote-mark,.quote-inner blockquote em{animation:none!important;text-shadow:none!important}.portfolio-card:hover,.portfolio-card:focus-within,.portfolio-card:nth-child(2n):hover{transform:none}}
