@font-face{font-family:Manrope;src:url("fonts/Manrope-Variable.ttf") format("truetype");font-display:swap;font-weight:200 800}
:root{color-scheme:dark;--ink:#eee5d7;--muted:#c0b6a9;--rule:#ffffff26;--amber:#e8c18b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#151711;color:var(--ink);font:16px/1.6 Manrope,"Segoe UI",Arial,sans-serif}a{color:var(--amber);text-underline-offset:.24em}button,input,a{touch-action:manipulation}button{font:inherit;font-size:14px;font-weight:600;line-height:1.3;cursor:pointer}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}:focus-visible{outline:3px solid #e4f39c;outline-offset:5px}.skip{position:absolute;top:-80px;left:12px;z-index:10;background:#eee5d7;color:#171a13;padding:10px}.skip:focus{top:10px}.mast{padding:24px max(5vw,20px);border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:16px}.identity{display:flex;gap:12px;align-items:center;color:var(--ink);font-weight:700;text-decoration:none}.private,.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700}.private{color:#bbb3a6}.intro{padding:66px 0 34px;max-width:850px}.eyebrow{color:var(--amber)}main{width:min(1280px,90%);margin:auto}h1{font:400 clamp(42px,5.8vw,80px)/1.05 Georgia,serif;margin:15px 0 22px;letter-spacing:-.035em}h2{font:400 26px/1.3 Georgia,serif}h3{font-weight:500}.lead{font-size:19px;line-height:1.7;color:var(--muted);max-width:690px}.preview{border:1px solid var(--rule);border-radius:16px;overflow:hidden;background:#1b1d18}.preview-top{padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px}.preview-top h2{font:600 16px/1.4 Manrope,"Segoe UI",Arial,sans-serif;margin:0}.preview-top>span{font-size:12px;color:var(--muted)}.stage{width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;background:#211b16;isolation:isolate}.menu{position:absolute;inset:0;display:grid;grid-template-columns:42% 58%;color:#2b241b;background:#f3eddf}.menu-brand{padding:12% 10%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#30372c;color:#f3eddf;text-align:center}.menu-brand strong{font:400 clamp(27px,5vw,68px)/1.1 Georgia,serif;letter-spacing:.05em;margin:12% 0 5%}.menu-kicker{font-size:clamp(7px,1vw,13px);letter-spacing:.17em;font-weight:700}.menu-brand p{font:italic 400 clamp(18px,2.6vw,35px)/1.5 Georgia,serif;margin:12% 0 0;color:#dbc4a4}.menu-items{padding:9% 8% 4%;display:flex;flex-direction:column;justify-content:center}.menu-items h3{font:400 clamp(22px,3vw,40px)/1.1 Georgia,serif;margin:4% 0 6%}.menu-items>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #392f282d;padding:5% 0;font-size:clamp(13px,1.65vw,22px)}.menu-items small{display:block;font-size:clamp(8px,.92vw,12px);color:#625747;margin-top:3px}.menu-items b{font-size:clamp(13px,1.5vw,20px)}.menu-items footer{font-size:clamp(6px,.8vw,10px);margin-top:auto;letter-spacing:.08em}.cinematic{position:absolute;inset:0;background:#211b16;z-index:1;overflow:hidden}.cinematic>img{width:100%;height:100%;object-fit:cover;display:block;transform-origin:50% 65%;will-change:transform}.finish{position:absolute;left:0;right:0;bottom:4%;display:flex;align-items:center;flex-direction:column;text-shadow:0 3px 15px #000;background:linear-gradient(transparent,#17120c90);padding:4% 0 1%}.finish span{font:400 clamp(26px,4vw,55px)/1.1 Georgia,serif;letter-spacing:.13em}.finish small{font-size:clamp(8px,1vw,14px);letter-spacing:.4em;margin-top:10px}.controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:20px 24px 0}.controls button{border:1px solid #a88a63;background:#24271f;color:#f6ead5;border-radius:6px;padding:11px 15px;min-height:44px}.controls button:first-child{background:#e8c18b;color:#252218;border-color:#e8c18b}.controls button:hover{filter:brightness(1.12)}.repeat{display:flex;gap:8px;align-items:center;font-size:14px;margin-left:8px;min-height:44px}.repeat input{width:19px;height:19px;accent-color:var(--amber)}.timeline{display:flex;gap:14px;align-items:center;padding:18px 24px 0;font-size:12px}.timeline input{flex:1;min-width:80px;accent-color:var(--amber);min-height:28px}.timeline #time{min-width:78px;font-variant-numeric:tabular-nums}.status{padding:0 24px;color:var(--amber);font-size:13px}.study-note{margin:22px 24px 24px;padding-top:18px;border-top:1px solid var(--rule);font-size:13px;color:var(--muted);max-width:930px}.error{margin:20px 24px;color:#f8c0a5}.options{margin:65px 0}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.option{background:#1c2018;border:1px solid var(--rule);border-radius:12px;overflow:hidden}.option>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;display:block;background:#211b16}.option>div{padding:24px 28px 30px}.option h3{font:400 29px/1.2 Georgia,serif;margin:12px 0}.option p:not(.eyebrow){color:var(--muted);font-size:15px}.option a{font-size:14px;font-weight:600}.beats{padding-bottom:45px}.beats ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:0;counter-reset:beat}.beats li{border-top:1px solid var(--rule);padding-top:20px;counter-increment:beat}.beats b{display:block;font-size:17px;font-weight:600}.beats b:before{content:"0" counter(beat) " / ";color:var(--amber);font-size:12px;letter-spacing:.08em}.beats span{display:block;margin-top:10px;color:var(--muted);font-size:14px}.foot{display:flex;justify-content:space-between;gap:20px;padding:25px 0 35px;font-size:12px;color:#b0b5a7;border-top:1px solid var(--rule)}.stage:fullscreen{height:100%;width:100%;aspect-ratio:auto}.stage:fullscreen .menu-brand strong{font-size:6vw}.stage:fullscreen .menu-items h3{font-size:4vw}.stage:fullscreen .menu-items>div{font-size:2.5vw}.stage:fullscreen .menu-items b{font-size:2.3vw}.stage:fullscreen .menu-items small{font-size:1.2vw}.stage:fullscreen .menu-kicker{font-size:1.1vw}.stage:fullscreen .menu-brand p{font-size:3vw}@media(max-width:650px){.mast{padding:18px 5%;flex-wrap:wrap}.private{font-size:9px}.intro{padding-top:38px}.lead{font-size:17px}.preview-top{align-items:flex-start;flex-direction:column;padding:18px}.controls{padding:16px 16px 0}.controls button{padding:10px 12px}.repeat{margin-left:0}.timeline{padding:14px 16px 0;flex-wrap:wrap;gap:8px}.timeline label{width:100%}.status{padding:0 16px}.study-note{margin:18px 16px;font-size:12px}.option-grid,.beats ol{grid-template-columns:1fr}.options{margin:42px 0}.option>div{padding:22px}.foot{flex-direction:column;gap:5px}.menu-items>div{gap:6px}.menu-items h3{font-size:18px}.menu-items>div,.menu-items b{font-size:11px}.menu-brand strong{font-size:24px}.menu-brand p{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cinematic>img{will-change:auto}}@media(forced-colors:active){.controls button,.preview,.option{border:1px solid ButtonText}.cinematic img,.option img{forced-color-adjust:none}}

/* Version2: independently animated original subject over a stationary ground plate. */
.cinematic>#ground{position:absolute;inset:0;object-fit:cover;transform:none;will-change:auto}
.cinematic>#bull{position:absolute;inset:0;object-fit:contain;transform:scale(.92);transform-origin:50% 95%;will-change:auto;z-index:2}
.cinematic>#bull.mesh-active{visibility:hidden}
#bull-mesh,.ground-shadow,#atmosphere{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ground-shadow{z-index:1}#bull-mesh{z-index:2}#atmosphere{z-index:3;transform:scale(.92);transform-origin:50% 95%}.finish{z-index:4}
.cinematic.plain-backdrop{background:radial-gradient(ellipse at 20% 60%,#54331d,#211b16 65%)}

.controls .frame-link{padding:11px 15px;border:1px solid #a88a63;border-radius:6px;font-size:14px;min-height:44px;color:#f6ead5}

.artwork-tools{margin:18px 24px 0;border-top:1px solid var(--rule);padding-top:14px}.artwork-tools summary{cursor:pointer;font-size:13px;color:var(--muted);min-height:44px;display:list-item}.artwork-tools .controls,.artwork-tools .timeline{padding-left:0;padding-right:0}.project-link{display:inline-flex;padding:14px 20px;background:var(--amber);color:#211b16;text-decoration:none;font-weight:650;border-radius:6px;gap:22px;margin-top:26px}.foot nav{line-height:1.8}@media(max-width:650px){.artwork-tools{margin:18px 16px 0}}
