/* Full-ratio product captures, resting on a softly lit inset surface. */
#home .product-showcase{width:100%;isolation:isolate;background:linear-gradient(145deg,#f8f9fc 0%,#eef2f8 58%,#e8eef8 100%);border:1px solid #e8edf5;border-radius:30px;box-shadow:inset 0 1px 0 #fff;}
#home .product-showcase::before{content:'';position:absolute;inset:17% -15% -10%;background:radial-gradient(ellipse at 30% 44%,#9bc6ff85,transparent 54%),radial-gradient(ellipse at 85% 70%,#b8c5f15c,transparent 55%);filter:blur(24px);z-index:-1;}
#home .product-showcase::after{content:'';display:block;position:absolute;inset:23% 5% 13%;border:1px solid #ffffffb3;border-radius:24px;background:linear-gradient(140deg,#ffffff70,#ffffff0a);box-shadow:inset 0 1px 0 #fff9;pointer-events:none;z-index:-1;}
.showcase-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s cubic-bezier(.4,0,.2,1);pointer-events:none;}
.showcase-slide.is-active{opacity:1;z-index:1;}
.showcase-slide figcaption{position:absolute;top:8%;left:8%;right:8%;font-family:'Selo Hero',sans-serif;font-size:25px;font-weight:500;letter-spacing:-.035em;line-height:1.4;color:#263344;}
.showcase-slide figcaption small{display:block;margin-top:9px;font-size:14px;font-weight:400;letter-spacing:-.015em;line-height:1.6;color:#718095;word-break:keep-all;}
.showcase-screen{position:absolute;top:31%;left:5%;width:90%;border:1px solid #ffffffed;border-radius:12px;overflow:visible;background:#fff;box-shadow:0 0 0 1px #7286a21a,0 24px 40px -16px #4769974a,0 5px 12px #3e557e0d;}
.showcase-screen::before,.showcase-screen::after{content:'';position:absolute;border-radius:inherit;background:linear-gradient(115deg,#ffffffd9,#eef4fcbd);border:1px solid #ffffffd9;box-shadow:0 6px 12px #5d7dab0c;pointer-events:none;z-index:-1;}
.showcase-screen::before{inset:7px 9px -9px;}
.showcase-screen::after{inset:15px 19px -17px;z-index:-2;}
#home .product-showcase .showcase-screen img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;aspect-ratio:auto;border-radius:11px;}
.showcase-controls{position:absolute;bottom:5%;left:8%;right:8%;display:flex;align-items:center;justify-content:space-between;z-index:3;}
.showcase-dots{display:flex;gap:3px;}
.showcase-dots button{position:relative;background:transparent;border:0;width:23px;height:30px;padding:0;cursor:pointer;}
.showcase-dots button::after{content:'';position:absolute;width:5px;height:5px;border-radius:5px;background:#8390a360;top:12px;left:9px;transition:background .3s,transform .3s;}
.showcase-dots button[aria-pressed=true]::after{background:#47556a;transform:scale(1.35);}
.showcase-pause{width:30px;height:30px;border:1px solid #fff9;background:#ffffff80;color:#526079;border-radius:50%;font-size:12px;cursor:pointer;}
.product-showcase button:focus-visible{outline:2px solid #536983;outline-offset:2px;}
@media(max-width:767px){#home .product-showcase{border-radius:23px;}.showcase-slide figcaption{font-size:21px;}.showcase-slide figcaption small{font-size:12px;margin-top:6px;}.showcase-screen{border-radius:9px;}#home .product-showcase .showcase-screen img{border-radius:8px;}}
@media(prefers-reduced-motion:reduce){.showcase-slide{transition:none;}}

/* Let the actual interface carry the presentation. */
.showcase-screen{top:50%;transform:translateY(-50%);}
#home .product-showcase::after{inset:18% 5%;}
.showcase-controls{justify-content:flex-end;opacity:0;transition:opacity .2s;}
.product-showcase:hover .showcase-controls,.product-showcase:focus-within .showcase-controls{opacity:1;}
@media(hover:none){.showcase-controls{opacity:.65;}}
/* A single clean screen against a diffuse, cool aurora. */
#home .product-showcase{aspect-ratio:4/5;background:#f3f6fc;}
#home .product-showcase::after,.showcase-screen::before,.showcase-screen::after{display:none;}
#home .product-showcase::before{inset:-25%;background:radial-gradient(ellipse at 22% 36%,#78bcff9c 0%,#a3d3ff55 23%,transparent 48%),radial-gradient(ellipse at 76% 66%,#b5a7f285 0%,#c5c5ff3b 27%,transparent 53%),radial-gradient(ellipse at 57% 88%,#a0e2f56b 0%,transparent 48%);filter:blur(35px);transform:rotate(-14deg);animation:showcase-aurora 18s ease-in-out infinite alternate;animation-play-state:paused;}
#home .product-showcase.is-visible::before{animation-play-state:running;}
.showcase-screen{left:2%;width:96%;border:1px solid #ffffffd9;box-shadow:0 14px 38px -17px #4975b34d,0 1px 3px #536b8712;}
@keyframes showcase-aurora{from{transform:translate(-3%,-2%) rotate(-14deg) scale(1);}to{transform:translate(4%,3%) rotate(9deg) scale(1.08);}}
@media(prefers-reduced-motion:reduce){#home .product-showcase::before{animation:none;}}

/* Defined luminous ribbons, rather than a flat blurred color wash. */
#home .product-showcase{background:linear-gradient(145deg,#f6f9ff,#edf2fb);}
#home .product-showcase::before{display:none;}
.showcase-aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;}
.showcase-aurora svg{width:100%;height:100%;display:block;}
.aurora-band{transform-origin:50% 50%;animation:aurora-ribbon-drift 16s ease-in-out infinite alternate;animation-play-state:paused;}
.aurora-band-two{animation-delay:-8s;animation-duration:21s;}
.product-showcase.is-visible .aurora-band{animation-play-state:running;}
@keyframes aurora-ribbon-drift{from{transform:translate(-22px,-26px) rotate(-6deg) scale(1.06);opacity:.72;}to{transform:translate(30px,35px) rotate(7deg) scale(1.14);opacity:1;}}
@media(prefers-reduced-motion:reduce){.aurora-band{animation:none;}}

/* A focused dissolve: the incoming screen settles as the outgoing one softens. */
.showcase-slide{transform:translateY(10px) scale(.985);filter:blur(4px);transition:opacity .95s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1),filter .85s ease;}
.showcase-slide.is-active{transform:translateY(0) scale(1);filter:blur(0);}
.showcase-slide.is-leaving{transform:translateY(-7px) scale(1.008);filter:blur(3px);}
@media(prefers-reduced-motion:reduce){.showcase-slide,.showcase-slide.is-active,.showcase-slide.is-leaving{transform:none;filter:none;transition:none;}}

/* Consulting photographs fill the frame without an aurora inset. */

#home .consulting-showcase{background:transparent;border:0;box-shadow:none;}
.consulting-showcase .showcase-aurora{display:none;}
.consulting-showcase .showcase-screen{inset:0;width:100%;height:100%;transform:none;border:0;border-radius:inherit;box-shadow:none;overflow:hidden;}
#home .consulting-showcase .showcase-screen img{width:100%;height:100%;object-fit:cover;border-radius:0;}
#home .dossi-showcase{background:linear-gradient(145deg,#fff9fb,#fcf0f0);border-color:#f3e5e9;--aurora-start:#ffd7de;--aurora-main:#edb0c1;--aurora-mid:#e6b2c8;--aurora-end:#ffe7dd;--aurora-secondary:#ecbcae;--aurora-highlight:#fff3f0;}

/* Alternate the image side while preserving the same frame dimensions. */
@media(min-width:1001px){
  #home .consulting-section .home-consult-inner,
  #home .dossi-section .home-consult-inner{grid-template-columns:1fr 1.05fr;}
  #home .consulting-section .home-consult-text,
  #home .dossi-section .home-consult-text{order:1;}
  #home .consulting-section .home-consult-photo,
  #home .dossi-section .home-consult-photo{order:2;}
}
/* Keep the photo clear; keyboard users can still reach the pause control. */
.consulting-showcase:not(:focus-within) .showcase-controls{opacity:0;pointer-events:none;}
