.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:radial-gradient(ellipse 70% 60% at 78% 40%,rgba(0,191,255,.12),transparent 70%),radial-gradient(ellipse 60% 50% at 10% 90%,rgba(255,0,53,.1),transparent 70%),linear-gradient(180deg,#04142c 0%,var(--midnight) 70%,#0b2f63 100%);color:var(--on-dark);--ink: var(--on-dark);--ink-2: var(--on-dark-2);--ink-3: var(--on-dark-3);--u-color: var(--cherry);--below: var(--paper)}.hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:22px;background:var(--paper);transform:scale(-1);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 22' preserveAspectRatio='none'><path d='M0 0h1200v8c-40 6-80 10-130 6s-90-12-150-8-110 14-170 10-100-14-160-12-110 12-170 9-90-10-150-8S120 18 60 14 0 6 0 6z'/></svg>") center / 100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 22' preserveAspectRatio='none'><path d='M0 0h1200v8c-40 6-80 10-130 6s-90-12-150-8-110 14-170 10-100-14-160-12-110 12-170 9-90-10-150-8S120 18 60 14 0 6 0 6z'/></svg>") center / 100% 100% no-repeat;z-index:2}.hero__sky{position:absolute;top:0;right:0;bottom:0;left:0}.hero__gl{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;mix-blend-mode:hard-light}.hero__inner{position:relative;z-index:1;padding-top:calc(var(--nav-h) + 40px);padding-bottom:150px;pointer-events:none}.hero__text{max-width:760px;pointer-events:auto}.hero__eyebrow{color:var(--cherry-glow);margin-bottom:26px}.hero__title{font-family:var(--f-display);font-size:clamp(42px,6.6vw,100px);line-height:.98;letter-spacing:-.02em}.hero__title em{font-style:italic;color:var(--cherry);position:relative}.hero__hi{display:block;position:relative;z-index:1;font-size:.48em;line-height:.92;color:var(--cherry);transform:rotate(-4deg);transform-origin:left center;margin:0 0 -.26em .1em;letter-spacing:0}.hero__lede{margin-top:28px;font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--on-dark-2);max-width:560px}.hero__lede em{font-style:italic;color:var(--on-dark)}.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.hero__cta .btn--cherry{--btn-shadow: var(--paper)}.hero__cta .btn:not(.btn--cherry){--btn-fg: var(--paper);--btn-bd: var(--paper);--btn-shadow: var(--cherry)}.hero__controls{position:absolute;z-index:3;right:clamp(16px,4vw,48px);bottom:52px;display:flex;flex-direction:column;align-items:flex-end;gap:14px}.hero__hint-row{display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:flex-end;gap:10px;margin-bottom:8px;max-width:min(100%,520px);margin-left:auto}.hero__hint-row .hero__note{flex:0 1 auto;margin-right:0}.hero__hint-help{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-top:4px;padding:0;border:none;border-radius:50%;background:transparent;color:#f8f7f4b8;font-family:var(--f-display);font-size:15px;font-weight:600;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease}.hero__hint-help:hover,.hero__hint-help:active{background:var(--cherry);color:#fff}.hero__hint-help[aria-pressed=true]{background:transparent;color:#f8f7f4e0}.hero__hint-help[aria-pressed=true]:hover,.hero__hint-help[aria-pressed=true]:active{background:var(--cherry);color:#fff}.hero__hint-help:focus-visible{outline:2px solid var(--cherry);outline-offset:2px;background:var(--cherry);color:#fff}.hero__note{position:relative;color:var(--cherry);font-size:22px;margin-bottom:0;transition:opacity 1.4s ease,transform 1.4s ease}.hero__note.is-gone{opacity:0;transform:translateY(6px) rotate(var(--rot));pointer-events:none}.hero__hint-wrap{position:absolute;left:-80px;top:-70px;width:54px;height:45px;pointer-events:auto;cursor:default;animation:hero-hint-bob 3.2s ease-in-out infinite}.hero__hint-wrap svg.hero__hint-ff{position:static;width:100%;height:100%;display:block;overflow:visible}.hero__hint-tip{position:absolute;left:26px;top:-18px;display:block;width:max-content;max-width:260px;padding:8px 12px 9px;border-left:3px solid var(--c);background:#f8f7f4f5;color:var(--midnight);box-shadow:0 10px 30px #00000059;transform:rotate(-1.5deg);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s;z-index:4}.hero__hint-wrap:hover .hero__hint-tip,.hero__hint-wrap:focus-visible .hero__hint-tip{opacity:1;visibility:visible}.hero__hint-tip small{display:block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#08275499}.hero__hint-tip b{display:block;font-family:var(--f-display);font-weight:400;font-size:21px;line-height:1.1;margin-top:2px}.hero__hint-ff-glow{mix-blend-mode:screen;transform-box:fill-box;transform-origin:center;animation:hero-hint-glow 2.6s ease-in-out infinite}.hero__hint-ff-wing{fill:#beecff4d;transform-box:fill-box;transform-origin:50% 100%;animation:hero-hint-flap .32s ease-in-out infinite alternate}.hero__hint-ff-wing--far{fill:#beecff29;animation-delay:-.12s}.hero__hint-ff-body{fill:#cddeff66}.hero__hint-ff-lantern{fill:#fbffd6;animation:hero-hint-lamp 2.6s ease-in-out infinite}@keyframes hero-hint-bob{0%,to{transform:translate(0) rotate(-4deg)}50%{transform:translate(-3px,-5px) rotate(3deg)}}@keyframes hero-hint-flap{0%{transform:rotate(-14deg) scaleY(1)}to{transform:rotate(16deg) scaleY(.72)}}@keyframes hero-hint-glow{0%,to{opacity:.55;transform:scale(.85)}38%{opacity:1;transform:scale(1.08)}46%{opacity:.7;transform:scale(.95)}54%{opacity:1;transform:scale(1.1)}}@keyframes hero-hint-lamp{0%,to{opacity:.6}38%,54%{opacity:1}46%{opacity:.75}}@media (prefers-reduced-motion: reduce){.hero__hint-wrap,.hero__hint-ff *{animation:none}}.hero__mode{display:flex;padding:4px;border:1px solid rgba(248,247,244,.25);border-radius:999px;background:#04142c80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.hero__mode button{padding:8px 14px 7px;border-radius:999px;white-space:nowrap;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-2);transition:background .2s,color .2s}.hero__mode button.is-on{background:var(--paper);color:var(--midnight)}.hero__mode button:not(.is-on):hover{color:var(--paper)}.hero__label{position:absolute;left:0;top:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .2s;will-change:transform}.hero__label.is-on{opacity:1}.hero__label span{position:absolute;left:26px;top:-18px;display:block;width:max-content;max-width:260px;padding:8px 12px 9px;border-left:3px solid var(--c);background:#f8f7f4f5;color:var(--midnight);box-shadow:0 10px 30px #00000059;transform:rotate(-1.5deg)}.hero__label.is-left span{left:auto;right:26px}.hero__label small{display:block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#08275499}.hero__label b{display:block;font-family:var(--f-display);font-weight:400;font-size:21px;line-height:1.1;margin-top:2px}.hero__cluster{position:absolute;left:0;top:0;z-index:1;width:150px;margin-left:-75px;text-align:center;font-family:var(--f-hand);font-weight:600;font-size:19px;line-height:1;color:var(--c);opacity:0;transition:opacity .6s .2s;pointer-events:none}.hero__cluster.is-on{opacity:.95}.hero__rings{position:absolute;left:0;top:0;pointer-events:none;opacity:0;transition:opacity .5s}.hero__rings.is-on{opacity:1;transition:opacity .4s .2s}.hero__rings mask circle{fill:none;stroke:#fff;stroke-width:8;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .5s ease-in}.hero__rings.is-on mask circle{stroke-dashoffset:0;transition:stroke-dashoffset 1.3s cubic-bezier(.55,0,.25,1) calc(.25s + var(--k) * .09s)}.hero__ring{fill:none;stroke:color-mix(in srgb,var(--c) 45%,var(--paper));stroke-opacity:.55;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:0 7.5;animation:hero-ring-march 1.8s linear infinite}@keyframes hero-ring-march{to{stroke-dashoffset:-7.5}}@media (prefers-reduced-motion: reduce){.hero__ring{animation:none}.hero__rings,.hero__rings mask circle,.hero__rings.is-on mask circle{transition:none}}.hero__scroll{position:absolute;z-index:3;left:50%;bottom:34px;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);color:var(--on-dark-2);text-decoration:none}.hero__scroll .hand{font-size:19px}.hero__scroll svg{width:18px;height:34px;animation:hero-bob 2.2s ease-in-out infinite}.hero__scroll path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}@keyframes hero-bob{50%{transform:translateY(6px)}}@media (max-width: 960px){.hero__scroll{display:none}}@media (max-width: 960px) and (orientation: portrait){.hero{justify-content:flex-start}}@media (max-width: 760px){.hero{justify-content:flex-start}.hero__inner{padding-bottom:46vh}.hero__controls{left:50%;right:auto;transform:translate(-50%);bottom:34px;align-items:center;width:max-content}.hero__hi{font-size:.44em;margin-bottom:-.2em;line-height:.94}}.about__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,110px);align-items:start}.polaroid--labeled{padding-bottom:8px}.polaroid--labeled figcaption{position:static;display:flex;align-items:baseline;justify-content:center;gap:10px;padding:10px 0 4px}.polaroid__name{font-size:40px;line-height:1;transform:rotate(-1.5deg)}.polaroid--labeled small{font-family:var(--f-hand);font-size:19px;font-weight:600;color:var(--ink-3)}.about__photo{position:relative;max-width:420px;margin-top:30px}.about__text .shead{margin-bottom:30px}.about__off-wrap{position:relative;margin-top:26px;min-width:0}.about__off{margin:0}.about__off__star{position:absolute;right:calc(100% + 18px);top:6px;width:40px;pointer-events:none}.about__off__star .doodle-star{display:block;width:40px;height:40px;overflow:visible;rotate:-12deg;color:var(--cherry);cursor:default;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18)) drop-shadow(0 4px 6px rgba(0,0,0,.16));transition:rotate .35s cubic-bezier(.3,1.6,.5,1),scale .35s cubic-bezier(.3,1.6,.5,1)}.about__off__star .doodle-star path{fill:currentColor;stroke:none}@media (hover: hover) and (prefers-reduced-motion: no-preference){.about__off-wrap:hover .about__off__star .doodle-star{rotate:-3deg;scale:1.08}}@media (max-width: 560px){.about__off__star{position:static;float:left;width:32px;margin:4px 10px 0 0}.about__off__star .doodle-star{width:32px;height:32px}}.about__now{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.about__now>div{display:flex;flex-direction:column;gap:4px;padding-top:12px;border-top:1.5px solid var(--ink)}.about__now b{font-family:var(--f-display);font-weight:400;font-size:24px;line-height:1.1}.about__now span:last-child{font-size:15px;color:var(--ink-3)}.about__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.about__links .chip{text-decoration:none}.about__links .chip:hover{border-color:var(--cherry);color:var(--cherry-ink)}.about__mail{align-self:center;font-family:var(--f-mono);font-size:13px;color:var(--ink-2)}@media (max-width: 860px){.about__grid{grid-template-columns:1fr}.about__photo{max-width:320px;margin:0 auto}.about__now{grid-template-columns:1fr}}.cv .facts{margin-bottom:clamp(40px,6vw,70px)}.cv__chart{position:relative}.cv__note{right:8%;top:-40px}.sec__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(32px,5vw,56px)}.cvt__chart{position:relative;touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none;border-radius:4px}.cvt__chart svg{overflow:visible}.cvt__grid{stroke:var(--rule);stroke-dasharray:2 4}.cvt__tick{font-family:var(--f-mono);font-size:11px;fill:var(--ink-3)}.cvt__lane{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;fill:var(--ink-2)}.cvt__base{stroke:var(--rule-2);stroke-width:1}.cvt__band{fill:#ff003512;transition:x .15s}.cvt__bar rect{opacity:.8;transition:opacity .25s}.cvt__bar.is-on rect{opacity:1}.cvt__barlabel{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.03em;fill:var(--midnight);pointer-events:none}.cvt__barlabel.is-light{fill:var(--paper)}.cvt__pub{fill:var(--yellow);opacity:.85;transition:opacity .2s,transform .2s;transform-box:fill-box;transform-origin:center}.cvt__pub--journal{fill:var(--orange)}.cvt__pub--conference{fill:var(--cherry)}.cvt__pub--thesis{fill:var(--midnight)}.cvt__pub.is-on{opacity:1;transform:scale(1.18)}.cvt__star{fill:var(--cherry);opacity:.75;transition:opacity .2s}.cvt__star.is-on{opacity:1}.cvt__ex{fill:var(--sky);opacity:.85;transition:opacity .2s}.cvt__ex.is-on{opacity:1}.cvt__cursor line{stroke:var(--cherry);stroke-width:1.6;stroke-dasharray:4 3}.cvt__cursor rect{fill:var(--cherry)}.cvt__cursor text{font-family:var(--f-mono);font-size:11.5px;fill:#fff}.cvt__legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-family:var(--f-mono);font-size:11px;color:var(--ink-2)}.cvt__legend li{display:flex;align-items:center;gap:6px}.cvt__legend i{width:10px;height:10px;border-radius:2px}.cvt__year{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,56px);margin-top:34px;padding:clamp(20px,3vw,32px);background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);border-radius:4px;position:relative}.cvt__year:before{content:"";position:absolute;left:22px;right:22px;top:-6px;height:12px;background:radial-gradient(circle,var(--paper-2) 0 3.6px,var(--rule-2) 3.6px 4.4px,transparent 4.9px) 0 0 / 22px 12px repeat-x}.cvt__yearnum{display:flex;flex-direction:column;align-items:flex-start}.cvt__yearnum .hand{font-size:24px;color:var(--cherry);line-height:1}.cvt__yearnum b{font-family:var(--f-display);font-weight:400;font-size:clamp(54px,7vw,92px);line-height:.9;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.cvt__cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,40px);min-height:150px}.cvt__cols h4{margin-bottom:10px}.cvt__roles,.cvt__pubs{list-style:none;display:grid;gap:10px}.cvt__roles li{padding-left:12px;border-left:3px solid var(--c)}.cvt__roles b{display:block;font-weight:600;font-size:16px;line-height:1.3}.cvt__roles span,.cvt__pubs small{display:block;font-size:14px;color:var(--ink-3);line-height:1.4}.cvt__pubs li{font-size:15.5px;line-height:1.35}.cvt__pubs a{text-decoration-color:var(--cherry)}.cvt__pubs a:hover{color:var(--cherry-ink)}.cvt__pubs small{font-family:var(--f-mono);font-size:11px;letter-spacing:.03em;margin-top:2px}@media (max-width: 760px){.cvt__year{grid-template-columns:1fr}.cvt__cols{grid-template-columns:1fr;min-height:0}}.research__board{position:relative}.research__board{margin-top:26px}.research__note{left:-6px;right:auto;top:-52px}.rx__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;justify-content:center}@media (max-width: 600px){.rx__chips{flex-wrap:nowrap;overflow-x:auto;justify-content:safe center;margin-inline:calc(var(--pad, 20px) * -1);padding:2px var(--pad, 20px) 8px;scrollbar-width:none}.rx__chips::-webkit-scrollbar{display:none}.rx__chips .chip{flex:none}}.rx__swarm{position:relative;margin:0 calc(-1*min(var(--pad),16px))}.rx__swarm svg{display:block;overflow:visible}.rx__grid{stroke:var(--rule);stroke-dasharray:2 5}.rx__tick{font-family:var(--f-mono);font-size:11px;fill:var(--ink-3)}.rx__node{cursor:pointer;outline:none}.rx__node>g{transition:opacity .4s,filter .4s}.rx__node.is-off>g{opacity:.14;filter:grayscale(1)}.rx__node.is-off{pointer-events:none}.rx__ring{fill:var(--paper);stroke:var(--c);stroke-width:3;transition:stroke-width .2s}.rx__tint{fill:transparent;stroke:#08275440;stroke-width:1}.rx__node:hover .rx__ring,.rx__node:focus-visible .rx__ring,.rx__node.is-focus .rx__ring{stroke-width:6}.rx__node.is-focus>g{filter:drop-shadow(0 6px 10px rgba(8,39,84,.35))}.rx__preview{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,4vw,48px);align-items:center;margin:18px 0 clamp(48px,7vw,80px);padding:clamp(16px,2.4vw,28px);background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--c);box-shadow:var(--shadow);animation:rx-in .45s var(--ease)}@keyframes rx-in{0%{opacity:.3;transform:translateY(6px)}}.rx__preview-wrap{display:flow-root}.rx__pimg{position:relative;display:block;aspect-ratio:16 / 10;background:var(--paper-3)}.rx__pimg img,.rx__pimg svg{width:100%;height:100%;object-fit:cover}.rx__pmeta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:12px}.rx__ptheme{display:inline-flex;align-items:center;gap:6px}.rx__ptheme i{width:8px;height:8px;border-radius:50%;background:var(--c)}.rx__ptext h3{font-family:var(--f-display);font-size:clamp(24px,2.6vw,34px);line-height:1.08}.rx__ptag{margin:12px 0 10px;font-size:1.05em;color:var(--ink-2)}.rx__pvenue{font-family:var(--f-mono);font-size:12.5px;line-height:1.5;color:var(--ink-3);margin-bottom:16px}.rx__pvenue b{color:var(--cherry-ink);font-weight:500}.rx__more{display:flex;justify-content:center;margin-top:40px}@media (max-width: 760px){.rx__preview{grid-template-columns:1fr}}.thesis__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(36px,6vw,90px);align-items:center}.thesis__text .shead{margin-bottom:26px}.thesis__text .facts{margin-top:30px}.thesis__award{display:inline-flex;gap:8px;align-items:center;margin:4px 0 0;padding:8px 14px;border:1px solid rgba(236,255,54,.5);border-radius:999px;font-family:var(--f-mono);font-size:12.5px;color:var(--chartreuse)}.thesis__award .doodle-star{color:var(--chartreuse)}.thesis__map{position:relative}.thesis__note{left:6%;top:-30px}@media (max-width: 960px){.thesis__grid{grid-template-columns:1fr}}.delight__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,80px);align-items:center}.delight__text b{font-weight:600;color:var(--cherry-ink)}.delight__demo{position:relative}@media (max-width: 960px){.delight__grid{grid-template-columns:1fr}.delight__demo{margin-top:30px}}.dd{position:relative;padding:clamp(16px,2.6vw,28px);background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);transition:background .8s}.dd--balloons.is-delight{background:linear-gradient(180deg,#d6f3ff,#fff6dc 85%)}.dd__switch{display:flex;align-items:center;gap:12px;justify-content:center;margin-bottom:14px;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.dd__switch .is-on{color:var(--ink)}.dd__switch span:last-child.is-on{color:var(--cherry-ink);font-family:var(--f-hand);font-size:22px;letter-spacing:0;text-transform:none;font-weight:600}.dd__knob{position:relative;display:inline-flex}.dd__hint{left:72px;top:-78px;text-transform:none;letter-spacing:0}.dd__toggle{position:relative;width:58px;height:30px;border-radius:999px;background:var(--midnight);transition:background .3s}.dd__thumb{position:absolute;left:4px;top:4px;width:22px;height:22px;border-radius:50%;background:var(--paper);transition:transform .45s var(--ease),background .3s}.is-delight .dd__toggle{background:var(--cherry)}.is-delight .dd__thumb{transform:translate(28px) rotate(360deg);background:#ffc100}.dd__smile{display:block;width:100%;height:100%;opacity:0;transform:scale(.5);transition:opacity .25s .15s,transform .4s .15s cubic-bezier(.3,1.6,.5,1)}.dd__smile circle{fill:var(--midnight)}.dd__smile path{fill:none;stroke:var(--midnight);stroke-width:1.8;stroke-linecap:round}.is-delight .dd__smile{opacity:1;transform:none}.dd__chart{display:block;width:100%;height:auto;overflow:visible}.dd__axis line{stroke:var(--rule);stroke-dasharray:2 4;transition:opacity .5s}.dd__axis text{font-family:var(--f-mono);font-size:11px;fill:var(--ink-3);transition:opacity .5s}.is-delight .dd__axis{opacity:0}.dd__ground{stroke:var(--ink);stroke-width:1.5;transition:opacity .5s}.is-delight .dd__ground{opacity:0}.dd__hills{fill:var(--yg);opacity:0;transition:opacity .8s}.is-delight .dd__hills{opacity:.55}.dd__bar{fill:var(--midnight);transform-box:fill-box;transform-origin:50% 100%;transition:transform .6s var(--ease),opacity .4s;transition-delay:calc(var(--i) * 25ms)}.is-delight .dd__bar{transform:scaleY(0);opacity:0}.dd__val{font-family:var(--f-mono);font-size:11px;fill:var(--ink-2);transition:opacity .3s}.is-delight .dd__val{opacity:0}.dd__year{font-family:var(--f-mono);font-size:10.5px;fill:var(--ink-3);transition:fill .2s}.dd__year.is-on{fill:var(--cherry-ink);font-weight:600}.dd__plot{position:relative}.dd__flowers{pointer-events:none}.is-delight .dd__flowers{pointer-events:auto}.dd__grow{transform:scale(0);opacity:0;transition:transform .9s var(--ease),opacity .4s;transition-delay:calc(var(--i) * 45ms)}.is-delight .dd__grow{transform:none;opacity:1}.dd__hit{fill:transparent}.dd__stem{fill:none;stroke:#78a815;stroke-width:2.2;stroke-linecap:round}.dd__leaf{fill:url(#dd-leaf)}.dd__head{transition:transform .45s var(--ease)}.dd__fl.is-sel .dd__head{transform:scale(1.6)}.dd__petal{cursor:pointer}.dd__petal path{stroke:#ec4a92;stroke-width:1;stroke-linejoin:round;transition:transform .25s var(--ease),stroke .2s}.dd__petal .dd__sepal{fill:#78a815;stroke:#5f8c0c;stroke-width:.8}.dd__petal.is-hot path:not(.dd__sepal){stroke:var(--midnight);stroke-width:1.3;transform:translate(2.5px)}.dd__petal--bud.is-hot path:not(.dd__sepal){transform:translateY(-2px)}.dd__core{fill:url(#dd-core);pointer-events:none}.dd__tip{position:absolute;z-index:2;display:flex;flex-direction:column;gap:1px;width:max-content;max-width:230px;margin-left:20px;padding:7px 13px 6px;border-radius:14px;background:#fff;box-shadow:0 6px 18px #0827542e;text-align:left;pointer-events:none;opacity:0;transform:translate(-6px,-50%);transition:opacity .18s,transform .22s var(--ease)}.dd__tip:before{content:"";position:absolute;top:50%;left:-6px;width:12px;height:12px;background:#fff;border-radius:0 0 0 3px;transform:translateY(-50%) rotate(45deg)}.dd__tip.is-on{opacity:1;transform:translateY(-50%)}.dd__tip.is-flip{margin-left:-20px;transform:translate(calc(-100% + 6px),-50%)}.dd__tip.is-flip.is-on{transform:translate(-100%,-50%)}.dd__tip.is-flip:before{left:auto;right:-6px}.dd__tip b{font-family:var(--f-hand);font-weight:700;font-size:21px;line-height:1.05;color:#e8459e}.dd__tip small{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;color:#7fa80f}.dd__balloon{transform:translate(var(--cx),304px) scale(0);opacity:0;transition:transform 1s var(--ease),opacity .4s;transition-delay:calc(var(--i) * 45ms)}.is-delight .dd__balloon{transform:translate(var(--cx),var(--by)) scale(1);opacity:1}.dd__bob{animation:dd-bob 3.4s ease-in-out infinite;animation-delay:calc(var(--i) * -.37s);transform-origin:0 100px}@keyframes dd-bob{0%,to{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-5px)}}.dd__string{fill:none;stroke:#0827548c;stroke-width:1.2}.dd__note{font-family:var(--f-hand);font-size:22px;font-weight:600;fill:var(--cherry);opacity:0;transition:opacity .5s .8s}.is-delight .dd__note{opacity:1}.dd__orig{position:absolute;z-index:3;top:calc(100% - 14px);right:-22px;width:118px;padding:6px 6px 4px;background:var(--photo);box-shadow:var(--shadow);cursor:zoom-in;transform-origin:100% 0;opacity:0;visibility:hidden;pointer-events:none;transform:rotate(-14deg) scale(.6);transition:opacity .25s,transform .4s var(--ease),box-shadow .3s,visibility 0s linear .4s}.is-delight .dd__orig{opacity:1;visibility:visible;pointer-events:auto;transform:rotate(5deg);transition:opacity .35s .7s,transform .55s .7s cubic-bezier(.3,1.5,.5,1),box-shadow .3s,visibility 0s .7s}.is-delight .dd__orig:hover,.is-delight .dd__orig.is-zoom{transform:rotate(2deg) scale(2.5);box-shadow:var(--shadow-lift);transition-delay:0s}.dd__orig.is-zoom{cursor:zoom-out}.dd__orig:focus-visible{outline:2px solid var(--cherry);outline-offset:3px}.dd__orig img{display:block;width:100%;height:auto;aspect-ratio:1024 / 791;object-fit:cover}.dd__orig-label{display:block;margin-top:2px;white-space:nowrap;font-family:var(--f-hand);font-weight:600;font-size:15px;line-height:1.1;color:var(--midnight);text-align:center}.dd__orig-note{display:block;font-family:var(--f-hand);font-weight:600;font-size:12px;line-height:1.1;color:var(--cherry-ink);text-align:center}.dd__orig-tape{position:absolute;left:50%;top:-8px;width:46px;height:16px;margin-left:-23px;background:#ffd54fd9;transform:rotate(-4deg)}@media (max-width: 560px){.dd__orig{top:calc(100% - 10px);right:-8px;width:88px}.dd__orig-label{font-size:13px}.is-delight .dd__orig:hover,.is-delight .dd__orig.is-zoom{transform:rotate(2deg) scale(2.6)}}.dd__cap{display:grid;margin:14px 0 0;text-align:center;font-size:15.5px;color:var(--ink-2)}.dd__cap>span{grid-area:1 / 1;align-self:center;opacity:0;transition:opacity .3s ease}.dd__cap>span.is-shown{opacity:1}@media (prefers-reduced-motion: reduce){.dd__bob{animation:none}.dd__grow,.dd__head{transition:opacity .4s}}.gallery .shead{margin-bottom:20px}.gallery__quote{max-width:760px;margin-bottom:clamp(30px,5vw,56px);font-family:var(--f-display);font-style:italic;font-size:clamp(20px,2.1vw,27px);line-height:1.4;color:var(--ink-2)}.gallery__quote p{margin:0}.gallery__hint{text-align:center;margin-top:14px;font-size:22px;color:var(--cherry)}.art{padding-bottom:clamp(70px,10vw,120px)}.doodles-teaser__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,6vw,90px);align-items:center}.doodles-teaser__quote{margin:26px 0 0;padding-left:20px;border-left:3px solid var(--cherry);font-family:var(--f-hand);font-weight:600;font-size:clamp(23px,2.3vw,29px);line-height:1.2;color:var(--midnight)}.doodles-teaser__quote cite{display:block;margin-top:10px;font-family:var(--f-mono);font-weight:400;font-style:normal;font-size:12px;letter-spacing:.05em}.doodles-teaser__quote cite a{color:var(--ink-3)}.doodles-teaser__pile{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.5vw,30px)}.doodles-teaser__card{position:relative;display:block;padding:10px 10px 44px;background:var(--photo);box-shadow:var(--shadow);text-decoration:none;color:var(--midnight)}.doodles-teaser__card img{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:top}.doodles-teaser__card .hand{position:absolute;left:12px;right:12px;bottom:10px;font-size:21px;line-height:1;text-align:center}.doodles-teaser__card--0{rotate:-4deg}.doodles-teaser__card--1{rotate:3deg;translate:0 30px}.doodles-teaser__card--2{rotate:2deg;translate:0 -10px}.doodles-teaser__card--3{rotate:-2.5deg;translate:0 20px}.doodles-teaser__card{transition:transform .9s var(--ease),rotate .5s var(--ease),scale .5s var(--ease),box-shadow .5s var(--ease),opacity .9s var(--ease)}.doodles-teaser__card:hover{rotate:0deg;scale:1.04;box-shadow:var(--shadow-lift);z-index:2}@media (max-width: 860px){.doodles-teaser__grid{grid-template-columns:1fr}}.car{position:relative}.car__track{--h: clamp(260px, 56vh, 560px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 50%;scrollbar-width:none;cursor:grab;outline-offset:-4px}.car__reel{position:relative;display:flex;align-items:flex-end;gap:clamp(18px,3vw,44px);width:max-content;padding:26px max(var(--pad),calc(50vw - 40vh)) 18px}.car__track::-webkit-scrollbar{display:none}.car__track.is-dragging{cursor:grabbing;scroll-snap-type:none}.car__track.is-dragging .car__frame{pointer-events:none}.car__item{flex:none;scroll-snap-align:center;display:flex;flex-direction:column;transition:transform .6s var(--ease),opacity .6s var(--ease);opacity:.55;transform:scale(.94)}.car__item.is-current{opacity:1;transform:none}.car__frame{display:block;position:relative;width:min(86vw,calc(var(--h) * var(--arn)));aspect-ratio:var(--ar);cursor:zoom-in}.car__frame img{width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.car__item figcaption{margin-top:14px;max-width:min(86vw,calc(var(--h) * 1.6))}.car__item figcaption b{display:block;font-family:var(--f-hand);font-weight:600;font-size:25px;line-height:1.05}.car__item figcaption span{display:block;margin-top:3px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.car--film{--m: 34px;--strip: 13px;--pitch: 22px;--cap: 78px;--base: #17100b;--edge-ink: #f2a03d;--hole-t: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 34' preserveAspectRatio='none'><path fill-rule='evenodd' d='M0 0h22v34H0z M8.5 13h5a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2V15a2 2 0 0 1 2-2z'/></svg>");--hole-b: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 34' preserveAspectRatio='none'><path fill-rule='evenodd' d='M0 0h22v34H0z M8.5 7h5a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2z'/></svg>")}.car--film .car__track{--h: min(clamp(260px, 56vh, 560px), 57vw)}.car--film .car__reel{gap:12px;align-items:flex-start;padding-top:0;padding-bottom:0;isolation:isolate;-webkit-mask:var(--hole-t) 0 0 / var(--pitch) var(--m) repeat-x,var(--hole-b) 0 calc(100% - var(--cap)) / var(--pitch) var(--m) repeat-x,linear-gradient(#000 0 0) 0 calc(var(--m) - 1px) / 100% calc(100% - 2 * var(--m) - var(--cap) + 2px) no-repeat,linear-gradient(#000 0 0) 0 100% / 100% calc(var(--cap) + 1px) no-repeat;mask:var(--hole-t) 0 0 / var(--pitch) var(--m) repeat-x,var(--hole-b) 0 calc(100% - var(--cap)) / var(--pitch) var(--m) repeat-x,linear-gradient(#000 0 0) 0 calc(var(--m) - 1px) / 100% calc(100% - 2 * var(--m) - var(--cap) + 2px) no-repeat,linear-gradient(#000 0 0) 0 100% / 100% calc(var(--cap) + 1px) no-repeat}.car--film .car__reel:before{content:"";position:absolute;inset:0 0 var(--cap);z-index:-1;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 .9 0 0 0 0 .78 .16 0 0 0 0'/></filter><rect width='180' height='180' filter='url(%23g)'/></svg>") 0 0 / 180px 180px,linear-gradient(90deg,transparent 31%,rgba(255,236,210,.07) 31% calc(31% + 1px),transparent calc(31% + 1px) 77%,rgba(255,236,210,.045) 77% calc(77% + 1px),transparent calc(77% + 1px)) 0 0 / 1130px 100%,linear-gradient(180deg,#22170f,var(--base) 16% 84%,#22170f)}.car--film .car__item{position:relative;padding-top:var(--m);opacity:1;transform:none}.car--film .car__frame{width:min(86vw,calc(var(--h) * var(--arn)));height:var(--h);background:#060403;border-radius:2px;overflow:hidden}.car--film .car__frame img{object-fit:contain;opacity:.45;filter:saturate(.6);transition:opacity .6s var(--ease),filter .6s var(--ease)}.car--film .car__item.is-current .car__frame img{opacity:1;filter:none}.car--film .car__frame:focus-visible{outline-offset:-4px}.car--film .car__item figcaption{height:var(--cap);margin-top:var(--m);padding-top:12px;max-width:min(86vw,calc(var(--h) * var(--arn)));opacity:.45;transition:opacity .6s var(--ease)}.car--film .car__item.is-current figcaption{opacity:1}.car__edge{position:absolute;left:0;right:0;top:0;height:calc(2 * var(--m) + var(--h));pointer-events:none;font-family:var(--f-mono);font-weight:500;font-size:10.5px;line-height:1;letter-spacing:.16em;color:var(--edge-ink);text-shadow:0 0 3px rgba(242,160,61,.35);white-space:nowrap}.car__edge-top,.car__edge-btm{position:absolute;left:0;right:0;height:var(--strip);opacity:.92}.car__edge-top{top:0}.car__edge-btm{bottom:0}.car__edge span span{position:absolute;top:50%;transform:translateY(-40%)}.car__edge-top span,.car__edge-btm span:first-child{left:6%}.car__edge-btm span:last-child{left:54%}.car__dx{position:absolute;right:7%;top:50%;width:44px;height:5px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 3px,currentColor 3px 4px,transparent 4px 6px,currentColor 6px 9px,transparent 9px 11px);opacity:.6}.car--wall .car__track{--h: clamp(220px, 46vh, 480px)}.car--wall .car__reel{padding-top:30px;padding-bottom:10px;align-items:center}.car--wall .car__frame{box-shadow:0 1px 2px #0827541a,0 14px 28px -18px #08275459;transform:rotate(var(--tilt));transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.car--wall .car__frame img{object-fit:contain}.car--wall .car__frame:focus-visible{outline:2px solid var(--cherry);outline-offset:6px;border-radius:0}.car--wall .car__item:hover .car__frame{transform:rotate(0);box-shadow:0 1px 2px #0827541a,0 20px 34px -18px #08275466}.car--wall .car__item figcaption{align-self:center;text-align:center;margin-top:22px}.car--wall .car__item{opacity:.8}.car--wall .car__item.is-current{opacity:1}.car__bar{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:20px;padding:0 var(--pad)}.car__btn{display:grid;place-items:center;width:44px;height:44px;border:1.5px solid var(--ink);border-radius:50%;transition:background .2s,color .2s,opacity .2s,transform .2s var(--ease)}.car__btn:hover:not(:disabled){background:var(--cherry);border-color:var(--cherry);color:#fff;transform:rotate(-6deg)}.car__btn:disabled{opacity:.25;cursor:default}.car__btn svg{width:20px;height:20px}.car__btn svg path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.car__thumbs{position:relative;display:flex;gap:8px;min-width:0;max-width:100%;padding:6px 4px 12px;overflow-x:auto;scrollbar-width:none}.car__thumbs::-webkit-scrollbar{display:none}.car__thumb:first-child{margin-left:auto}.car__thumb:last-child{margin-right:auto}.car__thumb{position:relative;flex:none;width:52px;height:36px;padding:0;border-radius:2px;background:var(--photo);box-shadow:0 0 0 1px var(--rule-2),0 2px 4px #0827541f;transition:transform .2s var(--ease),box-shadow .2s}.car__thumb img{position:relative;display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;opacity:.6;filter:grayscale(.5);transition:opacity .2s,filter .2s}.car__thumb:hover{transform:translateY(-2px)}.car__thumb:hover img,.car__thumb[aria-current] img{opacity:1;filter:none}.car__thumb[aria-current]{transform:translateY(-2px);box-shadow:0 0 0 2px var(--cherry),0 4px 8px #0827542e}.car__thumb[aria-current]:after{content:"";position:absolute;left:28%;right:28%;bottom:-8px;height:2px;border-radius:1px;background:var(--cherry)}.car--wall .car__thumb{padding:3px}.car--film .car__thumb{width:54px;height:42px;padding:8px 0;background:none;box-shadow:0 0 0 1px #17100b66}.car--film .car__thumb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--base);-webkit-mask:var(--hole-t) 0 0 / 7px 8px repeat-x,var(--hole-b) 0 100% / 7px 8px repeat-x,linear-gradient(#000 0 0) 0 7px / 100% calc(100% - 14px) no-repeat;mask:var(--hole-t) 0 0 / 7px 8px repeat-x,var(--hole-b) 0 100% / 7px 8px repeat-x,linear-gradient(#000 0 0) 0 7px / 100% calc(100% - 14px) no-repeat}.car--film .car__thumb img{border-radius:1px;width:calc(100% - 4px);margin:0 2px}.car--film .car__thumb[aria-current]{box-shadow:0 0 0 2px var(--cherry),0 4px 8px #0827542e}.car__count{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;color:var(--ink-3);min-width:62px;text-align:center}@media (max-width: 700px){.car__track{--h: min(62vw, 420px)}.car__reel{padding-left:7vw;padding-right:7vw}.car--wall .car__track{--h: min(56vw, 380px)}.car--film{--m: 26px;--strip: 10px;--pitch: 17px;--cap: 66px}.car--film .car__track{--h: min(57vw, 420px)}.car__edge{font-size:7.5px;letter-spacing:.12em}.car__dx{width:32px;height:4px}.car__bar{flex-wrap:wrap;gap:4px 14px}.car__thumbs{order:-1;flex:1 0 100%;gap:5px}.car__thumb{width:42px;height:30px}.car--film .car__thumb{width:44px;height:36px}}@media (prefers-reduced-motion: reduce){.car__item,.car--wall .car__frame,.car--film .car__frame img,.car--film .car__item figcaption,.car__thumb,.car__thumb img{transition:none}}
