/* Profession carousel featuring selected catalog products. */
.profession-section{padding-top:72px;padding-bottom:60px;background:#eff1eb;overflow:hidden;max-width:none}
.profession-intro{text-align:center;max-width:720px;margin:0 auto 25px}
.profession-intro .eyebrow{color:var(--muted);font-size:10px}
.profession-intro h2{font-size:clamp(29px,3.1vw,44px);line-height:1.2;font-weight:550;letter-spacing:-1.5px;margin:15px 0}
.profession-intro>p:last-child{font-size:13px;color:var(--muted)}
.profession-picker{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px auto 0;font-size:11px;color:var(--muted)}
.profession-picker select{max-width:245px;min-height:44px;padding:10px 30px 10px 13px;background:transparent;border:1px solid #aeb6a8;border-radius:6px;color:var(--ink);font-size:12px}
.profession-carousel{position:relative;max-width:1250px;margin:0 auto}
.profession-stage{--card-width:330px;--step:235px;position:relative;height:548px;perspective:1400px;touch-action:pan-y;isolation:isolate}
.profession-card{position:absolute;left:50%;top:30px;width:var(--card-width);height:470px;background:#fafbf8;border:1px solid #fff9;border-radius:20px;overflow:hidden;box-shadow:0 18px 35px #35412e12;transform:translateX(calc(-50% + var(--offset)*var(--step))) translateY(var(--drop)) rotateY(var(--turn)) scale(var(--scale));opacity:var(--opacity);z-index:var(--layer);filter:var(--soften);transition:transform 850ms cubic-bezier(.22,.68,0,1),opacity 650ms ease,filter 650ms ease,box-shadow 650ms ease;will-change:transform}
.profession-card[data-current="true"]{box-shadow:0 24px 45px #35412e22}
.profession-card[data-far="true"]{visibility:hidden;pointer-events:none;will-change:auto}
.profession-card a{height:100%;display:flex;flex-direction:column;position:relative}
.profession-card a:focus-visible{outline-offset:-4px;border-radius:20px}
.profession-photo{height:365px;flex:none;background:#e8e5e1;overflow:hidden}
.profession-photo img{height:100%;width:100%;object-fit:contain;object-position:center}
.profession-badge{position:absolute;top:17px;left:17px;border-radius:30px;padding:6px 13px;background:#fafbf8ef;font-size:11px;color:#42533e;line-height:1.5}
.profession-caption{padding:17px 21px 18px;flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px}
.profession-caption h3{font-weight:500;font-size:23px;letter-spacing:-.6px;line-height:1.2}
.profession-caption p{font-size:10px;color:var(--muted);margin-top:7px}
.profession-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:-7px;position:relative;z-index:20}
.profession-step,.profession-play{height:44px;min-width:44px;border:1px solid #aeb6a8;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:22px;transition:background .2s}
.profession-step:hover,.profession-play:hover{background:#dfe5d8}
.profession-counter{min-width:58px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:2px;color:#586152}
.profession-play{margin-left:8px;font-size:12px;letter-spacing:1px}
.profession-section .directions-actions{margin:28px 0 0}
.profession-section .directions-actions .button{min-height:50px;padding:14px 30px;border-radius:3px;font-size:12px}
.profession-hint{text-align:center;margin-top:14px;font-size:10px;color:#697361}
.profession-stage:not(.is-ready){display:flex;overflow-x:auto;gap:20px;perspective:none;height:auto;padding:25px 0;scroll-snap-type:x mandatory}
.profession-stage:not(.is-ready) .profession-card{position:relative;left:auto;top:auto;transform:none;opacity:1;filter:none;visibility:visible;flex:0 0 300px;scroll-snap-align:center}
@media(max-width:1000px){.profession-stage{--card-width:300px;--step:205px}.profession-card{height:450px}.profession-photo{height:345px}.profession-stage{height:525px}.profession-caption h3{font-size:21px}}
@media(max-width:600px){.profession-section{padding:43px 0 36px}.profession-intro{padding:0 22px;margin-bottom:12px}.profession-intro .eyebrow{font-size:8px;letter-spacing:1.5px}.profession-intro h2{font-size:30px;letter-spacing:-1px;max-width:310px;margin:12px auto}.profession-intro>p:last-child{font-size:12px;line-height:1.7}.profession-picker{gap:8px;margin-top:18px;font-size:10px;flex-wrap:wrap}.profession-picker select{font-size:12px;max-width:240px}.profession-stage{--card-width:268px;--step:166px;height:466px}.profession-card{height:411px;top:22px;border-radius:17px}.profession-photo{height:310px}.profession-caption{padding:15px 17px}.profession-caption h3{font-size:20px}.profession-caption p{font-size:9px}.profession-badge{font-size:10px;top:14px;left:14px;padding:6px 11px}.profession-controls{margin-top:0;gap:14px}.profession-section .directions-actions{margin-top:24px}.profession-hint{font-size:9px}.profession-stage:not(.is-ready) .profession-card{flex-basis:268px}}
@media(prefers-reduced-motion:reduce){.profession-card{transition:none;will-change:auto}.profession-step,.profession-play{transition:none}}
.profession-photo{height:350px}@media(max-width:1000px){.profession-photo{height:330px}}@media(max-width:600px){.profession-photo{height:295px}.profession-card{height:420px}.profession-stage{height:475px}}
.profession-card:after{content:"";position:absolute;inset:0;background:rgba(239,241,235,var(--wash,0));pointer-events:none;transition:background 650ms ease}
