/* Character-led cards; all rules belong to this carousel alone. */
#profession .profession-carousel{--story-gap:24px;position:relative;margin-top:34px}
#profession .profession-slider-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
#profession .profession-slider-caption{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#bcaacb}
#profession .profession-slider-nav{display:flex;align-items:center;gap:10px}
#profession .profession-slider-count{min-width:123px;margin-right:12px;color:#c4aecf;font:italic 23px/1 Georgia,serif;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
#profession .profession-slider-arrow{display:grid;place-items:center;width:49px;height:49px;padding:0;border-radius:50%;border:1px solid #cfb7e044;background:#251b30;color:#eadcf2;transition:background .25s,color .25s,transform .25s,opacity .25s}
#profession .profession-slider-arrow svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#profession .profession-slider-arrow:hover:not(:disabled){background:#dbc5e9;color:#251931;transform:translateY(-2px)}
#profession .profession-slider-arrow:disabled{cursor:default;opacity:.3}
#profession .profession-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--story-gap))/2.12);grid-template-rows:auto;gap:var(--story-gap);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;padding:9px 0 24px;cursor:grab;isolation:isolate}
#profession .profession-track::-webkit-scrollbar{display:none}
#profession .profession-track:focus-visible{outline:2px solid #c6a9ff;outline-offset:6px;border-radius:30px}
#profession .profession-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
#profession .profession-slide{position:relative;display:flex;flex-direction:column;min-width:0;scroll-snap-align:start;overflow:hidden;border-radius:36px;border:1px solid #cfb5e02e;background:radial-gradient(ellipse at 52% 16%,#83569c52,transparent 49%),linear-gradient(155deg,#291e35,#19121f 74%);box-shadow:inset 0 1px 0 #f6e4ff1a;transition:border-color .35s,box-shadow .35s}
#profession .profession-slide:nth-child(2){background:radial-gradient(ellipse at 55% 20%,#966b8645,transparent 48%),linear-gradient(155deg,#302130,#19131f 74%)}
#profession .profession-slide:nth-child(3){background:radial-gradient(ellipse at 45% 20%,#99707c40,transparent 49%),linear-gradient(155deg,#2f202d,#19131f 74%)}
#profession .profession-slide:nth-child(4){background:radial-gradient(ellipse at 55% 16%,#796bb34b,transparent 48%),linear-gradient(155deg,#232039,#19131f 74%)}
#profession .profession-slide:hover{border-color:#d6b8ed75;box-shadow:inset 0 1px 0 #f6e4ff28,0 15px 32px -22px #0009}
#profession .profession-slide-visual{position:relative;height:clamp(340px,32vw,460px);flex:0 0 auto;isolation:isolate;user-select:none}
#profession .profession-slide-visual:before{content:'';position:absolute;inset:13% 10% 4%;border:1px solid #e8d6f219;border-radius:50% 50% 44% 44%;transform:rotate(-13deg);z-index:-1;pointer-events:none}
#profession .profession-slide-visual:after{content:'';position:absolute;inset:19% 17% 1%;border-radius:50%;background:radial-gradient(ellipse,#d7b4ed16,transparent 70%);z-index:-1;pointer-events:none}
#profession .profession-slide-visual img{position:absolute;inset:21px 3% 0;width:94%;height:calc(100% - 21px);object-fit:contain;object-position:center bottom;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 12px 15px #08040d40);mask-image:linear-gradient(#000 87%,transparent 100%);transition:transform .65s cubic-bezier(.2,.7,.3,1)}
#profession .profession-slide:nth-child(n+3) .profession-slide-visual img{inset:auto -17.5% -10%;width:135%;max-width:none;height:135%;mask-image:linear-gradient(#000 74%,transparent 94%)}
#profession .profession-slide:hover .profession-slide-visual img{transform:translateY(-4px) scale(1.015)}
#profession .profession-track.is-dragging .profession-slide-visual img{transform:none}
#profession .profession-slide-number{position:absolute;top:27px;left:30px;font:italic 26px/1 Georgia,serif;color:#e3cdeb99;z-index:2;pointer-events:none}
#profession .profession-slide-copy{display:flex;flex-direction:column;flex:1;padding:9px 35px 36px;position:relative}
#profession .profession-slide-copy:before{content:'';width:30px;height:2px;border-radius:3px;background:#cba9e3;margin-bottom:22px;opacity:.6}
#profession .profession-slide h3{font-size:clamp(25px,2.25vw,34px);line-height:1.18;font-weight:500;letter-spacing:-.045em;margin:0 0 21px;max-width:500px;text-wrap:balance}
#profession .profession-slide .profession-answer p{font-size:16px;line-height:1.85;color:#cdbfd6;padding:0;margin:0;text-wrap:pretty}
#profession .profession-slider-footer{display:flex;align-items:center;gap:24px;justify-content:space-between;margin-top:2px}
#profession .profession-slider-pages{display:flex;gap:9px}
#profession .profession-slider-page{display:grid;place-items:center;width:42px;height:35px;padding:0;background:transparent;border-radius:20px;position:relative;color:#a994b5;transition:color .2s,background .2s}
#profession .profession-slider-page:after{content:'';width:100%;height:2px;background:currentColor;opacity:.32;border-radius:2px;transition:opacity .25s,height .25s}
#profession .profession-slider-page[aria-current=true]{color:#e2c9f4}
#profession .profession-slider-page[aria-current=true]:after{height:4px;opacity:1}
#profession .profession-slider-page:hover{color:#f6e9ff;background:#c6a9ff0c}
#profession .profession-slider-page[hidden]{display:none}
#profession .profession-slider-hint{color:#a38fab;font-size:12px;line-height:1.5}
@media(max-width:1100px){
 #profession .profession-carousel{--story-gap:20px}
 #profession .profession-track{grid-auto-columns:calc((100% - var(--story-gap))/1.75)}
 #profession .profession-slide-copy{padding:8px 28px 32px}
 #profession .profession-slide-visual{height:360px}
}
@media(max-width:760px){
 #profession .profession-carousel{--story-gap:16px;margin-top:26px}
 #profession .profession-slider-toolbar{margin-bottom:14px;gap:10px}
 #profession .profession-slider-caption{max-width:115px;font-size:10px;line-height:1.65;letter-spacing:.09em}
 #profession .profession-slider-count{font-size:20px;min-width:60px;margin-right:1px}
 #profession .profession-slider-nav{gap:7px}
 #profession .profession-slider-arrow{width:42px;height:42px}
 #profession .profession-track{grid-auto-columns:calc(100% - 20px);padding-bottom:17px}
 #profession .profession-slide{border-radius:29px}
 #profession .profession-slide-visual{height:clamp(290px,84vw,370px)}
 #profession .profession-slide-visual img{inset:18px 0 0;width:100%;height:calc(100% - 18px)}
 #profession .profession-slide-number{top:23px;left:25px;font-size:23px}
 #profession .profession-slide-copy{padding:2px 25px 30px}
 #profession .profession-slide-copy:before{margin-bottom:19px}
 #profession .profession-slide h3{font-size:27px;margin-bottom:19px;text-wrap:pretty}
 #profession .profession-slide .profession-answer p{font-size:15px;line-height:1.8}
 #profession .profession-slider-footer{gap:15px;align-items:center}
 #profession .profession-slider-pages{gap:5px}
 #profession .profession-slider-page{width:31px}
 #profession .profession-slider-hint{font-size:11px;max-width:145px;text-align:right}
}
@media(prefers-reduced-motion:reduce){
 #profession .profession-slide,#profession .profession-slide-visual img,#profession .profession-slider-arrow,#profession .profession-slider-page,#profession .profession-slider-page:after{transition:none}
 #profession .profession-slide:hover .profession-slide-visual img,#profession .profession-slider-arrow:hover:not(:disabled){transform:none}
}
