*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}iframe,img,svg,video{display:block;max-width:100%}img{height:auto}button,input,select,textarea{color:inherit;font:inherit}button{background:none;border:0;cursor:pointer;padding:0}a{color:inherit;text-decoration:none}blockquote,figure,h1,h2,h3,h4,h5,h6,ol,p,ul{margin:0}ol,ul{padding:0}.icon{flex:none;height:1.125em;width:1.125em}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0);border:0;white-space:nowrap}.skip-link{left:16px;padding:10px 16px;position:absolute;top:-60px;z-index:200}.skip-link:focus{top:12px}[hidden]{display:none!important}.gh-content{display:grid;grid-template-columns:[full-start] minmax(var(--gutter,20px),1fr) [wide-start] minmax(0,calc((var(--wide-width, 1120px) - var(--content-width, 720px))/2)) [main-start] min(var(--content-width,720px),calc(100% - var(--gutter, 20px)*2)) [main-end] minmax(0,calc((var(--wide-width, 1120px) - var(--content-width, 720px))/2)) [wide-end] minmax(var(--gutter,20px),1fr) [full-end]}.gh-content>*{grid-column:main-start/main-end;min-width:0}.gh-content>.kg-width-wide{grid-column:wide-start/wide-end}.gh-content>.kg-width-full{grid-column:full-start/full-end}.gh-content>.kg-width-full img{width:100%}.gh-content .kg-embed-card iframe{aspect-ratio:16/9;height:auto;width:100%}@media (max-width:767px){.gh-content>.kg-width-wide{grid-column:main-start/main-end}}.notice{display:none}[data-members-form].error .notice-error,[data-members-form].success .notice-success{display:flex}[data-members-form].success .form-fields{display:none}[data-members-form].loading [type=submit]{opacity:.6;pointer-events:none}.tiers [data-price=yearly]{display:none}.tiers.show-yearly [data-price=yearly]{display:flex}.tiers.show-yearly [data-price=monthly]{display:none}.reading-progress{left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:150}.reading-progress:before{background:var(--progress-color,currentColor);content:"";inset:0;position:absolute;transform:scaleX(var(--progress,0));transform-origin:0 50%}.lightbox{align-items:center;background:rgba(8,8,10,.94);display:flex;inset:0;justify-content:center;position:fixed;z-index:300}.lightbox figure,.lightbox img{max-height:86vh;max-width:92vw}.lightbox img{height:auto;-o-object-fit:contain;object-fit:contain;width:auto}.lightbox button{border-radius:50%;color:#fff;font-size:34px;height:52px;line-height:1;position:absolute;width:52px}.lightbox button:hover{background:hsla(0,0%,100%,.12)}.lightbox-close{right:16px;top:16px}.lightbox-prev{left:16px}.lightbox-next,.lightbox-prev{top:50%;transform:translateY(-50%)}.lightbox-next{right:16px}.lightbox-count{bottom:20px;color:hsla(0,0%,100%,.7);font-size:13px;left:50%;letter-spacing:.08em;position:absolute;transform:translateX(-50%)}.lightbox-open{overflow:hidden}.can-reveal [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.can-reveal [data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.can-reveal [data-reveal]{opacity:1;transform:none;transition:none}}@font-face{font-display:swap;font-family:Syne;font-style:normal;font-weight:400 800;src:url(../fonts/syne-normal-400-800.woff2) format("woff2")}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:400 800;src:url(../fonts/manrope-normal-400-800.woff2) format("woff2")}.post-comments iframe,:root,[data-ghost-comments] iframe{color-scheme:light}:root{--bg:#f2f0eb;--bg-2:#e8e5dd;--card:#fbfaf7;--ink:#0e0e0e;--ink-2:#3b3a36;--muted:#77746c;--line:rgba(14,14,14,.14);--line-2:rgba(14,14,14,.9);--accent:var(--ghost-accent-color,#2b3cff);--on-accent:#fff;--tag:var(--accent);--display:var(--gh-font-heading,"Syne"),system-ui,sans-serif;--body:var(--gh-font-body,"Manrope"),system-ui,-apple-system,"Segoe UI",sans-serif;--container:1280px;--gutter:48px;--content-width:680px;--wide-width:1080px}:root[data-theme=dark]{--bg:#0f0f0e;--bg-2:#1a1a18;--card:#151514;--ink:#f2f0eb;--ink-2:#cfccc4;--muted:#8e8b83;--line:rgba(242,240,235,.14);--line-2:rgba(242,240,235,.85);color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-theme=system]{--bg:#0f0f0e;--bg-2:#1a1a18;--card:#151514;--ink:#f2f0eb;--ink-2:#cfccc4;--muted:#8e8b83;--line:rgba(242,240,235,.14);--line-2:rgba(242,240,235,.85);color-scheme:dark}}@media (max-width:767px){:root{--gutter:20px}}body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;transition:background-color .25s ease,color .25s ease}::-moz-selection{background:var(--accent);color:var(--on-accent)}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{background:var(--accent);color:var(--on-accent)}.container{max-width:calc(var(--container) + var(--gutter)*2)}.container,.container-text{margin:0 auto;padding:0 var(--gutter);width:100%}.container-text{max-width:calc(var(--content-width) + var(--gutter)*2)}.article-title,.case-title,.display,.gh-content>h2,.hero-title,.note-title,.project-title,.section-title{font-family:var(--display);font-weight:700;letter-spacing:-.035em;line-height:1}.display{font-size:clamp(44px,7vw,108px);line-height:.95;text-wrap:balance}.label{color:var(--muted);font-size:12px;font-weight:800;gap:8px;letter-spacing:.14em;text-transform:uppercase}.btn,.label{align-items:center;display:inline-flex}.btn{background:transparent;border:1.5px solid var(--ink);border-radius:0;color:var(--ink);font-family:var(--body);font-size:15px;font-weight:700;gap:10px;justify-content:center;line-height:1;min-height:48px;padding:0 22px;transition:background-color .2s ease,color .2s ease,border-color .2s ease;white-space:nowrap}.btn .icon{height:18px;transition:transform .2s ease;width:18px}.btn:hover .icon{transform:translate(2px,-2px)}.btn-accent,.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-accent:hover,.btn-primary:hover{border-color:var(--ink)}.btn-accent:hover,.btn-outline:hover,.btn-primary:hover{background:var(--ink);color:var(--bg)}.btn-block{width:100%}.btn-sm{font-size:13px;min-height:38px;padding:0 14px}.btn-lg{font-size:16px;min-height:58px;padding:0 28px}.icon-btn{align-items:center;color:var(--ink);display:inline-flex;height:42px;justify-content:center;transition:color .15s ease;width:42px}.icon-btn:hover{color:var(--accent)}.icon-btn .icon{height:20px;width:20px}.input{background:transparent;border:0;border-bottom:1.5px solid var(--ink);border-radius:0;color:var(--ink);font-family:var(--body);font-size:16px;min-height:52px;outline:none;padding:0 16px;transition:border-color .15s ease;width:100%}.input::-moz-placeholder{color:var(--muted)}.input::placeholder{color:var(--muted)}.input:focus{border-color:var(--accent)}.field{display:flex;flex-direction:column;gap:6px}.field label{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.members-form{display:flex;flex-direction:column;gap:10px}.inline-form{align-items:flex-end;display:flex;gap:12px}.inline-form .input{flex:1;min-width:0;padding-left:0}.form-note{color:var(--muted);font-size:13px}.notice{align-items:center;border:1.5px solid;font-size:15px;font-weight:600;gap:10px;padding:12px 16px}.notice-success{color:#1f8a4c}.notice-error{color:#d7263d}.badge{align-items:center;background:var(--ink);color:var(--bg);display:inline-flex;font-size:11px;font-weight:800;gap:5px;left:12px;letter-spacing:.1em;padding:5px 10px;position:absolute;text-transform:uppercase;top:12px;z-index:2}.badge .icon{height:12px;width:12px}.lock-chip{align-items:center;background:var(--ink);color:var(--bg);display:inline-flex;font-size:11px;font-weight:800;gap:5px;letter-spacing:.1em;padding:3px 8px;text-transform:uppercase}.lock-chip .icon{height:12px;width:12px}.site-main{min-height:60vh;overflow-x:clip}.section{padding-top:120px}.section-head{align-items:flex-end;border-bottom:1.5px solid var(--line-2);display:flex;gap:24px;justify-content:space-between;margin-bottom:0;padding-bottom:20px}.section-title{font-size:clamp(30px,3.6vw,52px)}.link-arrow{align-items:center;display:inline-flex;font-size:15px;font-weight:700;gap:8px}.link-arrow .icon{height:16px;transition:transform .2s ease;width:16px}.link-arrow:hover{color:var(--accent)}.link-arrow:hover .icon{transform:translateX(3px)}.grid{display:grid;gap:56px 32px;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:36px}.load-more-wrap{display:flex;justify-content:center;margin-top:56px}.load-more[aria-busy=true]{opacity:.6}.pagination{display:flex;font-weight:700;justify-content:space-between;margin-top:48px}.avatar{align-items:center;background:var(--bg-2);border-radius:50%;color:var(--muted);display:inline-flex;height:30px;justify-content:center;-o-object-fit:cover;object-fit:cover;width:30px}.avatar .icon{height:55%;width:55%}.meta{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:14px;gap:8px 20px}.meta-author{align-items:center;color:var(--ink);display:inline-flex;font-weight:700;gap:10px}.meta-author:hover{color:var(--accent)}.empty,.error{align-items:flex-start;display:flex;flex-direction:column;gap:24px;padding-top:88px}.empty p,.error p{color:var(--ink-2);font-size:20px;max-width:560px}.error-code{color:var(--accent);font-family:var(--display);font-size:clamp(140px,26vw,360px);font-weight:800;letter-spacing:-.06em;line-height:.8}@media (max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){body{font-size:16px}.grid{gap:44px;grid-template-columns:1fr}.section{padding-top:88px}.inline-form{align-items:stretch;flex-direction:column}}.site-header{backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg) 90%,transparent);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.header-inner{align-items:center;display:flex;gap:32px;min-height:72px}.header-inner>*{flex-shrink:0}.logo{align-items:center;display:inline-flex;font-family:var(--display);font-size:22px;font-weight:800;gap:10px;letter-spacing:-.03em;line-height:1}.logo-mark{background:var(--accent);height:14px;transition:transform .4s ease;width:14px}.logo:hover .logo-mark{transform:rotate(90deg)}.logo img{max-height:34px;width:auto}.logo .logo-dark,:root[data-theme=dark] .logo.has-dark-logo .logo-light{display:none}:root[data-theme=dark] .logo.has-dark-logo .logo-dark{display:block}.header-nav{flex:1;flex-shrink:1;min-width:0}.header-nav .nav{display:flex;gap:28px;list-style:none}.header-nav .nav a{display:block;font-size:15px;font-weight:700;padding:6px 0;position:relative}.header-nav .nav a:after{background:var(--accent);bottom:0;content:"";height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.header-nav .nav a:hover:after,.header-nav .nav-current a:after{transform:scaleX(1)}.clock{align-items:center;color:var(--muted);display:inline-flex;font-size:13px;font-variant-numeric:tabular-nums;font-weight:700;gap:8px}.clock time{color:var(--ink)}.clock-dot{animation:ping 2.4s ease-out infinite;background:#1fbf6a;border-radius:50%;box-shadow:0 0 0 0 rgba(31,191,106,.6);height:7px;width:7px}@keyframes ping{70%{box-shadow:0 0 0 7px rgba(31,191,106,0)}to{box-shadow:0 0 0 0 rgba(31,191,106,0)}}@media (prefers-reduced-motion:reduce){.clock-dot{animation:none}}.header-actions{align-items:center;display:flex;gap:2px;margin-left:auto}.header-members{align-items:center;display:inline-flex;gap:14px;margin-left:10px}.link-signin{font-size:15px;font-weight:700}.link-signin:hover{color:var(--accent)}.site-header .btn{padding:0 16px}.menu-btn,.site-header .btn{font-size:14px;min-height:40px}.menu-btn{align-items:center;display:none;font-weight:800;gap:8px;letter-spacing:.1em;padding:0 4px 0 10px;text-transform:uppercase}.menu-btn .icon{height:22px;width:22px}.theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}@media (prefers-color-scheme:dark){:root[data-theme=system] .theme-toggle .icon-sun{display:block}:root[data-theme=system] .logo.has-dark-logo .logo-light,:root[data-theme=system] .theme-toggle .icon-moon{display:none}:root[data-theme=system] .logo.has-dark-logo .logo-dark{display:block}}.reading-progress{height:3px}.reading-progress:before,.site-menu{background:var(--accent)}.site-menu{color:var(--on-accent);display:none;inset:0;overflow-y:auto;position:fixed;z-index:100}.menu-open{overflow:hidden}.menu-open .site-menu{animation:wipe .45s cubic-bezier(.7,0,.2,1);display:block}@keyframes wipe{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}.site-menu-scrim{display:none}.site-menu-inner{display:flex;flex-direction:column;gap:40px;min-height:100%;padding-bottom:32px;padding-top:16px}.site-menu-head{align-items:center;display:flex;justify-content:space-between;min-height:56px}.site-menu .logo-mark{background:var(--on-accent)}.site-menu .menu-btn{display:inline-flex}.menu-primary .nav{counter-reset:m;list-style:none}.menu-primary .nav li{border-bottom:1px solid hsla(0,0%,100%,.3);counter-increment:m}.menu-primary .nav a{align-items:baseline;display:flex;font-family:var(--display);font-size:clamp(40px,9vw,88px);font-weight:700;gap:18px;letter-spacing:-.04em;line-height:1;padding:10px 0;transition:padding-left .3s ease}.menu-primary .nav a:before{content:counter(m,decimal-leading-zero);font-family:var(--body);font-size:14px;font-weight:800;letter-spacing:.1em;opacity:.7}.menu-primary .nav a:hover{padding-left:16px}.menu-foot{align-items:end;display:grid;gap:28px;grid-template-columns:1fr 1fr auto;margin-top:auto}.menu-col{display:flex;flex-direction:column;gap:10px}.site-menu .clock,.site-menu .clock time,.site-menu .label{color:var(--on-accent)}.site-menu .label{opacity:.75}.menu-mail{font-size:20px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.menu-members{align-items:center;display:flex;gap:14px}.site-menu .btn{background:var(--on-accent);border-color:var(--on-accent);color:var(--accent)}.site-menu .btn-outline{background:transparent;color:var(--on-accent)}.theme-switch{border:1.5px solid var(--on-accent);display:inline-flex}.theme-switch button{color:var(--on-accent);font-size:13px;font-weight:800;letter-spacing:.08em;padding:8px 14px;text-transform:uppercase}.theme-switch button+button{border-left:1.5px solid var(--on-accent)}.theme-switch button[aria-pressed=true]{background:var(--on-accent);color:var(--accent)}.contact{background:var(--accent);color:var(--on-accent);margin-top:140px;padding:96px 0}.contact-inner{display:flex;flex-direction:column;gap:18px}.contact-title{font-size:clamp(18px,2vw,24px);font-weight:700}.contact-mail{align-items:center;align-self:flex-start;display:inline-flex;font-family:var(--display);font-size:clamp(34px,7.4vw,120px);font-weight:800;gap:.15em;letter-spacing:-.05em;line-height:1;max-width:100%;overflow-wrap:anywhere}.contact-mail.is-fit{overflow-wrap:normal;white-space:nowrap}.contact-mail span{background:linear-gradient(currentColor,currentColor) 0 100% /0 4px no-repeat;transition:background-size .4s ease}.contact-mail:hover span{background-size:100% 4px}.contact-mail .icon{flex:0 0 auto;height:.7em;transition:transform .3s ease;width:.7em}.contact-mail:hover .icon{transform:translate(6px,-6px)}.site-footer{padding-bottom:28px;padding-top:96px}.contact+.site-footer,.site-main:has(>.contact:last-child)+.site-footer{padding-top:88px}.footer-top{display:grid;gap:80px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.footer-sub{display:flex;flex-direction:column;gap:14px;max-width:520px}.footer-sub h2{font-family:var(--display);font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1.05}.footer-sub p{color:var(--ink-2)}.footer-sub .members-form{margin-top:10px}.footer-cols{display:grid;gap:32px;grid-template-columns:1fr 1fr}.footer-col{align-items:flex-start;font-weight:700;gap:12px}.footer-col,.footer-col .nav{display:flex;flex-direction:column}.footer-col .nav{gap:10px;list-style:none}.footer-col a:hover{color:var(--accent)}.footer-social{display:flex;gap:16px}.footer-giant{font-family:var(--display);font-size:clamp(72px,19vw,300px);font-weight:800;letter-spacing:-.065em;line-height:.78;margin-top:96px;overflow:hidden;white-space:nowrap}.footer-copy{border-top:1px solid var(--line);color:var(--muted);display:flex;font-size:13px;gap:16px;justify-content:space-between;margin-top:28px;padding-top:18px}.footer-copy a:hover{color:var(--accent)}@media (max-width:1100px){.header-inner .clock{display:none}}@media (max-width:1000px){.header-nav{display:none}.menu-btn{display:inline-flex}}@media (max-width:767px){.header-inner{gap:8px;min-height:60px}.header-actions .theme-toggle,.header-members{display:none}.logo{font-size:19px}.menu-foot{grid-template-columns:1fr}.contact{margin-top:100px;padding:64px 0}.footer-top{gap:48px;grid-template-columns:1fr}.footer-giant{margin-top:64px}.footer-copy{flex-direction:column}}.view-toggle{border:1.5px solid var(--ink);display:inline-flex}.view-toggle button{align-items:center;display:inline-flex;font-size:13px;font-weight:800;gap:7px;letter-spacing:.06em;padding:8px 14px;text-transform:uppercase}.view-toggle button+button{border-left:1.5px solid var(--ink)}.view-toggle button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.view-toggle .icon{height:15px;width:15px}.work-head{border-bottom:1px solid var(--line);color:var(--muted);display:grid;font-size:12px;font-weight:800;gap:24px;grid-template-columns:72px minmax(0,1fr) 240px 80px 44px;letter-spacing:.14em;padding:14px 0;text-transform:uppercase}.work-head:has(+.work.is-grid){display:none}.work{counter-reset:p}.project-no:before{content:counter(p,decimal-leading-zero);counter-increment:p}.project-img{background:var(--bg-2);display:block;overflow:hidden;position:relative}.project-img img{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);width:100%}.project-tags span+span:before{content:" / "}.project-arrow .icon{height:24px;transition:transform .25s ease;width:24px}.work.is-list .project-link{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:24px;grid-template-columns:72px minmax(0,1fr) 240px 80px 44px;padding:26px 0;transition:background-color .25s ease,color .25s ease,padding .3s cubic-bezier(.2,.7,.2,1)}.work.is-list .project-img{display:none}.work.is-list .project-no{color:var(--muted);font-size:14px;font-weight:800}.work.is-list .project-title{font-size:clamp(24px,2.8vw,42px)}.work.is-list .project-tags,.work.is-list .project-year{color:var(--ink-2);font-size:15px;font-weight:600}.work.is-list .project-link:hover{background:var(--accent);color:var(--on-accent);padding-left:20px;padding-right:20px}.work.is-list .project-link:hover :is(.project-no,.project-tags,.project-year){color:hsla(0,0%,100%,.85)}.work.is-list .project-link:hover .project-arrow .icon{transform:rotate(45deg)}.work.is-grid{display:grid;gap:64px 40px;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:40px}.work.is-grid .project-link{align-items:baseline;display:grid;gap:8px 16px;grid-template-areas:"img img img" "no title year" ". tags tags";grid-template-columns:auto minmax(0,1fr) auto}.work.is-grid .project-img{aspect-ratio:4/3;grid-area:img;margin-bottom:12px}.work.is-grid .project-link:hover .project-img img{transform:scale(1.04)}.work.is-grid .project-no{color:var(--muted);font-size:14px;font-weight:800;grid-area:no}.work.is-grid .project-title{font-size:clamp(22px,2.2vw,30px);grid-area:title}.work.is-grid .project-link:hover .project-title{color:var(--accent)}.work.is-grid .project-year{font-size:14px;font-weight:700;grid-area:year}.work.is-grid .project-tags{color:var(--muted);font-size:14px;grid-area:tags}.work.is-grid .project-arrow{display:none}.work.is-grid .project:nth-child(2n){transform:translateY(80px)}.work.is-grid{padding-bottom:80px}.work-all{margin-top:32px}.idx-preview{aspect-ratio:4/3;box-shadow:0 30px 60px -20px rgba(0,0,0,.35);left:0;-o-object-fit:cover;object-fit:cover;opacity:0;pointer-events:none;position:fixed;scale:.85;top:0;transition:opacity .2s ease,scale .25s ease;width:360px;z-index:60}.idx-preview.is-on{opacity:1;scale:1}.note{display:flex;flex-direction:column;gap:14px}.note-img{aspect-ratio:4/3;background:var(--bg-2);display:block;margin-bottom:6px;overflow:hidden;position:relative}.note-img img{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);width:100%}.note:hover .note-img img{transform:scale(1.04)}.note-meta{color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;font-weight:800;gap:6px 16px;letter-spacing:.12em;text-transform:uppercase}.note-meta a{color:var(--accent)}.note-title{font-size:clamp(21px,1.9vw,26px);line-height:1.1}.note-title a:hover{color:var(--accent)}.note-excerpt{color:var(--ink-2);font-size:16px}@media (max-width:1000px){.work-head{display:none}.work.is-list .project-link{gap:4px 18px;grid-template-areas:"img title year" "img tags tags";grid-template-columns:96px minmax(0,1fr) auto;padding:18px 0}.work.is-list .project-img{aspect-ratio:4/3;display:block;grid-area:img}.work.is-list .project-arrow,.work.is-list .project-no{display:none}.work.is-list .project-title{font-size:22px;grid-area:title}.work.is-list .project-year{grid-area:year}.work.is-list .project-tags{font-size:14px;grid-area:tags}.work.is-list .project-link:hover{background:none;color:inherit;padding-left:0;padding-right:0}.work.is-grid .project:nth-child(2n){transform:none}.work.is-grid{padding-bottom:0}}@media (max-width:767px){.work.is-grid{gap:48px;grid-template-columns:1fr}.work.is-list .project-link{grid-template-columns:84px minmax(0,1fr) auto}.work.is-list .project-title{font-size:19px}.section-head{flex-wrap:wrap}}.hero{padding-top:88px}.hero-title{font-size:clamp(46px,8.6vw,142px);font-weight:800;letter-spacing:-.05em;line-height:.96;text-wrap:balance}.hero-line{display:inline}.hero-title>.hero-line:first-child{display:block}.hero-pill{aspect-ratio:2.1/1;background:var(--bg-2);border-radius:999px;display:inline-block;height:.74em;margin:0 .06em;overflow:hidden;transition:aspect-ratio .5s cubic-bezier(.2,.7,.2,1);vertical-align:-.04em}.hero-pill img{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease;width:100%}.hero-pill:hover{aspect-ratio:2.8/1}.hero-pill:hover img{transform:scale(1.08)}.hero-foot{align-items:end;border-top:1.5px solid var(--line-2);display:grid;gap:40px;grid-template-columns:minmax(0,1fr) auto;margin-top:64px;padding-top:28px}.hero-text{color:var(--ink-2);font-size:20px;line-height:1.5;max-width:560px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.services{display:grid;gap:32px;grid-template-columns:220px minmax(0,1fr)}.services .label{padding-top:14px}.service-list{border-top:1.5px solid var(--line-2);display:flex;flex-wrap:wrap;list-style:none;padding-top:6px}.service-list li{font-family:var(--display);font-size:clamp(34px,5vw,76px);font-weight:700;letter-spacing:-.045em;line-height:1.08}.service-list li:not(:last-child){margin-right:.28em}.service-list a{transition:color .2s ease}.service-list a:hover{color:var(--tag)}.service-list sup{color:var(--muted);font-family:var(--body);font-size:.22em;font-weight:800;letter-spacing:0;margin-left:.08em;vertical-align:2.4em}@media (max-width:900px){.hero-foot,.services{grid-template-columns:1fr}.services{gap:12px}.services .label{padding-top:0}}@media (max-width:767px){.hero{padding-top:48px}.hero-text{font-size:18px}.hero-foot{margin-top:44px}}.case-head{padding-top:48px}.crumbs{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;font-weight:800;gap:10px;letter-spacing:.14em;text-transform:uppercase}.crumbs a:hover{color:var(--accent)}.case-title{font-size:clamp(46px,8vw,132px);font-weight:800;letter-spacing:-.05em;line-height:.94;margin:28px 0 48px;text-wrap:balance}.case-intro{align-items:start;display:grid;gap:72px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.case-lead{font-size:clamp(20px,2vw,26px);font-weight:500;line-height:1.4}.facts{display:grid;gap:22px 32px;grid-template-columns:1fr 1fr}.facts>div{border-top:1.5px solid var(--line-2);padding-top:10px}.facts dt{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.facts dd{font-size:16px;font-weight:700;margin:4px 0 0}.facts dd a:hover{color:var(--accent)}.case-cover{margin-top:72px}.case-cover img{max-height:90vh;-o-object-fit:cover;object-fit:cover;width:100%}.case-cover figcaption{color:var(--muted);font-size:13px;margin-top:12px}.case .gh-content{padding-top:88px}.case .gh-content>:is(.kg-image-card:not(.kg-width-full),.kg-gallery-card){grid-column:wide}.case.is-full-bleed .gh-content>:is(.kg-image-card,.kg-gallery-card){grid-column:full}.is-full-bleed .gh-content>.kg-gallery-card .kg-gallery-container,.is-full-bleed .gh-content>.kg-gallery-card .kg-gallery-row{gap:0}.is-full-bleed .gh-content>:is(.kg-image-card,.kg-gallery-card) figcaption{padding:0 var(--gutter)}.article-head{padding-top:72px}.article-kicker{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;font-weight:800;gap:8px 18px;letter-spacing:.14em;text-transform:uppercase}.article-kicker a{color:var(--accent)}.article-title{font-size:clamp(38px,5.4vw,72px);line-height:1;margin:22px 0 20px;text-wrap:balance}.article-lead{color:var(--ink-2);font-size:21px;line-height:1.5;margin-bottom:26px}.article-image{margin-top:56px;max-width:calc(var(--wide-width) + var(--gutter)*2)}.article-image img{width:100%}.article-image figcaption{color:var(--muted);font-size:13px;margin-top:12px}.article .gh-content{padding-top:64px}.article-head+.gh-content{padding-top:48px}.post-end{display:flex;flex-direction:column;gap:40px;margin-top:72px}.share{align-items:center;border-bottom:1px solid var(--line);border-top:1.5px solid var(--line-2);display:flex;font-size:12px;font-weight:800;gap:16px;justify-content:space-between;letter-spacing:.14em;padding:14px 0;text-transform:uppercase}.share-links{display:flex;gap:2px}.share-copied{background:var(--accent);color:var(--on-accent);margin-left:10px;padding:3px 8px}.author-card{align-items:center;display:grid;gap:22px;grid-template-columns:auto minmax(0,1fr)}.author-card .avatar{filter:grayscale(1);height:80px;width:80px}.author-card-name{display:block;font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.02em;margin-top:4px}.author-card-name:hover{color:var(--accent)}.author-card p{color:var(--ink-2);font-size:16px;margin-top:4px}.post-comments{margin-top:64px}.prevnext{border-top:1.5px solid var(--line-2);display:grid;grid-template-columns:1fr 1fr;margin-top:96px}.pn{display:flex;flex-direction:column;gap:8px;padding:24px 0;transition:color .2s ease}.pn-next{align-items:flex-end;border-left:1px solid var(--line);grid-column:2;text-align:right}.pn-prev{padding-right:24px}.pn-next{padding-left:24px}.pn .label .icon{height:14px;width:14px}.pn strong{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.pn:hover strong{color:var(--accent)}.next-project{background:var(--ink);color:var(--bg);display:block;margin-top:120px;overflow:hidden;position:relative}.next-project-inner{display:flex;flex-direction:column;gap:18px;padding-bottom:96px;padding-top:96px;position:relative;z-index:1}.next-project .label{color:var(--bg);opacity:.7}.next-project-title{font-family:var(--display);font-size:clamp(40px,7vw,112px);font-weight:800;letter-spacing:-.05em;line-height:.95;max-width:900px}.next-project-meta{align-items:center;display:inline-flex;font-size:15px;font-weight:700;gap:10px}.next-project-meta .icon{height:20px;transition:transform .3s ease;width:20px}.next-project img{height:100%;-o-object-fit:cover;object-fit:cover;opacity:.35;position:absolute;right:0;top:0;transition:opacity .5s ease,transform .8s cubic-bezier(.2,.7,.2,1);width:44%}.next-project:hover img{opacity:.9;transform:scale(1.04)}.next-project:hover .next-project-meta .icon{transform:translateX(6px)}.next-project+.contact{margin-top:0}@media (max-width:900px){.case-intro{gap:36px;grid-template-columns:1fr}.next-project img{opacity:.25;width:100%}}@media (max-width:767px){.case-cover{margin-top:48px}.case .gh-content{padding-top:56px}.article-head{padding-top:44px}.article-lead{font-size:18px}.prevnext{grid-template-columns:1fr}.pn-next{border-left:0;border-top:1px solid var(--line);grid-column:auto;padding-left:0}.pn-prev{padding-right:0}.next-project{margin-top:88px}.next-project-inner{padding-bottom:64px;padding-top:64px}}.gh-content{font-size:18px;line-height:1.75}.gh-content>*+*{margin-top:1.4em}.gh-content>:first-child{margin-top:0}.gh-content a:not(.btn){color:inherit;font-weight:600;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:4px;transition:color .15s ease}.gh-content a:not(.btn):hover{color:var(--accent)}.gh-content>h2{font-size:clamp(26px,2.6vw,34px);line-height:1.1;margin-top:2.2em}.gh-content>h3{font-size:20px;font-weight:800;line-height:1.3;margin-top:1.9em}.gh-content>h4{font-size:13px;font-weight:800;letter-spacing:.14em;margin-top:1.6em;text-transform:uppercase}.gh-content>:is(h2,h3,h4)+*{margin-top:.6em}.gh-content strong{font-weight:800}.gh-content ol,.gh-content ul{padding-left:1.3em}.gh-content li+li{margin-top:.45em}.gh-content ul li::marker{color:var(--accent);content:"—  "}.gh-content ol li::marker{color:var(--accent);font-weight:800}.gh-content blockquote:not([class]){border-bottom:1px solid var(--line);border-top:1.5px solid var(--line-2);font-family:var(--display);font-size:clamp(24px,2.8vw,34px);font-weight:600;letter-spacing:-.025em;line-height:1.2;margin-top:2em;padding:28px 0}.gh-content blockquote:not([class])>strong:last-child{color:var(--accent);display:block;font-family:var(--body);font-size:12px;font-weight:800;letter-spacing:.14em;line-height:1.3;margin-top:.9em;text-transform:uppercase}.gh-content .kg-blockquote-alt{font-family:var(--display);font-size:clamp(28px,3.4vw,44px);font-style:normal;font-weight:700;letter-spacing:-.035em;line-height:1.1;padding:12px 0;text-align:left}.gh-content hr{border:0;border-top:1px solid var(--line);height:0;margin:2.8em 0}.gh-content code{background:var(--bg-2);font-size:.85em;padding:2px 6px}.gh-content pre{background:var(--ink);color:var(--bg);font-size:15px;line-height:1.6;overflow-x:auto;padding:22px 24px}.gh-content pre code{background:none;font-size:inherit;padding:0}.gh-content table:not(.gist table){border-collapse:collapse;font-size:15px;width:100%}.gh-content td,.gh-content th{border-bottom:1px solid var(--line);padding:12px 14px 12px 0;text-align:left}.gh-content th{border-bottom:1.5px solid var(--line-2);color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.gh-content figcaption{color:var(--muted);font-size:13px;line-height:1.5;margin-top:12px}.gh-content .kg-gallery-image img,.gh-content .kg-image-card img{cursor:zoom-in}.gh-content .kg-gallery-container{display:flex;flex-direction:column;gap:16px}.gh-content .kg-gallery-row{display:flex;gap:16px}.gh-content .kg-gallery-image img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.gh-content .kg-embed-card{align-items:center;display:flex;flex-direction:column}.gh-content .kg-callout-card{background:var(--bg-2);border-left:3px solid var(--accent);border-radius:0;display:flex;font-size:16px;gap:14px;padding:22px 24px}.gh-content .kg-callout-card-accent{background:var(--accent);border-left-color:var(--ink);color:var(--on-accent)}.gh-content .kg-callout-card-accent a:not(.btn){text-decoration-color:var(--on-accent)}.gh-content .kg-callout-card div.kg-callout-emoji{font-size:22px;line-height:1.3;padding-right:0}.gh-content .kg-callout-card div.kg-callout-text{font-size:16px;line-height:1.6}.gh-content .kg-bookmark-card a.kg-bookmark-container{background:transparent;border:1px solid var(--line-2);border-radius:0;color:inherit;display:flex;min-height:148px;text-decoration:none;transition:background-color .2s ease}.gh-content .kg-bookmark-card a.kg-bookmark-container:hover{background:var(--bg-2);color:inherit}.gh-content .kg-bookmark-content{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0;padding:20px}.gh-content .kg-bookmark-title{font-size:17px;font-weight:800;line-height:1.3}.gh-content .kg-bookmark-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--ink-2);font-size:15px;line-height:1.5;overflow:hidden}.gh-content .kg-bookmark-metadata{align-items:center;color:var(--muted);display:flex;font-size:13px;font-weight:700;gap:8px;margin-top:auto}.gh-content .kg-bookmark-icon{height:20px;width:20px}.gh-content .kg-bookmark-thumbnail{flex:0 0 33%;position:relative}.gh-content .kg-bookmark-thumbnail img{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%}.gh-content .kg-button-card{display:flex;justify-content:flex-start}.gh-content .kg-btn-accent,.gh-content .kg-button-card a.kg-btn,.gh-content .kg-header-card-button,.gh-content .kg-product-card-btn-accent{align-items:center;background:var(--accent);border-radius:0;color:var(--on-accent);display:inline-flex;font-size:15px;font-weight:800;min-height:54px;padding:0 26px;text-decoration:none}.gh-content .kg-button-card a.kg-btn:hover{background:var(--ink);color:var(--bg)}.gh-content .kg-audio-card,.gh-content .kg-file-card-container,.gh-content .kg-product-card-container,.gh-content .kg-toggle-card{background:transparent;border:0;border-radius:0;border-top:1px solid var(--line);padding:20px 0}.gh-content .kg-toggle-card+.kg-toggle-card{margin-top:0}.gh-content .kg-toggle-card:last-of-type{border-bottom:1px solid var(--line)}.gh-content .kg-toggle-heading{align-items:center;cursor:pointer;display:flex;gap:16px;justify-content:space-between}.gh-content .kg-product-card-title,.gh-content .kg-toggle-card h4.kg-toggle-heading-text{font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.3;margin:0;text-transform:none}.gh-content .kg-toggle-card-icon{background:none;border:0;color:var(--ink);height:24px;transition:transform .2s ease;width:24px}.gh-content .kg-toggle-card[data-kg-toggle-state=open] .kg-toggle-card-icon{transform:rotate(180deg)}.gh-content .kg-toggle-content{color:var(--ink-2);font-size:16px;margin-top:12px}.gh-content .kg-toggle-card[data-kg-toggle-state=close] .kg-toggle-content{display:none}.gh-content .gate{margin-top:2em}@media (max-width:767px){.gh-content{font-size:17px}.gh-content .kg-bookmark-card a.kg-bookmark-container{flex-direction:column-reverse}.gh-content .kg-bookmark-thumbnail{flex-basis:160px}}.page-head{align-items:flex-start;display:flex;flex-direction:column;gap:24px;padding-top:72px}.page-head.is-center{align-items:center;text-align:center}.page-lead{color:var(--ink-2);font-size:20px;line-height:1.5;max-width:640px}.page-head+.gh-content{padding-top:64px}.page-image{margin-top:64px}.page-image img{max-height:80vh;-o-object-fit:cover;object-fit:cover;width:100%}.page-image+.gh-content{padding-top:72px}.is-page .section-head{padding-top:0}.archive-head{padding-top:72px}.archive-head .display{font-size:clamp(56px,10vw,160px);font-weight:800;letter-spacing:-.055em;margin-top:18px}.tag-dot{background:var(--tag);height:10px;width:10px}.archive-foot{align-items:flex-end;border-top:1.5px solid var(--line-2);display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-top:36px;padding-top:20px}.archive-count{color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.author-head{align-items:end;display:grid;gap:56px;grid-template-columns:260px minmax(0,1fr)}.author-photo .avatar{border-radius:0;filter:grayscale(1);height:320px;width:260px}.is-author .display{font-size:clamp(48px,7.5vw,116px)}.is-author .page-lead{margin-top:18px}.archive-links{display:flex;flex-wrap:wrap;font-size:13px;font-weight:800;gap:8px 24px;letter-spacing:.12em;margin-top:22px;text-transform:uppercase}.archive-links a{align-items:center;display:inline-flex;gap:4px}.archive-links a:hover{color:var(--accent)}.archive-links .icon{height:14px;width:14px}.team{display:grid;gap:48px 28px;grid-template-columns:repeat(4,minmax(0,1fr))}.member{display:flex;flex-direction:column;gap:6px}.member-photo{aspect-ratio:4/5;background:var(--bg-2);display:block;margin-bottom:12px;overflow:hidden}.member-photo .avatar{border-radius:0;filter:grayscale(1);height:100%;transition:filter .4s ease,transform .6s ease;width:100%}.member:hover .member-photo .avatar{filter:none;transform:scale(1.03)}.member-name{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.025em;line-height:1.1}.member-loc{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.member-bio{color:var(--ink-2);font-size:15px;line-height:1.5;margin-top:4px}.member-count{align-items:center;color:var(--accent);display:inline-flex;font-size:14px;font-weight:800;gap:6px;margin-top:6px}.member-count .icon{height:15px;width:15px}@media (max-width:1000px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.page-head{padding-top:44px}.page-lead{font-size:18px}.archive-head{padding-top:44px}.author-head{gap:28px;grid-template-columns:1fr}.author-photo .avatar{height:220px;width:180px}}.caps{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.billing-toggle{border:1.5px solid var(--ink);display:inline-flex;margin-top:8px}.billing-toggle button{font-size:13px;font-weight:800;letter-spacing:.1em;min-width:120px;padding:12px 18px;text-transform:uppercase}.billing-toggle button+button{border-left:1.5px solid var(--ink)}.billing-toggle button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.tiers{border-top:1.5px solid var(--line-2);display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:72px}.tier{border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:18px;padding:32px 28px 36px;position:relative}.tier+.tier{border-left:1px solid var(--line)}.tier.is-featured{background:var(--accent);color:var(--on-accent)}.tier-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.tier-name{font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.tier .badge{position:static}.tier.is-featured .badge{background:var(--on-accent);color:var(--accent)}.tier-price{display:flex;flex-direction:column;gap:6px}.tier-price strong{font-family:var(--display);font-size:72px;font-weight:800;letter-spacing:-.05em;line-height:.95}.tier-price span{font-size:13px;font-weight:700;opacity:.75}.tier-desc{font-size:16px}.tier-benefits{display:flex;flex:1;flex-direction:column;gap:10px;list-style:none;margin-bottom:12px}.tier-benefits li{display:flex;font-size:15px;gap:10px;line-height:1.45}.tier-benefits .icon{color:var(--accent);flex:0 0 18px;height:18px;margin-top:2px;width:18px}.tier.is-featured .tier-benefits .icon{color:var(--on-accent)}.tier.is-featured .btn{background:var(--on-accent);border-color:var(--on-accent);color:var(--accent)}.tier.is-featured .btn:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}.tier>.btn{margin-top:auto}.faq{margin-top:104px}.gh-content>.gate{grid-column:full;max-width:none;width:100%}.gate{background:linear-gradient(180deg,transparent,var(--bg) 140px);margin-top:-140px!important;padding:140px var(--gutter) 0;position:relative}.gate-box{align-items:flex-start;background:var(--card);border:1.5px solid var(--ink);display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:680px;padding:40px}.gate-box h2{font-family:var(--display);font-size:clamp(26px,3vw,36px);font-weight:700;letter-spacing:-.03em;line-height:1.05}.gate-box p{color:var(--ink-2);font-size:17px}.icon-circle{align-items:center;background:var(--accent);color:var(--on-accent);display:inline-flex;height:52px;justify-content:center;width:52px}.icon-circle .icon{height:24px;width:24px}.switch-line{color:var(--ink-2);font-size:15px}.switch-line a{color:var(--ink);font-weight:800;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.gh-content .gate a:not(.btn):hover{color:var(--accent)}.auth{border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:calc(100vh - 73px)}.auth.no-image{grid-template-columns:1fr}.auth-form{display:flex;flex-direction:column;gap:18px;justify-content:center;margin:0 auto;max-width:560px;padding:72px var(--gutter);width:100%}.auth-form h1{font-family:var(--display);font-size:clamp(42px,5.6vw,80px);font-weight:800;letter-spacing:-.05em;line-height:.95}.auth-form>p{color:var(--ink-2);font-size:19px}.auth-form form{margin-top:10px}.auth-form .form-fields{display:flex;flex-direction:column;gap:22px}.auth-form .caps{color:var(--accent)}.legal{color:var(--muted);font-size:13px}.auth-img{background:var(--bg-2);position:relative}.auth-img img{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%}.account{display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:calc(760px + var(--gutter)*2);padding:72px var(--gutter) 0;width:100%}.account h1{font-family:var(--display);font-size:clamp(48px,7vw,96px);font-weight:800;letter-spacing:-.05em;line-height:.95;margin-bottom:36px}.panel{border-top:1px solid var(--line);padding:24px 0}.panel:first-of-type{border-top:1.5px solid var(--line-2)}.profile{align-items:center;display:flex;gap:18px}.profile .avatar{flex:0 0 64px;height:64px;overflow:hidden;position:relative;width:64px}.avatar-photo img{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%}.profile-text{display:flex;flex:1;flex-direction:column;min-width:0}.profile-text strong{font-size:20px}.profile-text span{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.plan{background:var(--accent);border:0;color:var(--on-accent);display:flex;flex-direction:column;gap:14px;margin:12px 0;padding:28px}.plan-row{align-items:center;display:flex;gap:16px;justify-content:space-between}.plan-row>div{display:flex;flex-direction:column;gap:4px}.plan-row strong{font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1.05}.plan .btn{border-color:var(--on-accent);color:var(--on-accent)}.plan .btn-primary{background:var(--on-accent);color:var(--accent)}.plan .btn:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}.account-links{padding:0}.account-links a{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:20px 0;transition:color .15s ease,padding .2s ease}.account-links a+a{border-top:1px solid var(--line)}.account-links a:hover{color:var(--accent);padding-left:8px}.account-links a>span{display:flex;flex-direction:column}.account-links a>span span{color:var(--muted);font-size:15px}.account-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}@media (max-width:900px){.auth{grid-template-columns:1fr}.auth-img{min-height:280px;order:-1}.tier+.tier{border-left:0}}@media (max-width:767px){.account{padding-top:44px}.plan-row,.profile{flex-wrap:wrap}.gate-box{padding:28px 22px}.tier-price strong{font-size:60px}}/*# sourceMappingURL=main.css.map */
