*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}:root{--black:#080808;--white:#f2f0eb;--dim:#f2f0eb59;--faint:#f2f0eb14;--serif:"Sentient", Georgia, serif}body{background:var(--black);color:var(--white);font-family:var(--serif);cursor:none;font-weight:300;line-height:1;overflow-x:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes riseIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes slowRotate{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes expandLine{0%{width:0}to{width:48px}}@media (max-width:768px){body{cursor:auto}}
#cursor{background:var(--white);pointer-events:none;z-index:99999;mix-blend-mode:difference;opacity:0;border-radius:50%;width:14px;height:14px;transition:width .25s cubic-bezier(.16,1,.3,1),height .25s cubic-bezier(.16,1,.3,1),opacity .1s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}#cursor.big{width:80px;height:80px}#grain{pointer-events:none;z-index:9998;opacity:.45;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23g)' opacity='0.08'/%3E%3C/svg%3E");position:fixed;inset:0}header{z-index:10000;pointer-events:none;mix-blend-mode:difference;grid-template-columns:1fr auto 1fr;align-items:center;padding:28px 56px;display:grid;position:fixed;top:0;left:0;right:0}.header-blog{font-family:var(--serif);letter-spacing:.22em;text-transform:uppercase;color:var(--white);white-space:nowrap;pointer-events:all;cursor:none;justify-self:start;font-size:11px;font-weight:700;text-decoration:none}.header-blog:hover,.header-blog[aria-current=page]{color:var(--white)}.header-sound{pointer-events:all;width:44px;height:44px;color:var(--white);cursor:none;background:0 0;border:none;justify-content:center;justify-self:end;align-items:center;margin:-8px;padding:0;display:inline-flex}.header-sound__icon{width:20px;height:20px;display:block}.header-logo{pointer-events:all;justify-content:center;justify-self:center;align-items:center;display:flex}.header-logo a{cursor:none;justify-content:center;align-items:center;text-decoration:none;display:flex}.header-logo__mark{aspect-ratio:1639/2048;background:var(--white);width:auto;height:80px;display:block;-webkit-mask-image:url(/assets/logo/logo-white.svg);mask-image:url(/assets/logo/logo-white.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}#island{z-index:9990;-webkit-backdrop-filter:blur(24px)saturate(180%);background:#121212b8;border:1px solid #f2f0eb1f;border-radius:60px;align-items:center;gap:8px;min-width:160px;max-width:90vw;padding:10px 20px;transition:all .45s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 8px 40px #00000080,inset 0 1px #ffffff12}#island:hover{background:#161616d9;border-color:#f2f0eb38;padding:12px 28px;box-shadow:0 12px 60px #0009,inset 0 1px #ffffff1a}.island-pill{align-items:center;gap:20px;display:flex}.island-item{color:var(--white);cursor:none;flex-direction:column;align-items:center;gap:5px;padding:2px 8px;text-decoration:none;display:flex}.island-dot{background:#f2f0eb14;border:1px solid #f2f0eb26;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;transition:all .3s;display:flex}.island-dot img{object-fit:contain;pointer-events:none;width:18px;height:18px;display:block}.island-label{letter-spacing:.18em;text-transform:uppercase;color:#f2f0eb73;font-size:9px;transition:color .3s}.island-item.active .island-dot{background:#fff;border-color:#ffffffe6}.island-item.active .island-label{color:#fff}.island-item.is-disabled{opacity:.35;cursor:default}.island-item.is-disabled .island-dot{background:0 0;border-style:dashed}.island-divider{display:none}.doc-nav-island{z-index:9985;opacity:0;pointer-events:none;flex-flow:row;justify-content:center;align-items:stretch;gap:10px;max-width:calc(100vw - 32px);transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:128px;left:50%;transform:translate(-50%)translateY(10px)}.doc-nav-island.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.doc-nav-pill{box-sizing:border-box;-webkit-backdrop-filter:blur(24px)saturate(180%);min-width:168px;height:42px;min-height:42px;color:var(--white);font-family:var(--serif);letter-spacing:.1em;text-transform:none;white-space:nowrap;cursor:none;background:#121212b8;border:1px solid #f2f0eb1f;border-radius:999px;flex:1 1 0;justify-content:center;align-items:center;gap:8px;margin:0;padding:10px 18px;font-size:11px;font-style:normal;font-weight:400;line-height:1;text-decoration:none;transition:background .3s,border-color .3s,box-shadow .3s;display:inline-flex;box-shadow:0 8px 32px #00000073,inset 0 1px #ffffff12}button.doc-nav-pill{appearance:none;font-family:var(--serif);letter-spacing:.1em;color:var(--white);font-size:11px;font-style:normal;font-weight:400;line-height:1}.doc-nav-pill:hover{background:#161616e6;border-color:#f2f0eb47;box-shadow:0 12px 40px #0000008c,inset 0 1px #ffffff1a}.doc-nav-arrow{object-fit:contain;pointer-events:none;transform-origin:50%;flex-shrink:0;width:14px;height:14px;display:block}.doc-nav-arrow.is-up{transform:none}.doc-nav-arrow.is-back{transform:rotate(-90deg)}@media (prefers-reduced-motion:reduce){.doc-nav-island{transition:opacity .2s}}footer{border-top:1px solid var(--faint);letter-spacing:.15em;text-transform:uppercase;color:var(--dim);justify-content:space-between;align-items:center;gap:24px;padding:28px 56px;font-size:10px;display:flex}.footer-social{align-items:center;gap:6px;display:flex}.footer-social-link{opacity:.45;cursor:none;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .3s,border-color .3s,background .3s;display:inline-flex}.footer-social-link img{object-fit:contain;width:14px;height:14px;display:block}.footer-social-link .icon-on-light{display:none}.footer-social-link:hover,.footer-social-link:focus-visible{opacity:1;background:#f2f0eb0f;border-color:#f2f0eb4d}.footer-social-link:focus-visible{outline:none}@media (max-width:768px){header{padding:20px 24px}.header-logo__mark{height:68px}.header-blog{letter-spacing:.18em;cursor:pointer;font-size:13px}.header-sound{cursor:pointer;width:44px;height:44px;margin:-6px}footer{flex-direction:column;align-items:flex-start;gap:8px;padding:24px}.footer-social{margin-top:8px;margin-left:-9px}#cursor{display:none}.header-logo a,.header-blog,.header-sound,.island-item,.footer-social-link{cursor:pointer}.island-item.is-disabled{cursor:default}#island{border-radius:40px;width:auto;min-width:0;max-width:calc(100vw - 20px);padding:clamp(6px,1.8vw,10px) clamp(8px,2.4vw,14px);bottom:20px;left:10px;right:10px;overflow:hidden;transform:none}.doc-nav-island{flex-flow:row;gap:8px;max-width:calc(100vw - 24px);bottom:112px}.doc-nav-pill{letter-spacing:.06em;flex:1 1 0;min-width:0;height:38px;min-height:38px;padding:8px 14px;font-size:10px}button.doc-nav-pill{letter-spacing:.06em;font-size:10px}.doc-nav-arrow{width:12px;height:12px}#island:hover{padding:clamp(6px,1.8vw,10px) clamp(8px,2.4vw,14px)}.island-pill{justify-content:space-between;gap:clamp(2px,1vw,10px);width:100%}.island-item{flex:1 1 0;min-width:0;padding:1px clamp(1px,.5vw,4px)}.island-dot{width:clamp(40px,8.53vw,50.67px);height:clamp(40px,8.53vw,50.67px)}.island-dot img{width:clamp(22.67px,5.07vw,28px);height:clamp(22.67px,5.07vw,28px)}.island-label{letter-spacing:clamp(.03em,.08vw,.1em);white-space:nowrap;font-size:clamp(8.67px,2.6vw,11.67px)}}@media (max-width:480px){header{padding:16px 20px}.header-logo__mark{height:60px}.header-blog{font-size:12px}.header-sound{width:44px;height:44px}.header-sound__icon{width:18px;height:18px}#island{max-width:calc(100vw - 12px);padding:6px 8px;left:6px;right:6px}.doc-nav-island{flex-flow:row;justify-content:center;bottom:102px}.doc-nav-pill{flex:1 1 0;min-width:0;padding:8px 10px}#island:hover{padding:6px 8px}.island-pill{gap:2px}.island-item{padding:1px}.island-dot{width:40px;height:40px}.island-dot img{width:22.67px;height:22.67px}.island-label{letter-spacing:.03em;font-size:8.67px}}
.btn-outline{font-family:var(--serif);letter-spacing:.2em;text-transform:uppercase;color:var(--white);cursor:none;border:1px solid #f2f0eb4d;padding:14px 28px;font-size:11px;text-decoration:none;transition:background .3s,border-color .3s,color .3s;display:inline-block}.btn-outline:hover{background:var(--white);color:var(--black);border-color:var(--white)}.btn-ghost{font-family:var(--serif);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);cursor:none;align-items:center;gap:8px;font-size:11px;text-decoration:none;transition:color .3s;display:inline-flex}.btn-ghost:hover{color:var(--white)}.site-icon{vertical-align:-.12em;background:currentColor;flex-shrink:0;width:1em;height:1em;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.site-icon--tilted-arrow{-webkit-mask-image:url(/assets/icons/buttons/tilted-arrow.svg);mask-image:url(/assets/icons/buttons/tilted-arrow.svg)}.site-icon--collab-spark{-webkit-mask-image:url(/assets/icons/buttons/collab-spark.svg);mask-image:url(/assets/icons/buttons/collab-spark.svg)}section.block{border-bottom:1px solid var(--faint);padding:120px 56px;position:relative}.sec-label{letter-spacing:.25em;text-transform:uppercase;color:#f2f0eb40;align-items:center;gap:20px;margin-bottom:80px;font-size:10px;display:flex}.sec-label:after{content:"";background:var(--faint);flex:1;height:1px}.status-badge{white-space:nowrap;color:#080808;min-height:28px;font-family:var(--serif);letter-spacing:.04em;background:#8fbf4a;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:6px 16px;font-size:11px;font-weight:600;line-height:1;animation:2.2s ease-in-out infinite status-pulse;display:inline-flex;position:relative}.status-badge:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #8fbf4ab3;animation:2.2s ease-in-out infinite status-ring;position:absolute;inset:-3px}.status-badge.is-complete{color:#080808;background:#c8c2b4;animation:none}.status-badge.is-complete:after{display:none}@keyframes status-pulse{0%,to{box-shadow:0 0 #8fbf4a73}50%{box-shadow:0 0 0 10px #8fbf4a00}}@keyframes status-ring{0%,to{opacity:.85;transform:scale(1)}50%{opacity:.25;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.status-badge,.status-badge:after{animation:none}}@media (max-width:768px){.status-badge{padding:6px 12px;font-size:10px}.status-badge:after{display:none}}.tag{letter-spacing:.08em;border:1px solid var(--faint);color:var(--dim);opacity:0;cursor:none;padding:8px 18px;font-size:12px;transition:opacity .5s,transform .5s,border-color .3s,color .3s,background .3s;transform:translateY(8px)}.tag.visible{opacity:1;transform:none}.tag:hover{border-color:var(--white);color:var(--black);background:var(--white)}.marquee-band{border-bottom:1px solid var(--faint);padding:16px 0;overflow:hidden}.marquee-track{white-space:nowrap;animation:28s linear infinite ticker;display:flex}.marquee-track:hover{animation-play-state:paused}.marquee-item{letter-spacing:.22em;text-transform:uppercase;color:var(--dim);flex-shrink:0;padding:0 40px;font-size:10px}.marquee-dot{color:#f2f0eb2e;margin:0 10px}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.reveal.visible{opacity:1;transform:none}.under-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:120px 56px;display:flex;position:relative;overflow:hidden}.uc-canvas{pointer-events:none;position:absolute;inset:0}.uc-ring-outer{border:1px solid #f2f0eb0a;border-radius:50%;animation:90s linear infinite slowRotate;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.uc-ring-inner{border:1px solid #f2f0eb06;border-radius:50%;animation:60s linear infinite reverse slowRotate;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.uc-label{letter-spacing:.3em;text-transform:uppercase;color:#f2f0eb40;z-index:2;margin-bottom:40px;font-size:10px;position:relative}.uc-title{font-family:var(--serif);letter-spacing:-.04em;z-index:2;margin-bottom:40px;font-size:clamp(48px,8vw,110px);font-weight:900;line-height:.9;position:relative}.uc-title em{color:var(--dim);font-style:italic;font-weight:400}.uc-quote{font-family:var(--serif);color:var(--dim);z-index:2;max-width:520px;font-size:clamp(15px,1.8vw,21px);font-style:italic;line-height:1.7;position:relative}.uc-divider{z-index:2;background:#f2f0eb33;width:40px;height:1px;margin:32px auto;position:relative}.uc-particles{pointer-events:none;z-index:1;position:absolute;inset:0}@media (max-width:768px){section.block,.under-page{padding:80px 24px}.btn-outline,.btn-ghost,.tag{cursor:pointer}}
#hero{border-bottom:1px solid var(--faint);flex-direction:column;justify-content:flex-end;min-height:100vh;padding:0 56px 80px;display:flex;position:relative;overflow:hidden}#hero-canvas{pointer-events:none;position:absolute;inset:0}.hero-glyph-wrap{pointer-events:none;-webkit-user-select:none;user-select:none;text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-58%)}.hero-glyph{font-family:var(--serif);color:#f2f0eb07;letter-spacing:-.06em;font-size:clamp(160px,26vw,360px);font-weight:800;line-height:1;animation:80s linear infinite slowRotate;display:block}.hero-ring{border:1px solid #f2f0eb0b;border-radius:50%;width:clamp(200px,30vw,400px);height:clamp(200px,30vw,400px);animation:140s linear infinite reverse slowRotate;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-ring:before{content:"";border:1px solid #f2f0eb06;border-radius:50%;width:76%;height:76%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--dim);opacity:0;margin-bottom:20px;font-size:10px;animation:1s cubic-bezier(.16,1,.3,1) .4s forwards riseIn}.hero-headline{font-family:var(--serif);letter-spacing:-.04em;opacity:0;font-size:clamp(64px,10vw,148px);font-weight:800;line-height:.88;animation:1.1s cubic-bezier(.16,1,.3,1) .55s forwards riseIn}.hero-headline em{color:var(--dim);font-style:italic;font-weight:400}.hero-foot{opacity:0;justify-content:space-between;align-items:flex-end;margin-top:52px;animation:1s cubic-bezier(.16,1,.3,1) 1s forwards riseIn;display:flex}.hero-tagline{font-family:var(--serif);color:var(--dim);max-width:440px;font-size:clamp(14px,1.6vw,20px);font-style:italic;line-height:1.65}.hero-cta-group{align-items:center;gap:16px;display:flex}#about-section .about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:80px;display:grid}.about-main{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(26px,3.5vw,44px);font-weight:700;line-height:1.2}.about-main em{color:var(--dim);font-style:italic;font-weight:400}.about-side{border-top:1px solid var(--faint);padding-top:6px}.about-side p{color:var(--dim);margin-bottom:20px;font-size:14px;line-height:1.9}#philosophy{background:var(--white);color:var(--black)}#philosophy .sec-label{color:#0808084d}#philosophy .sec-label:after{background:#0808081a}.phil-title{font-family:var(--serif);letter-spacing:-.04em;margin-bottom:80px;font-size:clamp(44px,7vw,96px);font-weight:900;line-height:.92}.phil-title em{color:#0808084d;font-style:italic;font-weight:400}.phil-carousel{outline:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(12px,3vw,40px);max-width:720px;margin:0 auto 80px;display:grid}.phil-carousel-panel{text-align:center;touch-action:pan-y;border-top:1px solid #0808081f;flex-direction:column;align-items:center;min-width:0;padding-top:64px;display:flex}.phil-carousel-visual{aspect-ratio:1;width:min(300px,72vw)}.phil-carousel-visual-skeleton{background:radial-gradient(circle at 38% 32%,#0808080f 0%,#08080805 42%,#0000 72%);border-radius:50%;width:100%;height:100%}.phil-carousel-copy{animation:.45s cubic-bezier(.16,1,.3,1) philSlideIn}.phil-carousel-word{font-family:var(--serif);letter-spacing:-.03em;margin:clamp(28px,4vw,40px) 0 10px;font-size:clamp(32px,5vw,48px);font-weight:900;line-height:1}.phil-carousel-label{font-family:var(--serif);color:#0808086b;margin-bottom:18px;font-size:clamp(13px,1.8vw,15px)}.phil-carousel-desc{color:#0808088c;max-width:420px;margin:0 auto;font-size:13px;line-height:1.85}.phil-carousel-nav{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:opacity .25s;display:flex}.phil-carousel-nav:hover{opacity:.55}.phil-carousel-nav-spacer{flex-shrink:0;width:48px}.phil-carousel-chevron{width:clamp(22px,3vw,32px);height:clamp(22px,3vw,32px);display:block}.phil-carousel-chevron--next{transform:rotate(180deg)}.phil-carousel-swipe-hint{letter-spacing:.18em;text-transform:uppercase;color:#08080847;margin:20px 0 0;font-size:10px;display:none}@keyframes philSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.phil-closing{font-family:var(--serif);text-align:center;color:#0808088c;border-top:1px solid #0808081f;max-width:720px;margin:0 auto;padding-top:48px;font-size:clamp(17px,2vw,24px);font-weight:700;line-height:1.6}@media (min-width:769px){.phil-carousel{grid-template-columns:minmax(0,1fr) min(720px,52vw) minmax(0,1fr);align-items:stretch;gap:0;width:calc(100% + 112px);max-width:none;margin-left:-56px;margin-right:-56px}.phil-carousel-nav{align-self:stretch;width:100%;height:auto;min-height:100%}.phil-carousel-nav-spacer{width:100%}}.skills-pillars{border-top:1px solid var(--faint);flex-direction:column;gap:28px;width:100%;padding-top:28px;display:flex}.skill-pillar{grid-template-columns:120px 1fr;align-items:start;gap:12px 20px;display:grid}.skill-pillar-label{letter-spacing:.2em;text-transform:uppercase;color:var(--dim);padding-top:10px;font-size:10px}.skill-tags,.skill-marks{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.skill-marks{gap:10px 8px}.skill-mark{cursor:default;opacity:0;background:0 0;border:none;outline:none;flex-direction:column;justify-content:flex-start;align-items:center;gap:5px;width:64px;min-width:64px;min-height:52px;padding:0;transition:opacity .5s,transform .5s;display:flex;position:relative;transform:translateY(8px)}.skill-mark.visible{opacity:1;transform:none}.skill-mark__icon{box-sizing:border-box;border:1px solid var(--faint);background:#f2f0eb0a;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:border-color .25s,background .25s;display:inline-flex}.skill-mark__icon img{object-fit:contain;object-position:center;width:18px;height:18px;display:block}.skill-mark__name{letter-spacing:.08em;text-transform:uppercase;text-align:center;width:100%;max-width:64px;color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:8px;line-height:1.25;transition:color .2s;display:block;overflow:hidden}.skill-mark:hover .skill-mark__icon,.skill-mark:focus .skill-mark__icon,.skill-mark:focus-within .skill-mark__icon{background:#f2f0eb14;border-color:#f2f0eb59}.skill-mark:hover .skill-mark__name,.skill-mark:focus .skill-mark__name,.skill-mark:focus-within .skill-mark__name{color:var(--white)}#work{overflow:visible}.exp-roadmap{position:relative}.exp-roadmap .sec-label{margin-bottom:48px}.exp-roadmap-desktop{width:100%;min-height:min(78vw,720px);margin-top:8px;position:relative}.exp-roadmap-svg{z-index:1;width:100%;height:auto;display:block;position:relative}.exp-roadmap-path{fill:none}.exp-roadmap-path--glow{stroke:#f2f0eb0f;stroke-width:10px}.exp-roadmap-path--line{stroke:#f2f0eb38;stroke-width:1.25px;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.6s cubic-bezier(.16,1,.3,1) .15s}.exp-roadmap.visible .exp-roadmap-path--line{stroke-dashoffset:0}.exp-roadmap-nodes{pointer-events:none;z-index:2;margin:0;padding:0;list-style:none;position:absolute;inset:0}.exp-roadmap-node{text-align:center;pointer-events:auto;z-index:1;flex-direction:column;align-items:center;width:min(200px,18vw);display:flex;position:absolute;transform:translate(-50%)}.exp-roadmap-node.is-open{z-index:5}.exp-roadmap-hit{appearance:none;color:inherit;font:inherit;cursor:none;text-align:center;background:0 0;border:none;flex-direction:column;align-items:center;gap:0;width:100%;padding:0 4px 10px;transition:opacity .35s;display:flex}.exp-roadmap-nodes:has(.exp-roadmap-node.is-open) .exp-roadmap-node:not(.is-open) .exp-roadmap-hit{opacity:.42}.exp-roadmap-copy{flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:14px;display:flex}.exp-roadmap-role{font-family:var(--serif);letter-spacing:-.02em;color:var(--white);font-size:clamp(12px,1.15vw,15px);font-weight:700;line-height:1.25;transition:color .35s}.exp-roadmap-meta{flex-direction:column;align-items:center;gap:5px;display:flex}.exp-roadmap-org{font-family:var(--serif);color:var(--dim);font-size:clamp(10px,.95vw,12px);font-style:italic;font-weight:300;line-height:1.35}.exp-roadmap-dates{letter-spacing:.16em;text-transform:uppercase;color:#f2f0eb38;font-size:9px;line-height:1.3}.exp-road-marker{flex-shrink:0;transition:transform .4s cubic-bezier(.16,1,.3,1),background .35s,border-color .35s,box-shadow .35s;position:relative;transform:translateY(-50%)}.exp-road-marker--dot{background:var(--black);width:11px;height:11px;box-shadow:0 0 0 5px var(--black);border:1px solid #f2f0eb73;border-radius:50%}.exp-road-marker--dot:after{content:"";opacity:0;border:1px solid #f2f0eb14;border-radius:50%;transition:opacity .35s,transform .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:-5px;transform:scale(.85)}.exp-road-marker--break{background:var(--black);width:11px;height:11px;box-shadow:0 0 0 5px var(--black);border:1px solid #f2f0eb73;border-radius:0}.exp-roadmap-node.is-open .exp-road-marker--dot,.exp-roadmap-hit:focus-visible .exp-road-marker--dot{background:var(--white);border-color:var(--white);transform:translateY(-50%)scale(1.15)}.exp-roadmap-node.is-open .exp-road-marker--dot:after,.exp-roadmap-hit:focus-visible .exp-road-marker--dot:after{opacity:1;transform:scale(1)}.exp-roadmap-node.is-open .exp-road-marker--break,.exp-roadmap-hit:focus-visible .exp-road-marker--break{background:var(--white);border-color:var(--white);transform:translateY(-50%)scale(1.15)}.exp-roadmap-popup{opacity:0;visibility:hidden;pointer-events:none;z-index:6;width:min(280px,72vw);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1),visibility .4s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(10px)}.exp-roadmap-node.is-open .exp-roadmap-popup{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.exp-roadmap-node[data-align=start] .exp-roadmap-popup{left:0;transform:translate(0)translateY(10px)}.exp-roadmap-node[data-align=start].is-open .exp-roadmap-popup{transform:translate(0)translateY(0)}.exp-roadmap-node[data-align=end] .exp-roadmap-popup{left:auto;right:0;transform:translate(0)translateY(10px)}.exp-roadmap-node[data-align=end].is-open .exp-roadmap-popup{transform:translate(0)translateY(0)}.exp-road-card{background:var(--black);color:var(--white);border:1px solid var(--faint);text-align:left;border-radius:0;padding:18px 18px 16px;position:relative;overflow:hidden;box-shadow:0 18px 40px #00000073}.exp-road-card:before{content:"";pointer-events:none;background:linear-gradient(#f2f0eb09,#0000 42%);position:absolute;inset:0}.exp-road-card__role{font-family:var(--serif);letter-spacing:-.02em;color:var(--white);margin-bottom:6px;font-size:15px;font-weight:700;line-height:1.25;position:relative}.exp-road-card__org{font-family:var(--serif);color:var(--dim);margin-bottom:14px;font-size:12px;font-style:italic;font-weight:300;line-height:1.45;position:relative}.exp-road-card__dates{white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;color:#f2f0eb47;font-size:10px;font-style:normal}.exp-road-card__summary{font-family:var(--serif);color:#f2f0ebb8;font-size:13px;font-weight:300;line-height:1.75;position:relative}.exp-road-card__skills{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex;position:relative}.exp-road-card__skills li{letter-spacing:.1em;text-transform:uppercase;color:var(--dim);border:1px solid var(--faint);padding:6px 10px;font-size:10px;line-height:1}.exp-roadmap-mobile{margin:0;padding:0;list-style:none;display:none;position:relative}.exp-roadmap-mobile:before{content:"";background:linear-gradient(#f2f0eb47,#f2f0eb14 55%,#f2f0eb33);width:1px;position:absolute;top:8px;bottom:8px;left:10px}.exp-roadmap-mobile-item{border-bottom:1px solid #0000;padding:0 0 28px 40px;position:relative}.exp-roadmap-mobile-item:last-child{padding-bottom:0}.exp-roadmap-mobile-item.is-open{padding-bottom:24px}.exp-roadmap-mobile-hit{appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:0;width:100%;min-height:48px;padding:4px 0;display:flex}.exp-roadmap-mobile-hit .exp-road-marker{z-index:1;position:absolute;top:12px;left:5px;transform:none}.exp-roadmap-mobile-hit .exp-road-marker--dot{left:5px}.exp-roadmap-mobile-hit .exp-road-marker--break{width:11px;height:11px;top:12px;left:5px}.exp-roadmap-mobile-copy{flex-direction:column;flex:1;gap:7px;padding-right:8px;display:flex}.exp-roadmap-mobile .exp-roadmap-role{letter-spacing:-.02em;font-size:20px}.exp-roadmap-mobile .exp-roadmap-org{font-size:13px}.exp-roadmap-mobile .exp-roadmap-dates{letter-spacing:.14em;font-size:10px}.exp-roadmap-mobile-panel{margin-top:14px;padding-right:0;animation:.4s cubic-bezier(.16,1,.3,1) expPanelIn}.exp-roadmap-mobile-panel .exp-road-card{width:100%;box-shadow:none}.exp-roadmap-mobile-item.is-open .exp-road-marker--dot,.exp-roadmap-mobile-item.is-open .exp-road-marker--break{background:var(--white);border-color:var(--white);transform:none}@keyframes expPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:1100px) and (min-width:769px){.exp-roadmap-node{width:min(150px,15vw)}.exp-roadmap-org{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.exp-roadmap-desktop{min-height:min(90vw,640px)}}@media (prefers-reduced-motion:reduce){.exp-roadmap-path--line,.exp-roadmap-popup,.exp-road-marker,.exp-roadmap-hit,.exp-roadmap-mobile-panel,.skill-mark{transition:none;animation:none}.exp-roadmap-path--line{stroke-dashoffset:0}.skill-mark{opacity:1;transform:none}}.projects-grid{border-top:1px solid var(--faint);grid-template-columns:1fr 1fr;gap:2px;display:grid}.project-card{border:1px solid var(--faint);cursor:none;opacity:0;border-top:none;padding:56px 48px;transition:opacity .7s,transform .7s;position:relative;overflow:hidden;transform:translateY(16px)}.project-card.visible{opacity:1;transform:none}.project-card:before{content:"";background:var(--white);transform-origin:bottom;z-index:0;transition:transform .5s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleY(0)}.project-card:hover:before{transform:scaleY(1)}.project-card:hover .proj-num,.project-card:hover .proj-title,.project-card:hover .proj-desc{color:var(--black)}.project-card:hover .proj-tags .stack-icon{background:#0808080a;border-color:#08080833}.project-card:hover .icon-btn{color:var(--black);border-color:#08080859}.project-card:hover .icon-btn .icon-on-dark{display:none}.project-card:hover .icon-btn .icon-on-light{display:block}.project-card:hover .icon-btn:hover{background:var(--black);color:var(--white);border-color:var(--black)}.project-card:hover .icon-btn:hover .icon-on-dark{display:block}.project-card:hover .icon-btn:hover .icon-on-light{display:none}.project-card__hit{z-index:1;color:inherit;text-decoration:none;position:absolute;inset:0}.proj-num,.proj-title,.proj-desc,.proj-tags{z-index:1;pointer-events:none;position:relative}.proj-num{letter-spacing:.22em;color:var(--dim);margin-bottom:32px;font-size:10px;transition:color .4s}.proj-title{font-family:var(--serif);letter-spacing:-.02em;margin-bottom:16px;font-size:clamp(18px,2.2vw,28px);font-weight:700;line-height:1.2;transition:color .4s}.proj-desc{color:var(--dim);margin-bottom:32px;font-size:13px;line-height:1.8;transition:color .4s}.proj-tags{flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;display:flex}.proj-actions{z-index:2;pointer-events:auto;flex-wrap:wrap;gap:12px;margin-top:28px;display:flex;position:relative}#contact{background:var(--white);color:var(--black);border-bottom:none}#contact .sec-label{color:#0808084d}#contact .sec-label:after{background:#0808081a}.contact-big{font-family:var(--serif);letter-spacing:-.05em;margin-bottom:80px;font-size:clamp(72px,13vw,180px);font-weight:900;line-height:.88}.contact-big em{color:#08080847;font-style:italic;font-weight:400}.contact-row{border-top:1px solid #0808081f;display:flex}.contact-link{color:var(--black);font-family:var(--serif);cursor:none;border-right:1px solid #0808081f;flex:1;justify-content:space-between;align-items:center;padding:32px 24px 32px 0;font-size:clamp(15px,1.8vw,22px);font-weight:700;text-decoration:none;transition:background .3s,color .3s;display:flex}.contact-link:last-child{border-right:none}.contact-link:hover{background:var(--black);color:var(--white)}.contact-mark{opacity:.35;width:22px;height:22px;transition:opacity .3s,transform .3s}.contact-link:hover .contact-mark{opacity:1;transform:translate(3px,-3px)rotate(8deg)}@media (max-width:768px){#hero{padding:0 24px 60px}.hero-foot{flex-direction:column;align-items:flex-start;gap:24px}#about-section .about-grid{grid-template-columns:1fr;gap:40px}.phil-carousel{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(8px,2vw,16px);width:auto;max-width:100%;margin-left:auto;margin-right:auto}.phil-carousel-nav,.phil-carousel-nav-spacer{width:36px}.phil-carousel-nav{align-self:center;height:36px}.phil-carousel-panel{padding:48px 4px 0}.phil-carousel-visual{width:min(260px,78vw)}.phil-carousel-desc{max-width:34ch}.phil-carousel-swipe-hint{display:block}.skills-pillars{gap:22px;padding-top:22px}.skill-pillar{grid-template-columns:1fr;gap:8px}.skill-pillar-label{padding-top:0}.skill-marks{gap:8px 6px}.skill-mark{gap:4px;width:52px;min-width:52px;min-height:52px}.skill-mark__icon{width:30px;height:30px}.skill-mark__icon img{width:16px;height:16px}.skill-mark__name{max-width:52px;font-size:7px}.projects-grid{grid-template-columns:1fr}.project-card,.exp-roadmap-hit,.exp-roadmap-mobile-hit,.contact-link{cursor:pointer}.exp-roadmap-desktop{display:none}.exp-roadmap-mobile{margin-top:12px;display:block}.exp-roadmap .sec-label{margin-bottom:28px}#work{padding-left:24px;padding-right:24px}.contact-row{flex-direction:column}.contact-link{border-bottom:1px solid #0808081f;border-right:none}}@media (max-width:480px){.skill-marks{gap:8px 4px}.skill-mark{width:calc(20% - 4px);min-width:44px;max-width:56px;min-height:48px}.skill-mark__icon{width:28px;height:28px}.skill-mark__icon img{width:15px;height:15px}.skill-mark__name{letter-spacing:.06em;max-width:100%;font-size:7px}}
#page-builder{min-height:100vh;padding:140px 56px;position:relative}.builder-hero{grid-template-columns:minmax(240px,.85fr) minmax(280px,1.15fr);align-items:center;gap:48px 64px;margin-bottom:96px;display:grid}.builder-hero-copy{order:0}.builder-hero-title{font-family:var(--serif);letter-spacing:-.05em;margin-bottom:28px;font-size:clamp(64px,10vw,128px);font-weight:800;line-height:.88}.builder-hero-text{color:var(--dim);max-width:420px;font-size:16px;line-height:1.85}.builder-hero-media{order:1;min-width:0}.builder-hero-media img{object-fit:contain;width:100%;height:auto;max-height:520px;display:block}.builder-projects{padding-top:24px}.projects-heading{font-family:var(--serif);letter-spacing:-.03em;overflow-wrap:break-word;margin-bottom:48px;font-size:clamp(28px,4.6vw,64px);font-weight:800;line-height:.95}.builder-project{border-top:1px solid var(--faint);border-bottom:1px solid var(--faint);grid-template-columns:1.15fr .85fr;align-items:center;gap:56px;padding:48px 0 72px;display:grid}.rag-media{border:1px solid var(--faint);background:#111;justify-content:center;align-items:center;min-height:320px;display:flex;overflow:hidden;box-shadow:inset 0 0 40px #00000059}.rag-media img{object-fit:contain;width:100%;height:100%;max-height:520px;display:block}.rag-head{flex-flow:column;align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.rag-title{font-family:var(--serif);letter-spacing:-.03em;overflow-wrap:break-word;min-width:0;font-size:clamp(32px,4vw,52px);font-weight:800;line-height:1}.rag-body{color:var(--dim);max-width:420px;margin-bottom:28px;font-size:15px;line-height:1.8}.rag-tags{margin:0 0 36px;padding:0;flex-wrap:wrap;align-items:center;gap:8px;margin-inline:0;padding-inline:0;list-style:none;display:flex}.stack-icon{box-sizing:border-box;border:1px solid var(--faint);background:#f2f0eb0a;border-radius:10px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;line-height:0;transition:border-color .25s,background .25s;display:inline-flex;overflow:hidden}.stack-icon img{object-fit:contain;object-position:center;width:20px;max-width:20px;height:20px;max-height:20px;display:block}.stack-icon:hover{background:#f2f0eb14;border-color:#f2f0eb59}.rag-actions{flex-wrap:wrap;gap:12px;display:flex}.icon-btn{min-width:44px;min-height:44px;color:var(--white);font-family:var(--serif);letter-spacing:.2em;text-transform:uppercase;cursor:none;border:1px solid #f2f0eb59;justify-content:center;align-items:center;gap:10px;padding:10px 20px;font-size:11px;text-decoration:none;transition:background .3s,color .3s,border-color .3s;display:inline-flex;position:relative}.icon-btn img{object-fit:contain;width:18px;height:18px;display:block}.icon-btn .icon-on-light{display:none}.icon-btn:hover{background:var(--white);color:var(--black);border-color:var(--white)}.icon-btn:hover .icon-on-dark{display:none}.icon-btn:hover .icon-on-light{display:block}.icon-btn.is-disabled{color:#f2f0eb59;cursor:not-allowed;pointer-events:none;border-color:#f2f0eb1f}.icon-btn.is-disabled:after{content:"Soon";letter-spacing:.1em;text-transform:uppercase;color:var(--dim);background:#f2f0eb26;border-radius:2px;padding:2px 6px;font-size:8px;position:absolute;top:-8px;right:-4px}.icon-btn.is-disabled:hover{color:#f2f0eb59;background:0 0;border-color:#f2f0eb1f}.icon-btn.is-disabled:hover .icon-on-dark{display:block}.icon-btn.is-disabled:hover .icon-on-light{display:none}.builder-research{padding-top:72px}.builder-project--text{grid-template-columns:1fr;max-width:720px}.builder-certs{padding-top:96px}.certs-heading{font-family:var(--serif);letter-spacing:-.03em;margin-bottom:16px;font-size:clamp(32px,5vw,64px);font-weight:800;line-height:.95}.certs-sub{color:var(--dim);margin-bottom:48px;font-size:14px;line-height:1.7}.certs-grid{grid-template-columns:repeat(auto-fill,minmax(160px,200px));justify-content:start;gap:28px 20px;display:grid}.cert-card{color:inherit;cursor:none;text-decoration:none;display:block}.cert-preview{aspect-ratio:210/297;border:1px solid var(--faint);background:#111;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .35s;position:relative;overflow:hidden;box-shadow:inset 0 0 24px #0006}.cert-thumb{z-index:1;object-fit:cover;object-position:top center;width:100%;height:100%;display:block;position:absolute;inset:0}.cert-overlay{z-index:2;opacity:0;background:linear-gradient(#0000 0%,#08080833 55%,#080808e0 100%);flex-direction:column;justify-content:flex-end;padding:18px;transition:opacity .35s;display:flex;position:absolute;inset:0}.cert-overlay-title{display:none}.cert-open{letter-spacing:.18em;text-transform:uppercase;color:var(--white);align-items:center;gap:6px;font-size:10px;display:inline-flex}.cert-meta{margin-top:12px}.cert-caption{letter-spacing:-.01em;color:var(--white);margin-bottom:6px;font-size:13px;font-weight:600;line-height:1.35;display:block}.cert-desc{color:var(--dim);font-size:12px;line-height:1.6}.cert-card:hover .cert-preview,.cert-card:focus-visible .cert-preview{border-color:#f2f0eb59;transform:translateY(-4px);box-shadow:0 16px 40px #00000073,inset 0 0 24px #0006}.cert-card:hover .cert-overlay,.cert-card:focus-visible .cert-overlay{opacity:1}.cert-card:focus-visible{outline:1px solid var(--white);outline-offset:6px}.cert-card:active .cert-preview{transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.cert-preview,.cert-overlay{transition:none}.cert-card:hover .cert-preview,.cert-card:focus-visible .cert-preview,.cert-card:active .cert-preview{transform:none}}@media (max-width:900px){.builder-hero{flex-direction:column;gap:28px;margin-bottom:72px;display:flex}.builder-hero-media{order:-1}.builder-hero-media img{max-height:420px}.projects-heading{margin-bottom:32px}.builder-project{grid-template-columns:1fr;gap:32px}.certs-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width:768px){#page-builder{padding:120px 24px}.builder-hero-title{font-size:clamp(48px,16vw,80px)}.builder-project{padding:48px 0}.rag-actions{width:100%}.icon-btn{cursor:pointer;flex:1 1 0}.cert-card{cursor:pointer}.cert-overlay{display:none}.cert-caption{display:block}.cert-card:hover .cert-preview,.cert-card:focus-visible .cert-preview{transform:none}}@media (max-width:480px){#page-builder{padding:110px 20px 120px}.certs-grid{grid-template-columns:1fr 1fr}.rag-media{min-height:220px}}
#page-blog{min-height:100vh;padding:160px 56px 140px}.blog-intro{max-width:720px;margin-bottom:72px}.blog-intro-title{font-family:var(--serif);letter-spacing:-.04em;margin-bottom:20px;font-size:clamp(48px,7vw,96px);font-weight:800;line-height:.92}.blog-intro-title em{color:var(--dim);font-style:italic;font-weight:400}.blog-intro-text{color:var(--dim);max-width:440px;font-size:15px;line-height:1.8}.blog-list{border-top:1px solid var(--faint);grid-template-columns:1fr 1fr;gap:28px;padding-top:48px;display:grid}.blog-card{color:inherit;cursor:none;flex-direction:column;text-decoration:none;display:flex}.blog-card-media{border:1px solid var(--faint);aspect-ratio:1;background:#111;margin-bottom:20px;transition:border-color .35s;overflow:hidden}.blog-card-media img{object-fit:contain;width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1);display:block}.blog-card:hover .blog-card-media{border-color:#f2f0eb59}.blog-card:hover .blog-card-media img{transform:scale(1.03)}.blog-card-label{letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-bottom:10px;font-size:10px}.blog-card-title{font-family:var(--serif);letter-spacing:-.02em;margin-bottom:12px;font-size:clamp(22px,2.6vw,32px);font-weight:700;line-height:1.15}.blog-card-excerpt{color:var(--dim);margin-bottom:16px;font-size:14px;line-height:1.7}.blog-card-more{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);align-items:center;gap:6px;font-size:11px;transition:color .3s;display:inline-flex}.blog-card:hover .blog-card-more{color:var(--white)}#page-article{min-height:100vh;padding:160px 56px 140px}.article-back{letter-spacing:.16em;text-transform:uppercase;color:#f2f0ebb8;cursor:none;align-items:center;gap:8px;margin-bottom:40px;font-size:13px;font-weight:700;text-decoration:none;transition:color .3s;display:inline-flex}.article-back img{opacity:.72;width:12px;height:12px;transition:opacity .3s;display:block}.article-back:hover{color:var(--white)}.article-back:hover img{opacity:1}.article-hero{border-bottom:1px solid var(--faint);pointer-events:auto;max-width:680px;margin:0 auto 64px;padding-bottom:48px;display:block;position:static}.article-label{letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-bottom:16px;font-size:10px}.article-title{font-family:var(--serif);letter-spacing:-.03em;overflow-wrap:break-word;font-size:clamp(36px,5.5vw,64px);font-weight:800;line-height:.95}.article-body{max-width:680px;margin:0 auto}.article-body p{color:#f2f0ebc7;margin-bottom:1.5em;font-size:17px;line-height:1.85}.article-body p:first-child:first-letter{font-family:var(--serif);float:left;color:var(--white);padding-top:6px;padding-right:12px;font-size:3.2em;font-weight:700;line-height:.85}body:has(.article-light){background:var(--white);color:var(--black)}body:has(.article-light) #grain{opacity:.2}body:has(.article-light) footer{color:#08080866;border-top-color:#0808081f}body:has(.article-light) .footer-social-link .icon-on-dark{display:none}body:has(.article-light) .footer-social-link .icon-on-light{display:block}:is(body:has(.article-light) .footer-social-link:hover,body:has(.article-light) .footer-social-link:focus-visible){background:#0808080d;border-color:#0808084d}body:has(.article-light) .article-back{color:#080808b8}body:has(.article-light) .article-back img{opacity:.72}body:has(.article-light) .article-back:hover{color:var(--black)}body:has(.article-light) .article-back:hover img{opacity:1}body:has(.article-light) .article-hero{border-bottom-color:#0808081f}body:has(.article-light) .article-label{color:#08080866}body:has(.article-light) .article-body p{color:#080808c7}body:has(.article-light) .article-body p:first-child:first-letter{color:var(--black)}@media (max-width:768px){#page-blog,#page-article{padding:120px 24px}.blog-list{grid-template-columns:1fr;gap:40px}.blog-card,.article-back{cursor:pointer}.article-hero{margin-bottom:40px;padding-bottom:32px}.article-body p{font-size:16px}}@media (max-width:480px){#page-blog,#page-article{padding:110px 20px 120px}}
#page-doc{text-align:left;min-height:100vh;padding:160px 56px}.doc-back{letter-spacing:.16em;text-transform:uppercase;color:#f2f0ebb8;cursor:none;align-items:center;gap:8px;width:100%;max-width:680px;margin:0 auto 40px;font-size:13px;font-weight:700;text-decoration:none;transition:color .3s;display:flex}.doc-back img{opacity:.72;width:12px;height:12px;transition:opacity .3s;display:block}.doc-back:hover{color:var(--white)}.doc-back:hover img{opacity:1}.doc-intro,.doc-block{width:100%;max-width:680px;margin-left:auto;margin-right:auto}.doc-intro{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:40px;display:flex}.doc-video{aspect-ratio:16/9;background:#111;border:1px solid #f2f0eb24;border-radius:10px;width:100%;max-width:680px;margin:0 auto 72px;overflow:hidden;box-shadow:inset 0 0 40px #00000059}.doc-video-frame{border:0;width:100%;max-width:100%;height:100%;display:block}.doc-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 20px;width:100%;display:flex}.doc-title{font-family:var(--serif);letter-spacing:-.03em;overflow-wrap:break-word;margin:0;font-size:clamp(36px,6vw,72px);font-weight:800;line-height:.95}.doc-title-row .icon-btn{flex:none;align-self:center}.doc-lede{color:var(--dim);max-width:520px;font-size:16px;line-height:1.8}.doc-block{margin-bottom:72px}.doc-head{border-bottom:1px solid #f2f0eb47;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:14px 20px;width:100%;margin-bottom:24px;padding-bottom:14px;display:flex}.doc-head h2{font-family:var(--serif);letter-spacing:-.02em;overflow-wrap:break-word;flex:auto;min-width:0;font-size:clamp(26px,4vw,42px);font-weight:700;line-height:1.05}.doc-block p,.doc-block li{color:#f2f0ebc7;font-size:16px;line-height:1.85}.doc-block code{letter-spacing:0;color:var(--white);word-break:break-word;background:#f2f0eb0f;border-radius:3px;padding:.12em .38em;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.86em}.doc-block p+p{margin-top:1.15em}.doc-subhead{font-family:var(--serif);letter-spacing:-.02em;color:var(--white);margin:36px 0 16px;font-size:clamp(20px,2.8vw,28px);font-weight:700;line-height:1.15}.doc-block ul:not(.doc-status):not(.doc-stack),.doc-block ol:not(.doc-flow){margin:.6em 0 0;padding-left:1.2em;list-style:outside}.doc-block ul li+li{margin-top:.7em}.doc-flow{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px 0;margin:22px 0 0;padding:0;list-style:none;display:flex}.doc-flow li{color:#f2f0ebb3;align-items:center;font-size:13px;line-height:1.4;display:inline-flex}.doc-flow li:not(:last-child):after{content:"→";color:var(--dim);margin:0 10px}.doc-stack{margin:18px 0 0;padding:0;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;margin-inline:0;padding-inline:0;list-style:none;display:flex}.doc-stack .stack-icon{box-sizing:border-box;border:1px solid var(--faint);background:#f2f0eb0a;border-radius:10px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;line-height:0;transition:border-color .25s,background .25s;display:inline-flex;overflow:hidden}.doc-stack .stack-icon img{object-fit:contain;object-position:center;width:20px;max-width:20px;height:20px;max-height:20px;display:block}.doc-stack .stack-icon:hover{background:#f2f0eb14;border-color:#f2f0eb59}.doc-status{margin:8px 0 0;padding:0;list-style:none}.doc-status li{border-bottom:1px solid var(--faint);justify-content:space-between;align-items:baseline;gap:16px 24px;padding:16px 0;display:flex}.doc-status li:first-child{padding-top:4px}.doc-status .is-done{color:#8fbf4a;letter-spacing:.08em;text-transform:uppercase;font-size:13px}.doc-status .is-open{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-size:13px}.doc-theory-stack{background:0 0;margin-top:28px;padding:0}.doc-theory-section+.doc-theory-section{margin-top:28px}.doc-theory-heading{font-family:var(--serif);letter-spacing:-.01em;color:var(--white);text-align:left;margin:0 0 8px;font-size:clamp(16px,1.6vw,18px);font-weight:600;line-height:1.35}.doc-theory-body{text-align:left;font-family:inherit;font-weight:400;color:#f2f0ebc7!important;margin:0!important;font-size:16px!important;line-height:1.85!important}.repo-browser{color:#e6edf3;background:#0d1117;border:1px solid #30363d;border-radius:8px;width:100%;margin-top:22px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;overflow:hidden}.repo-commit-bar{background:0 0;border-bottom:1px solid #21262d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:10px 14px;display:flex}.repo-commit-bar-left{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.repo-avatar{border-radius:50%;flex:none;width:24px;height:24px}.repo-owner{color:#e6edf3;font-weight:600}.repo-label{color:#8b949e;text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.repo-github-btn{appearance:none;color:#e6edf3;font:inherit;cursor:none;background:0 0;border:1px solid #30363d;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:4px 12px;font-size:12px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.repo-github-btn:hover{color:#e6edf3;background:#21262d;border-color:#8b949e}.repo-crumbs{border-bottom:1px solid #21262d;flex-wrap:wrap;align-items:center;gap:4px;padding:10px 14px;font-size:13px;display:flex}.repo-crumb{appearance:none;color:#2f81f7;font:inherit;cursor:none;background:0 0;border:0;padding:0}.repo-crumb.is-current{color:#e6edf3;font-weight:600}.repo-crumb-slash{color:#8b949e;margin-right:4px}.repo-back{appearance:none;color:#e6edf3;cursor:none;background:0 0;border:1px solid #30363d;border-radius:6px;margin-left:auto;padding:2px 10px;font-size:12px}.repo-back:hover{background:#21262d}.repo-list{margin:0;padding:0}.repo-row{width:100%;color:inherit;text-align:left;font:inherit;cursor:none;background:0 0;border:0;border-bottom:1px solid #21262d;justify-content:space-between;align-items:center;gap:16px;padding:8px 14px;transition:background .15s;display:flex}.repo-row:last-child,.repo-list>:last-child .repo-row{border-bottom:none}.repo-row:hover{background:#161b22}.repo-row-main{align-items:center;gap:10px;min-width:0;display:flex}.repo-icon{color:#7d8590;flex:none}.repo-row-name{color:#e6edf3;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.repo-row-purpose{color:#8b949e;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:auto;min-width:0;max-width:55%;margin-left:auto;font-size:12px;overflow:hidden}.repo-theory{padding:18px 16px 22px}.repo-theory-back{appearance:none;color:#2f81f7;font:inherit;cursor:none;background:0 0;border:0;margin-bottom:14px;padding:0;font-size:13px}.repo-theory-back:hover{text-decoration:underline}.repo-theory-path{margin:0 0 12px!important}.repo-theory-path code{color:#e6edf3;background:#161b22;border:1px solid #30363d;border-radius:6px;padding:.2em .5em;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px}.repo-theory-heading{font-family:var(--serif);letter-spacing:-.02em;color:#e6edf3;margin:0 0 12px;font-size:clamp(18px,2.4vw,24px);font-weight:700}.repo-theory p,.repo-folder-theory .repo-theory-heading+p{color:#c9d1d9!important;margin:0 0 .9em!important;font-size:14px!important;line-height:1.7!important}.repo-theory p:last-child{margin-bottom:0!important}.doc-block a{color:var(--white);text-underline-offset:3px;-webkit-text-decoration:underline #f2f0eb59;text-decoration:underline #f2f0eb59;transition:text-decoration-color .2s}.doc-block a:hover{-webkit-text-decoration-color:var(--white);text-decoration-color:var(--white)}.doc-actions{flex-wrap:wrap;justify-content:flex-start;gap:12px;margin-top:28px;display:flex}.doc-explain{max-width:680px}.doc-tabs{border-bottom:1px solid var(--faint);flex-wrap:wrap;align-items:center;gap:4px 40px;width:100%;margin-bottom:24px;padding:26px 0;display:flex}.doc-tab{appearance:none;font-family:var(--serif);letter-spacing:.01em;color:var(--dim);cursor:none;background:0 0;border:0;padding:6px 0;font-size:clamp(15px,1.4vw,19px);font-weight:500;line-height:1.2;transition:color .3s;position:relative}.doc-tab:after{content:"";background:var(--white);transform-origin:0;height:1px;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-27px;left:0;right:0;transform:scaleX(0)}.doc-tab:hover,.doc-tab:focus-visible{color:var(--white);outline:none}.doc-tab.is-selected{color:var(--white)}.doc-tab.is-selected:after{transform:scaleX(1)}.doc-tab-panel[hidden]{display:none}.doc-tab-panel{animation:.45s cubic-bezier(.16,1,.3,1) doc-tab-in}@keyframes doc-tab-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.doc-diagram{background:#0a0a0a;border:1px solid #f2f0eb24;width:100%;margin:0 0 24px;overflow:hidden}.doc-diagram img{object-fit:contain;width:100%;max-width:100%;height:auto;display:block}@media (max-width:768px){#page-doc{padding:120px 20px 150px}.doc-back{cursor:pointer;margin-bottom:32px}.doc-intro{gap:18px;margin-bottom:28px}.doc-video{border-radius:8px;margin-bottom:48px}.doc-title-row{flex-wrap:nowrap;align-items:center;gap:12px 14px}.doc-title-row .doc-title{flex:auto;min-width:0}.doc-title-row .icon-btn{flex:none;gap:8px;padding:8px 14px}.doc-block{margin-bottom:48px}.doc-tabs{gap:4px 28px;margin-bottom:22px;padding:20px 0}.doc-tab{cursor:pointer;font-size:clamp(14px,3.6vw,18px)}.doc-tab:after{bottom:-21px}.doc-diagram{margin-bottom:18px}.doc-theory-section+.doc-theory-section{margin-top:24px}.repo-row{cursor:pointer;padding:10px 12px}.repo-crumb,.repo-back,.repo-theory-back{cursor:pointer}.doc-head{flex-flow:row;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:12px}.doc-title{font-size:clamp(28px,9.5vw,44px)}.doc-lede,.doc-block p,.doc-block li{font-size:15px;line-height:1.75}.doc-flow{flex-direction:column;align-items:flex-start;gap:4px}.doc-flow li{flex-direction:column;align-items:flex-start;font-size:13px}.doc-flow li:not(:last-child):after{content:"↓";margin:4px 0 2px}.doc-status li{flex-direction:column;align-items:flex-start;gap:6px;padding:14px 0}.icon-btn{cursor:pointer}}@media (max-width:480px){#page-doc{padding:108px 16px 150px}.doc-block code{font-size:.78em}.doc-tabs{gap:4px 20px}}@media (prefers-reduced-motion:reduce){.doc-tab:after,.doc-tab-panel{transition:none;animation:none}}
#page-resume{min-height:100vh;padding:160px 56px 120px}.resume-title{font-family:var(--serif);letter-spacing:-.04em;margin-bottom:24px;font-size:clamp(48px,7vw,96px);font-weight:900;line-height:.92}.resume-title em{color:var(--dim);font-style:italic;font-weight:400}.resume-subtitle{color:var(--dim);max-width:480px;margin-bottom:80px;font-size:14px;line-height:1.8}.resume-list{border-top:1px solid var(--faint)}.resume-row{border-bottom:1px solid var(--faint);opacity:0;justify-content:space-between;align-items:center;padding:40px 0;transition:opacity .6s,transform .6s;display:flex;transform:translateY(10px)}.resume-row.visible{opacity:1;transform:none}.resume-info{flex:1;padding-right:24px}.resume-row-title{font-family:var(--serif);letter-spacing:-.02em;margin-bottom:8px;font-size:clamp(20px,2.5vw,30px);font-weight:700}.resume-row-desc{color:var(--dim);letter-spacing:.05em;font-size:12px;line-height:1.6}.resume-btn{font-family:var(--serif);letter-spacing:.2em;text-transform:uppercase;cursor:none;white-space:nowrap;padding:14px 32px;font-size:11px;text-decoration:none;transition:background .3s,color .3s,border-color .3s;display:inline-block}.resume-btn.active-btn{color:var(--white);border:1px solid #f2f0eb59}.resume-btn.active-btn:hover{background:var(--white);color:var(--black);border-color:var(--white)}.resume-btn.disabled-btn{color:#f2f0eb33;cursor:not-allowed;border:1px solid #f2f0eb1a;position:relative}.resume-btn.disabled-btn:after{content:"Soon";letter-spacing:.1em;text-transform:uppercase;color:var(--dim);background:#f2f0eb26;border-radius:2px;padding:2px 6px;font-size:8px;position:absolute;top:-8px;right:-4px}@media (max-width:768px){#page-resume{padding:120px 24px 80px}.resume-row{flex-direction:column;align-items:flex-start;gap:20px}.resume-btn.active-btn{cursor:pointer}}
#page-product{min-height:100vh;padding:140px 56px;position:relative}.product-hero{grid-template-columns:minmax(240px,.85fr) minmax(280px,1.15fr);align-items:center;gap:48px 64px;margin-bottom:96px;display:grid}.product-hero-media{min-width:0}.product-hero-media img{object-fit:contain;width:100%;height:auto;max-height:520px;display:block}.product-hero-title{font-family:var(--serif);letter-spacing:-.05em;margin-bottom:28px;font-size:clamp(64px,10vw,128px);font-weight:800;line-height:.88}.product-hero-text{color:var(--dim);max-width:420px;font-size:16px;line-height:1.85}.product-projects{padding-top:24px}.product-card-tagline{font-family:var(--serif);letter-spacing:-.01em;color:#f2f0ebe0;margin:0;font-size:clamp(16px,2vw,20px);font-weight:600;line-height:1.35}.doc-case-overview .doc-tabs{justify-content:space-between;gap:4px 0;width:100%}.doc-case-panel{width:100%}.doc-case-sections{flex-direction:column;align-items:stretch;gap:48px;width:100%;display:flex}.doc-case-section-block{width:100%;max-width:none;display:block}.doc-case-section-head{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.doc-case-section-title{font-family:var(--serif);letter-spacing:.01em;color:var(--white);flex:auto;min-width:0;margin:0;font-size:clamp(15px,1.4vw,19px);font-weight:500;line-height:1.2}.doc-block.doc-case-overview a.doc-case-section-arrow,.doc-case-section-arrow{width:40px;height:40px;color:var(--white);cursor:none;opacity:.85;flex:none;justify-content:center;align-items:center;margin-left:auto;transition:opacity .25s,transform .25s;display:inline-flex;text-decoration:none!important}.doc-block.doc-case-overview a.doc-case-section-arrow:hover,.doc-block.doc-case-overview a.doc-case-section-arrow:focus-visible,.doc-case-section-arrow:hover,.doc-case-section-arrow:focus-visible{opacity:1;outline:none;transform:translate(3px);text-decoration:none!important}.doc-case-arrow-icon{display:block}.doc-case-section-rule{background:#f2f0eb47;width:100%;height:1px;margin:16px 0 22px}.doc-case-exec-summary .doc-case-section-rule{margin-bottom:18px}.doc-case-prose{letter-spacing:.01em;color:#f2f0ebd1;max-width:62ch;margin:0;font-size:clamp(15px,1.35vw,17px);font-weight:400;line-height:1.65}.doc-case-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;margin:0;padding:0;list-style:none;display:grid}.doc-block.doc-case-overview a.doc-case-card,.doc-case-card{min-width:0;height:100%;min-height:148px;color:inherit;cursor:none;background:#f2f0eb0e;border-radius:12px;flex-direction:column;gap:12px;padding:18px 18px 20px;transition:background .25s;display:flex;text-decoration:none!important}.doc-block.doc-case-overview a.doc-case-card:hover,.doc-block.doc-case-overview a.doc-case-card:focus-visible,.doc-case-card:hover,.doc-case-card:focus-visible{background:#f2f0eb17;outline:none;text-decoration:none!important}.doc-block.doc-case-overview a.doc-case-card *,.doc-case-card *{text-decoration:none!important}.doc-case-card-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 10px;display:flex}.doc-case-card-title{font-family:var(--serif);letter-spacing:-.01em;color:var(--white);margin:0;font-size:16px;font-weight:600;line-height:1.3;text-decoration:none}.doc-case-card-summary{color:#f2f0eb9e;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;padding:0;font-size:14px;line-height:1.55;text-decoration:none;list-style:none;display:-webkit-box;overflow:hidden}.doc-case-part{scroll-margin-top:120px}.doc-case-part--cta{justify-content:space-between;align-items:center;gap:20px 32px;display:flex}.doc-case-part--cta .doc-case-part-copy{flex:auto;min-width:0}.doc-case-part--cta .doc-case-part-cta{flex:none}.doc-case-part--cta .doc-case-part-head{margin-bottom:8px}@media (max-width:600px){.doc-case-part--cta{flex-wrap:wrap}.doc-case-part--cta .doc-case-part-cta{margin-left:auto}}.doc-theory-stack>.doc-case-part+.doc-case-part{border-top:1px solid var(--faint);margin-top:32px;padding-top:28px}.doc-case-part-head{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px;display:flex}.doc-case-part-head .doc-theory-heading{flex:auto;min-width:0;margin:0}.doc-case-chip{letter-spacing:.1em;text-transform:uppercase;border-radius:4px;flex:none;justify-content:center;align-items:center;min-height:22px;padding:4px 10px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.doc-case-chip.is-done{color:#8fbf4a;background:#8fbf4a2e}.doc-case-chip.is-partial{color:#d4a84b;background:#d4a84b29}.doc-case-chip.is-missing{color:var(--dim);background:#f2f0eb0f}.doc-case-part-body,.doc-case-part-body p,.doc-case-part-body li{color:#f2f0ebc7;font-size:16px;line-height:1.85}.doc-case-part-body p+p,.doc-case-part-body ul+p,.doc-case-part-body p+ul,.doc-case-part-body table+p,.doc-case-part-body p+table,.doc-case-part-body pre+p,.doc-case-part-body p+pre{margin-top:1em}.doc-case-part-body ul{margin:.6em 0 0;padding-left:1.2em;list-style:outside}.doc-case-part-body ul li+li{margin-top:.55em}.doc-case-part-body .doc-case-checklist{padding-left:0;list-style:none}.doc-case-part-body .doc-case-checklist>li{padding-left:1.55em;position:relative}.doc-case-part-body .doc-case-checklist>li:before{content:"";background:#f2f0eb0a;border:1px solid #f2f0eb59;border-radius:2px;width:.85em;height:.85em;position:absolute;top:.45em;left:0}.doc-case-empty{color:var(--dim);margin:0;font-style:italic}.doc-case-note{margin:0 0 .85em;color:var(--dim)!important;font-size:14px!important}.doc-case-part-body .doc-theory-subheading{color:#f2f0ebeb;margin:1.35em 0 .45em;font-size:17px;font-weight:650;line-height:1.4}.doc-case-part-body .doc-theory-subheading:first-child{margin-top:0}.doc-case-accordion{flex-direction:column;gap:0;display:flex}.doc-case-accordion-item{border-bottom:1px solid var(--faint)}.doc-case-accordion-item:first-child{border-top:1px solid var(--faint)}.doc-case-accordion-heading{font-size:inherit;font-weight:inherit;margin:0}.doc-case-accordion-trigger{color:#f2f0ebeb;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:14px 4px;font-size:17px;font-weight:650;line-height:1.35;display:flex}.doc-case-accordion-trigger:hover{color:var(--white)}.doc-case-accordion-trigger:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #f2f0eb59}.doc-case-accordion-title{flex:auto;min-width:0}.doc-case-accordion-icon{border-bottom:1.5px solid #f2f0eb8c;border-right:1.5px solid #f2f0eb8c;flex:none;width:10px;height:10px;margin-top:-4px;transition:transform .18s;transform:rotate(45deg)}.doc-case-accordion-item.is-open .doc-case-accordion-icon{margin-top:4px;transform:rotate(-135deg)}.doc-case-accordion-panel[hidden]{display:none}.doc-case-accordion-panel-inner{padding:0 4px 18px}.doc-case-accordion-panel-inner>:first-child{margin-top:0}.doc-case-table-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--faint);scrollbar-width:thin;scrollbar-color:#f2f0eb59 #f2f0eb0f;background:#f2f0eb05;border-radius:8px;margin:.85em 0 0;overflow-x:auto}.doc-case-table-scroll::-webkit-scrollbar{height:8px}.doc-case-table-scroll::-webkit-scrollbar-track{background:#f2f0eb0f;border-radius:0 0 8px 8px}.doc-case-table-scroll::-webkit-scrollbar-thumb{background:#f2f0eb52 padding-box padding-box;border:2px solid #0000;border-radius:999px}.doc-case-table-scroll::-webkit-scrollbar-thumb:hover{background:#f2f0eb7a padding-box padding-box}.doc-case-table-scroll:focus-visible{outline-offset:2px;outline:2px solid #f2f0eb59}.doc-case-table-scroll .doc-case-table{table-layout:fixed;width:100%;margin:0}.doc-case-table-scroll--wide .doc-case-table{table-layout:auto;width:max-content;min-width:880px}.doc-case-table-scroll .doc-case-table th,.doc-case-table-scroll .doc-case-table td{white-space:normal;overflow-wrap:anywhere;word-break:break-word;padding:10px 12px}.doc-case-table-scroll .doc-case-table thead th{letter-spacing:.05em;padding-top:10px;padding-bottom:10px;font-size:11px;line-height:1.35}.doc-case-table-scroll .doc-case-table th[scope=row]{text-transform:none;letter-spacing:0;color:#f2f0ebe6;width:22%;font-size:13px;font-weight:600}.doc-case-table-scroll--wide .doc-case-table th[scope=row]{width:auto;min-width:140px}.doc-case-table{border-collapse:collapse;width:100%;margin:.75em 0 0;font-size:14px;line-height:1.55}.doc-case-table th,.doc-case-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--faint);color:#f2f0ebc7;padding:10px 12px 10px 0}.doc-case-table th{color:var(--white);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}@media (max-width:720px){.doc-case-table-scroll--stack{overflow-x:visible}.doc-case-table-scroll--stack .doc-case-table{table-layout:auto;min-width:0}.doc-case-table-scroll--stack thead{display:none}.doc-case-table-scroll--stack tbody,.doc-case-table-scroll--stack tr,.doc-case-table-scroll--stack th,.doc-case-table-scroll--stack td{width:100%;display:block}.doc-case-table-scroll--stack tr{border-bottom:1px solid var(--faint);padding:12px 12px 10px}.doc-case-table-scroll--stack tr:last-child{border-bottom:0}.doc-case-table-scroll--stack th[scope=row]{border-bottom:0;width:100%;padding:0 0 8px;font-size:14px}.doc-case-table-scroll--stack td{border-bottom:0;padding:4px 0}.doc-case-table-scroll--stack td[data-label]:before{content:attr(data-label);color:#f2f0eb8c;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:650;display:block}}.doc-case-table-attr{color:var(--dim)!important;margin-top:.65em!important;font-size:13px!important}.doc-case-part-body .doc-case-h4{color:#f2f0ebe0;margin:1.15em 0 .4em;font-size:15px;font-weight:650;line-height:1.4}.doc-case-part-body .doc-case-h4:first-child{margin-top:0}.doc-case-ol{margin:.6em 0 0;padding-left:1.25em;list-style:decimal}.doc-case-ol li+li{margin-top:.55em}.doc-case-part-body .doc-case-ol,.doc-case-part-body .doc-case-ol li{color:#f2f0ebc7;font-size:16px;line-height:1.85}.doc-case-callout{color:#f2f0ebb8;background:#f2f0eb0a;border-left:3px solid #f2f0eb47;border-radius:0 8px 8px 0;margin:.9em 0 0;padding:12px 14px;font-size:14px;line-height:1.7}.doc-case-callout strong{color:#f2f0ebe0}.doc-case-quote{color:#f2f0ebdb;background:#f2f0eb08;border-left:3px solid #f2f0eb59;border-radius:0 8px 8px 0;margin:.75em 0 0;padding:14px 16px;font-size:16px;font-style:italic;line-height:1.75}.doc-case-formula{border:1px solid var(--faint);color:#f2f0ebb8;white-space:pre-wrap;background:#f2f0eb08;border-radius:8px;margin:.75em 0 0;padding:12px 14px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.65;overflow-x:auto}.doc-case-part-body a.doc-case-ext-link,.doc-case-part-body a.doc-case-int-link{color:#f2f0ebeb;text-underline-offset:3px;-webkit-text-decoration:underline #f2f0eb59;text-decoration:underline #f2f0eb59}.doc-case-part-body a.doc-case-ext-link:hover,.doc-case-part-body a.doc-case-int-link:hover,.doc-case-part-body a.doc-case-ext-link:focus-visible,.doc-case-part-body a.doc-case-int-link:focus-visible{text-decoration-color:#f2f0ebbf}.doc-case-part-body p+.doc-case-callout,.doc-case-part-body ul+.doc-case-callout,.doc-case-part-body .doc-case-table-scroll+.doc-case-callout,.doc-case-part-body .doc-case-callout+p,.doc-case-part-body .doc-case-quote+p,.doc-case-part-body p+.doc-case-quote,.doc-case-part-body .doc-case-table-scroll+p,.doc-case-part-body p+.doc-case-table-scroll,.doc-case-part-body ol+p,.doc-case-part-body p+ol{margin-top:1em}.doc-case-flow{border:1px solid var(--faint);color:#f2f0ebb8;white-space:pre;background:#f2f0eb08;border-radius:8px;margin:.75em 0 0;padding:14px 16px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.65;overflow-x:auto}@media (max-width:900px){.doc-case-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-hero{flex-direction:column;gap:28px;margin-bottom:72px;display:flex}.product-hero-media img{max-height:420px}}@media (max-width:768px){#page-product{padding:120px 24px}.product-hero-title{font-size:clamp(48px,16vw,80px)}.doc-case-overview .doc-tabs{flex-wrap:nowrap;justify-content:space-between;gap:4px 8px;padding:16px 0}.doc-case-overview .doc-tab{letter-spacing:0;white-space:nowrap;text-align:center;flex:1 1 0;min-width:0;padding:4px 0;font-size:clamp(10px,2.65vw,13px)}.doc-case-overview .doc-tab:after{bottom:-17px}.doc-case-sections{gap:32px}.doc-case-section-title{font-size:clamp(14px,3.6vw,18px)}.doc-case-section-arrow{cursor:pointer;width:36px;height:36px}.doc-case-section-rule{margin:12px 0 16px}.doc-case-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.doc-case-card{cursor:pointer;aspect-ratio:1;border-radius:10px;gap:8px;height:auto;min-height:0;padding:12px}.doc-case-card-top{gap:6px 8px}.doc-case-card-title{font-size:13px;line-height:1.25}.doc-case-card-summary{-webkit-line-clamp:4;font-size:12px;line-height:1.45}.doc-case-chip{min-height:18px;padding:3px 7px;font-size:9px}.doc-case-part{scroll-margin-top:100px}}@media (max-width:480px){#page-product{padding:110px 20px 120px}.doc-case-overview .doc-tabs{gap:2px 6px}.doc-case-overview .doc-tab{font-size:clamp(9.5px,2.5vw,12px)}.doc-case-card{padding:10px}.doc-case-card-title{font-size:12px}.doc-case-card-summary{-webkit-line-clamp:3;font-size:11px}}
#page-visuals{min-height:100vh;padding:160px 56px 140px;position:relative}.menu-header{border-bottom:1px solid var(--faint);grid-template-columns:minmax(280px,1.2fr) minmax(220px,.8fr);align-items:center;gap:48px 64px;padding-bottom:64px;display:grid}.menu-header .sec-label{margin-bottom:40px}.menu-title{font-family:var(--serif);letter-spacing:-.04em;margin-bottom:18px;font-size:clamp(48px,7vw,96px);font-weight:800;line-height:.92}.menu-title em{letter-spacing:-.02em;font-style:italic;font-weight:400}.menu-subtitle{font-family:var(--serif);color:var(--dim);margin-bottom:28px;font-size:clamp(18px,2vw,26px);font-style:italic;font-weight:300}.menu-intro{color:var(--dim);max-width:440px;font-size:15px;line-height:1.8}.menu-header-art{justify-self:end;min-width:0}.menu-header-art img{object-fit:contain;width:100%;height:auto;max-height:420px;display:block}.menu-courses{border-bottom:1px solid var(--faint);flex-wrap:wrap;gap:4px 40px;padding:26px 0;display:flex}.course-tab{appearance:none;font-family:var(--serif);letter-spacing:.01em;color:var(--dim);cursor:none;background:0 0;border:0;padding:6px 0;font-size:clamp(15px,1.4vw,19px);font-weight:500;transition:color .3s;position:relative}.course-tab:after{content:"";background:var(--white);transform-origin:0;height:1px;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-27px;left:0;right:0;transform:scaleX(0)}.course-tab:hover,.course-tab:focus-visible{color:var(--white);outline:none}.course-tab.is-selected{color:var(--white)}.course-tab.is-selected:after{transform:scaleX(1)}.menu-panel{padding-top:8px}.dish{border-bottom:1px solid var(--faint);grid-template-columns:minmax(240px,340px) 1fr;align-items:start;gap:56px 64px;padding:56px 0 64px;animation:.7s cubic-bezier(.16,1,.3,1) both riseIn;display:grid}.dish-media{min-width:0}.reel-slot{border:1px solid var(--faint);background:#111;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #00000059}.reel-embed{width:100%}.reel-embed .instagram-media{display:block;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}.reel-embed iframe{display:block;border:0!important;border-radius:0!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}.reel-fallback{aspect-ratio:9/16;width:100%;color:var(--white);text-align:center;cursor:none;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:32px;text-decoration:none;display:flex}.reel-fallback-glyph{width:56px;height:56px;color:var(--dim);border:1px solid #f2f0eb4d;border-radius:50%;justify-content:center;align-items:center;padding-left:4px;font-size:16px;transition:border-color .3s,color .3s,background .3s;display:flex}.reel-fallback-title{font-family:var(--serif);letter-spacing:-.01em;font-size:16px;font-weight:600}.reel-fallback-cta{letter-spacing:.2em;text-transform:uppercase;color:var(--dim);align-items:center;gap:6px;font-size:10px;transition:color .3s;display:inline-flex}.reel-fallback:hover .reel-fallback-glyph{border-color:var(--white);background:var(--white);color:var(--black)}.reel-fallback:hover .reel-fallback-cta{color:var(--white)}.dish-copy{min-width:0;padding-top:4px}.dish-title{font-family:var(--serif);letter-spacing:-.03em;margin-bottom:18px;font-size:clamp(28px,3.4vw,44px);font-weight:700;line-height:1.05}.dish-desc{color:var(--dim);max-width:480px;margin-bottom:32px;font-size:15px;line-height:1.8}.dish-detail{border-top:1px solid var(--faint)}.dish-detail:last-child{border-bottom:1px solid var(--faint)}.dish-summary{font-family:var(--serif);color:var(--white);cursor:none;-webkit-user-select:none;user-select:none;align-items:baseline;gap:12px;padding:18px 0;font-size:16px;font-weight:500;list-style:none;transition:color .3s;display:flex}.dish-summary::-webkit-details-marker{display:none}.dish-summary::marker{content:""}.dish-chevron{opacity:.6;flex:none;align-self:center;width:10px;height:10px;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .3s;transform:rotate(180deg)}.dish-detail[open] .dish-chevron{opacity:1;transform:rotate(270deg)}.dish-summary:hover .dish-chevron{opacity:1}.dish-summary-suffix{color:var(--dim);font-size:13px;font-style:italic;font-weight:300}.dish-detail-body{padding:4px 0 26px 22px;animation:.45s cubic-bezier(.16,1,.3,1) both riseIn}.ingredient-list{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px;list-style:none;display:flex}.ingredient{align-items:center;gap:8px;font-size:15px;font-weight:500;display:inline-flex}.ingredient img{object-fit:contain;width:22px;height:22px;display:block}.dish-note{color:var(--dim);letter-spacing:.02em;font-size:12px;line-height:1.7}.dish-footnote{margin-top:14px;font-style:italic}.nutrition{border-collapse:collapse;border:1px solid #f2f0eb38;width:100%;max-width:520px;font-size:13px}.nutrition th,.nutrition td{text-align:center;letter-spacing:.02em;border:1px solid #f2f0eb38;min-height:48px;padding:14px 18px;font-weight:400}.nutrition th{color:var(--white);width:50%}.nutrition td{color:#f2f0ebbf}.menu-empty{border-bottom:1px solid var(--faint);text-align:center;flex-direction:column;align-items:center;gap:28px;padding:96px 0 104px;animation:.7s cubic-bezier(.16,1,.3,1) both riseIn;display:flex}.menu-empty-plate{width:120px;height:120px;box-shadow:inset 0 0 0 14px var(--black), inset 0 0 0 15px #f2f0eb14;border:1px solid #f2f0eb2e;border-radius:50%}.menu-empty-line{font-family:var(--serif);color:var(--dim);font-size:clamp(18px,2vw,24px);font-style:italic}@media (max-width:900px){.menu-header{flex-direction:column;gap:32px;padding-bottom:48px;display:flex}.menu-header-art{order:-1;justify-self:stretch;width:100%}.menu-header-art img{max-height:360px}.dish{grid-template-columns:1fr;gap:36px}.dish-media{max-width:340px}}@media (max-width:768px){#page-visuals{padding:120px 24px}.menu-header .sec-label{margin-bottom:28px}.menu-courses{gap:4px 28px;padding:20px 0}.course-tab:after{bottom:-21px}.course-tab,.dish-summary,.reel-fallback{cursor:pointer}.dish{padding:40px 0 48px}.dish-summary{flex-wrap:wrap}.dish-detail-body{padding-left:0}.nutrition th,.nutrition td{padding:12px 10px}}@media (max-width:480px){#page-visuals{padding:110px 20px 120px}.dish-media{max-width:none}}@media (prefers-reduced-motion:reduce){.dish,.menu-empty,.dish-detail-body{animation:none}.dish-chevron,.course-tab:after{transition:none}}
