/* ===== v13 ===== */
/* dock-style nav with text: sliding highlight + gentle magnification */
.header nav.dock{gap:2px;padding:6px;height:auto;align-items:center;border-radius:999px;position:relative;font-size:12px}
.dock a{position:relative;display:block;width:auto;height:auto;padding:11px 17px;border-radius:999px;background:transparent;border:0;box-shadow:none;color:var(--ink);transform:scale(var(--s,1));transform-origin:50% 50%;transition:transform .22s ease-out,color .3s;z-index:1;white-space:nowrap}
.dock a:hover{color:var(--blue);border:0;box-shadow:none;background:transparent}
.dock a.active{color:var(--blue);border:0}
.dock a.active:before{content:'';position:absolute;left:50%;bottom:3px;translate:-50% 0;width:4px;height:4px;border-radius:50%;background:var(--blue)}
.dock .dock-hl{position:absolute;left:0;top:6px;height:calc(100% - 12px);width:0;border-radius:999px;background:#eaf0ff;box-shadow:inset 0 0 0 1px #d6e0fb;opacity:0;pointer-events:none;transition:transform .4s var(--ease2),width .4s var(--ease2),opacity .25s;z-index:0}
.dock.hl-on .dock-hl{opacity:1}

/* passport book */
.pp-cover{cursor:pointer;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.pp-cover:focus-visible{outline:3px solid #4660ee;outline-offset:6px}
.passport-tile.pp-open .pp-cover{pointer-events:none}
.passport-tile.pp-open .pp-inside,.passport-tile.pp-open:hover .pp-inside{transform:rotate(-15deg)}
.passport-tile.pp-open .pp-cover:not(:hover){}
.pp-inside{background:linear-gradient(135deg,#fdfeff,#edf1fb)!important;color:#2c4a86;display:flex;flex-direction:column;gap:6px;padding:16px 16px 12px;box-shadow:inset 5px 0 8px #ffffff80,14px 20px 23px #203d922a}
.pp-inside:before{border-color:#c9d5f5!important}
.pp-title{font-size:8px;font-weight:600;letter-spacing:1.2px;text-align:center;color:#5a76b8;position:relative;z-index:1}
.pp-grid{position:relative;z-index:1;flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:6px;place-items:center}
.pp-slot{width:100%;max-width:54px;aspect-ratio:1;border-radius:50%;border:1.5px dashed #9fb2e0;background:transparent;position:relative;transition:border-color .3s,background-color .3s,transform .3s var(--spring)}
.pp-slot:hover{border-color:var(--blue);background:#4261ee10;transform:scale(1.06)}
.pp-slot:after{content:'✦';position:absolute;inset:0;display:grid;place-items:center;font-size:22px;color:var(--blue);opacity:0;scale:.3;transition:opacity .2s,scale .4s var(--spring)}
.pp-slot.on{border-style:solid;border-color:var(--blue);background:#4261ee14}
.pp-slot.on:after{opacity:1;scale:1}
.pp-count{position:relative;z-index:1;font-size:9px;text-align:center;letter-spacing:1px;color:#5a76b8}
.pp-x{position:absolute;z-index:3;top:8px;right:8px;width:20px;height:20px;border-radius:50%;background:#e3eafb;color:#3a5aa8;font-size:14px;line-height:1;display:grid;place-items:center;transition:background-color .3s,color .3s}
.pp-x:hover{background:var(--blue);color:#fff}
@media(max-width:1150px){.pp-slot{max-width:46px}}
@media(max-width:760px){.pp-slot{max-width:36px}.pp-inside{padding:12px 10px 8px}.pp-title{font-size:6.5px}.pp-count{font-size:7px}.pp-slot:after{font-size:16px}.pp-x{width:16px;height:16px;font-size:12px;top:5px;right:5px}}

/* orbit toy */
.orbit-node{animation:none!important;right:auto!important;bottom:auto!important;will-change:left,top}
.orbit-node.friend{background:#fff;padding:0;overflow:hidden;border:2px solid #fff;box-shadow:0 6px 14px -6px #2a4a6a66}
.orbit-node.friend img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.orbit-center{position:relative;z-index:3;cursor:pointer}
.orbit-count{position:absolute;right:-6px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--blue);color:#fff;font-style:normal;font-size:10px;display:grid;place-items:center;box-shadow:0 4px 10px -3px #4261ee80}
.orbit-count[hidden]{display:none}
.orbit-node{cursor:pointer;z-index:2}

/* FAQ: smooth open/close */
.questions details{overflow:hidden}
.questions summary{user-select:none}
.questions details[open]:not(.is-open){border-color:#e1e6eb;box-shadow:none}
.questions details[open]:not(.is-open) summary>span{transform:none;color:#82939c}

/* lone arrow buttons never tilt */
.round:hover,.round:active,.round.fl:hover,.round.fl:active{transform:none!important}

/* book mode: the open cover stays visible on the left page */
.passport-tile .passport{transition:transform .7s var(--spring),box-shadow .5s,left .9s var(--ease2),scale .9s var(--ease2)}
.passport-tile .pp-inside{z-index:1}.passport-tile .pp-back{z-index:2}.passport-tile .pp-cover{z-index:3}
.passport-tile.pp-book.pp-open .passport{left:var(--pp-left);scale:var(--pp-k)}
.passport-tile.pp-open .passport,.passport-tile.pp-open:hover .passport{transform:rotate(-15deg)}
.passport-tile.pp-open .passport-stamp{opacity:0;transition:opacity .3s}
.pp-back{backface-visibility:hidden;-webkit-backface-visibility:hidden;pointer-events:none;background:linear-gradient(135deg,#e6edff,#cddbfb)!important;color:#2c4a86;box-shadow:inset -5px 0 8px #ffffff80,14px 20px 23px #203d922a}
.pp-back:before{border-color:#b8c8f2!important}
.pp-back .pb-label{font-size:7px;font-weight:600;letter-spacing:1px;line-height:1.2;position:relative;z-index:1}
.pp-back .pb-symbol{position:absolute;left:50%;top:44%;translate:-50% -50%;font-size:96px;line-height:1;color:#b5c8f5;font-weight:300}
.pp-back b{position:absolute;left:22px;bottom:24px;font-size:9px;font-weight:600;letter-spacing:1px;line-height:1.4;z-index:1}
.pp-back{visibility:hidden}
.pp-back.on{visibility:visible}

/* keep cover and pages perfectly aligned: no hover tilt on the book */
.passport-tile:hover .pp-cover,.passport-tile:hover .pp-inside,.passport-tile:hover .pp-back{transform:rotate(-15deg)}
