:root{--bg:#f1ece4;--bg2:#e9dcc6;--fg:#1d1d1b;--muted:#5d5a52;--accent:#b5532a;--accent2:#3c4a3f;--on-accent:#fff;--card:#fbf8f2;--line:rgba(29,29,27,.14);--fh:"Cormorant Garamond",Georgia,serif;--fb:"Work Sans",system-ui,sans-serif;--r:4px;--btnr:999px;--hh:0px}
h1,h2{font-weight:600;letter-spacing:-.01em}
.hd{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,40px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg);font:600 1.6rem/1 var(--fh)}.logo svg{width:34px;height:34px}.logo small{display:block;font:600 10.5px/1.2 var(--fb);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:2px}
.hbtn{font:600 14px var(--fb);color:var(--fg);text-decoration:none;border:1.5px solid var(--fg);padding:9px 16px;border-radius:999px;transition:background .25s,color .25s}.hbtn:hover{background:var(--fg);color:var(--bg)}
.track{display:flex;height:calc(100vh - 64px - var(--rib,34px));height:calc(100svh - 64px - var(--rib,34px));overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;outline:none}
.track::-webkit-scrollbar{display:none}
.pnl{flex:none;height:100%;scroll-snap-align:start;display:flex;align-items:center;padding:40px clamp(30px,5vw,80px) 110px;border-right:1px solid var(--line)}
.intro{width:min(62vw,860px)}.intro h1{font-size:clamp(2.8rem,5.4vw,5.4rem);line-height:.98}.intro h1 em{color:var(--accent)}
.go{display:inline-flex;gap:10px;align-items:center;margin-top:10px;font:600 15px var(--fb);color:var(--fg);text-decoration:none;border-bottom:1.5px solid var(--fg);padding-bottom:4px}.go span{transition:transform .3s;animation:nudge 2s ease-in-out infinite}@keyframes nudge{50%{transform:translateX(6px)}}
.reel{padding-right:20px}
.reel-in{display:flex;gap:26px;height:100%;align-items:center}
.shot{flex:none;margin:0;height:min(76%,560px);aspect-ratio:400/520;position:relative}
.shot.s1{height:min(62%,460px);align-self:flex-end;margin-bottom:6%}.shot.s2{height:min(70%,520px);align-self:flex-start;margin-top:2%}
.ph{width:100%;height:100%;display:block;box-shadow:0 30px 50px -30px rgba(29,29,27,.55);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.shot:hover .ph{transform:scale(1.02) rotate(-.5deg)}
.par{transform:translateX(calc(var(--px,0)*1px));transition:transform .2s linear}
.shot figcaption{position:absolute;left:0;right:0;bottom:-46px;display:flex;justify-content:space-between;gap:10px;font-size:13.5px;color:var(--muted)}.shot b{font:600 1.3rem var(--fh);color:var(--fg)}
.orb{animation:orb 8s ease-in-out infinite alternate}@keyframes orb{to{transform:translateY(16px)}}
.kite{animation:kite 4s ease-in-out infinite;transform-origin:300px 154px}@keyframes kite{50%{transform:rotate(8deg) translateY(-8px)}}
.rip{animation:rip 4s ease-in-out infinite}@keyframes rip{50%{transform:translateX(16px);opacity:.2}}
.bulb{animation:bulb 2.4s ease-in-out infinite}@keyframes bulb{50%{opacity:.35}}
.fl{animation:fl 7s linear infinite}@keyframes fl{to{transform:translate(40px,420px) rotate(300deg)}}
.text{width:min(46vw,620px)}.text h2{font-size:clamp(2.2rem,3.6vw,3.4rem)}
.pk{list-style:none;margin:20px 0 0;padding:0}.pk li{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}.pk b{font:600 1.4rem var(--fh)}.pk small{display:block;color:var(--muted);font-size:14px}.pk em{font:600 1.5rem var(--fh);font-style:normal;color:var(--accent);white-space:nowrap}
.about .me{width:130px;margin-bottom:16px}
.book{width:min(52vw,640px)}.book .form{margin-top:10px}.book .ok{margin-top:12px}
.fine{font-size:13px;color:var(--muted);margin-top:16px}.fine a{color:inherit}
.dockbar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:6px;background:rgba(29,29,27,.88);backdrop-filter:blur(10px);color:#f1ece4;border-radius:999px;padding:6px;box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.dockbar ol{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.dockbar a{display:block;padding:9px 14px;border-radius:999px;color:#cfc8bb;text-decoration:none;font:600 13.5px/1 var(--fb);transition:background .25s,color .25s}
.dockbar a:hover{color:#fff}.dockbar a[aria-current]{background:#f1ece4;color:var(--fg)}
.arr{width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;font-size:18px;cursor:pointer}.arr:hover{background:var(--accent)}
.prog{position:absolute;left:22px;right:22px;bottom:-9px;height:3px;border-radius:2px;background:rgba(29,29,27,.15);overflow:hidden}.prog i{display:block;height:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}
@media(max-width:800px){
 .track{display:block;height:auto;overflow:visible}
 .pnl{width:auto!important;height:auto;display:block;border-right:0;border-bottom:1px solid var(--line);padding:56px 22px}
 .intro h1{font-size:2.6rem}
 .reel{padding:30px 0 70px}
 .reel-in{overflow-x:auto;scroll-snap-type:x mandatory;padding:0 22px;gap:16px;align-items:flex-start;scrollbar-width:none}
 .shot,.shot.s1,.shot.s2{height:auto;width:72vw;align-self:auto;margin:0;scroll-snap-align:center}
 .dockbar{left:10px;right:10px;transform:none;bottom:10px;justify-content:space-between}.dockbar .arr{display:none}.dockbar a{padding:9px 10px;font-size:12.5px}.dockbar ol{width:100%;justify-content:space-between}
 .prog{display:none}
 body{padding-bottom:70px}
}
@media (prefers-reduced-motion:reduce){.track{scroll-behavior:auto}.par{transition:none}}
