/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ease:initial}}}@layer theme{:root,:host{--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--tracking-tight:-.025em;--tracking-normal:0em;--leading-tight:1.25;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--color-canvas:#faf9f6;--color-lightbox-backdrop:#171a17c2;--color-placeholder:#e3e0dc;--color-placeholder-alt:#e4e5e8;--color-surface:#fff;--color-ink:#242422;--color-muted:#666663;--color-rule:#e4e2dd;--color-action:#2d3832;--color-action-hover:#405448;--color-accent:#496058;--color-focus:#527a64;--color-selection:#dbe6da;--color-score-poor:#b42318;--color-score-poor-wash:#fff0ee;--color-score-good:#087f47;--color-score-good-wash:#e4f6eb;--color-score-average:#a05a00;--color-score-average-wash:#fff0db;--font-sans:"Inter Variable", "Inter Fallback", Arial, sans-serif;--font-display:"Instrument Serif", "Instrument Serif Fallback", Georgia, serif;--text-label:.8125rem;--text-label--line-height:1.5;--text-small:.875rem;--text-small--line-height:1.6;--text-subheading:1.125rem;--text-subheading--line-height:1.4;--text-product:2rem;--text-product--line-height:1.1;--text-page:clamp(2.5rem, 4.5vw, 3.5rem);--text-page--line-height:1.1;--text-hero:clamp(2.75rem, 6vw, 4rem);--text-hero--line-height:1.05;--text-chapter:clamp(1.5625rem, 3vw, 1.875rem);--text-story:clamp(3rem, 5vw, 4rem);--text-story--line-height:1.08;--tracking-display:-.035em;--tracking-label:.06em;--radius-control:.375rem}}@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,ul,ol,figure{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}}@layer base{:root{--muted:var(--color-muted);--rule:var(--color-rule);--serif:var(--font-display);--elevated:0 20px 36px -22px #39334760;--page-gutter:1.25rem;--section-space:2rem}@media (width>=42.5rem){:root{--page-gutter:2rem;--section-space:3rem}}@media (width>=60rem){:root{--page-gutter:2.5rem;--section-space:4rem}}:root{font-family:var(--font-sans);font-synthesis:none;color:var(--color-ink);background:var(--color-canvas);-webkit-font-smoothing:antialiased}body{min-width:320px}p{line-height:1.7}h1,h2,h3{font-weight:400}::selection{background:var(--color-selection)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:6px}.skip-link{background:var(--color-ink);color:#fff;z-index:100;padding:12px 18px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}}@layer layout{.page-shell{flex-direction:column;width:min(800px,100% - 96px);min-height:100svh;margin:0 auto;display:flex}.page-shell>main{flex:1}.site-header{align-items:center;padding:42px 0 0;display:flex}.wordmark{letter-spacing:-.04em;color:var(--color-muted);font-size:17px}.wordmark:hover{color:var(--color-ink)}.home-intro{padding:58px 0 60px}.intro-description{color:var(--color-muted);letter-spacing:-.02em;margin-top:12px;font-size:20px;line-height:1.5}.project-index>h2{margin-bottom:18px}.project-list{padding:0;list-style:none}.project-list>li+li{border-top:1px solid var(--color-rule)}.project-row{border-radius:2px;grid-template-columns:172px 1fr 24px;align-items:center;gap:32px;padding:22px 0;display:grid}.project-thumbnail{aspect-ratio:1.8;background:var(--color-placeholder);border-radius:3px;width:100%;display:block;overflow:hidden}.project-thumbnail img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.project-status{color:var(--color-muted);margin-top:8px;font-size:11px;line-height:1.4;display:block}.project-summary{min-width:0;display:block}.project-name{letter-spacing:-.035em;font-size:24px;font-weight:500;line-height:1.3;display:block}.project-description{color:var(--color-muted);margin-top:8px;font-size:16px;line-height:1.5;display:block}.row-arrow{color:var(--color-muted);transition:translate .18s}.project-row-link:hover .project-name{text-underline-offset:5px;text-decoration:underline 1px}.project-row-link:hover .row-arrow{translate:4px}.site-footer{color:var(--color-muted);flex-wrap:wrap;gap:24px;margin-top:64px;padding:32px 0 40px;font-size:13px;display:flex}.site-footer a{align-items:center;min-height:36px;display:inline-flex}.site-footer a:hover{text-underline-offset:4px;text-decoration:underline}.story-page{padding-top:36px}.back-link{color:var(--color-muted)}.story-intro{padding:34px 0 50px}.story-intro>a{margin-top:22px}.story-intro:has(+.story-prose>h2:first-child){border-bottom:0;padding-bottom:0}.story-prose>h2:first-child{margin-top:36px}.story-role{color:var(--color-muted);margin-top:14px;font-size:14px}.media-grid{gap:24px;margin:32px 0;display:grid}.media-grid-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.media-grid-trio{grid-template-columns:repeat(3,minmax(0,1fr))}.story-lead-media{margin-top:36px}.story-screenshot{cursor:zoom-in;border:1px solid var(--color-rule);border-radius:3px;display:block;overflow:hidden}.story-screenshot img{width:100%;height:auto;display:block}.media-grid-trio{align-items:start}.media-grid-trio .story-screenshot img{height:auto}.media-placeholder{aspect-ratio:16/10;background:var(--color-placeholder);border-radius:3px}.media-placeholder-alt{background:var(--color-placeholder-alt)}.media-placeholder-shallow{aspect-ratio:7}.hosting-comparison{border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:36px;padding:26px 0;display:grid}.comparison-label,.comparison-detail{color:var(--color-muted);font-size:14px}.comparison-value{font-family:var(--font-display);font-size:var(--text-page);letter-spacing:-.025em;margin:8px 0;line-height:1.2}.site-comparison{margin-top:28px;padding:24px 0 28px}.site-comparison>h2,.site-comparison-site>h3{font-family:var(--font-display);font-size:var(--text-chapter);letter-spacing:-.02em;font-weight:400;line-height:1.15}.site-comparison>h2{margin-bottom:24px}.site-comparison-sites{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.site-comparison-site{min-width:0;padding-right:20px}.site-comparison-site+.site-comparison-site{border-left:1px solid var(--color-rule);padding:0 0 0 20px}.site-comparison-site>h3{margin-bottom:20px}.comparison-stack{min-height:80px;margin-top:24px}.comparison-stack h4{font-size:16px;font-weight:500}.comparison-stack p{color:var(--color-muted);margin-top:6px;font-size:14px;line-height:1.5}.site-comparison-site .pagespeed-heading h3{font-family:var(--font-sans);font-size:14px;font-weight:500}.site-comparison-site .score-gauge{width:clamp(40px,4.5vw,56px);font-size:19px}.site-comparison-site .score-label{font-size:10px}.site-comparison-site .pagespeed-row{gap:6px}.comparison-hosting{margin-top:16px}.site-comparison .comparison-value{font-size:clamp(32px,4.5vw,56px)}.story-prose>.story-caption{max-width:none;font-size:12px;line-height:1.6}.pagespeed-comparison{margin-top:40px}.pagespeed-heading{margin-bottom:24px}.pagespeed-heading h3{font-family:var(--font-display);font-size:var(--text-chapter);font-weight:400;line-height:1.15}.pagespeed-site+.pagespeed-site{margin-top:28px}.pagespeed-site h4{margin-bottom:16px;font-size:14px;font-weight:500}.pagespeed-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;display:grid}.pagespeed-score{text-align:center;justify-items:center;gap:8px;min-width:0;display:grid}.score-label{color:var(--color-ink);font-size:12px;font-weight:400;line-height:1.4}.score-note{color:var(--color-muted);font-size:10px;line-height:1.4}.pagespeed-score-poor{--score-color:var(--color-score-poor);--score-wash:var(--color-score-poor-wash)}.pagespeed-score-good{--score-color:var(--color-score-good);--score-wash:var(--color-score-good-wash)}.pagespeed-score-average{--score-color:var(--color-score-average);--score-wash:var(--color-score-average-wash)}.score-gauge{aspect-ratio:1;width:64px;color:var(--score-color);font-variant-numeric:tabular-nums;place-items:center;font-size:22px;font-weight:500;display:grid;position:relative}.score-gauge svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.score-track{fill:var(--score-wash);stroke:var(--score-wash);stroke-width:6px}.score-ring{fill:none;stroke:var(--score-color);stroke-width:6px;stroke-linecap:round}.score-gauge>span{position:relative}@media (width<=680px){.site-comparison-sites{grid-template-columns:1fr;gap:40px}.site-comparison-site,.site-comparison-site+.site-comparison-site{border:0;padding:0}.pagespeed-row{gap:6px}.score-gauge,.site-comparison-site .score-gauge{width:clamp(56px,18vw,72px);font-size:24px}.score-label,.site-comparison-site .score-label{overflow-wrap:anywhere;font-size:11px}}.story-contact{margin-top:64px;padding-top:0}.story-contact p{color:var(--color-muted);margin:12px 0 22px}.story-prose{font-size:17px;line-height:1.7}.story-prose>h2{font-family:var(--font-display);font-size:var(--text-chapter);letter-spacing:-.02em;margin:58px 0 16px;font-weight:400;line-height:1.15}.story-prose>.site-comparison+h2{margin-top:24px}.story-prose>p{max-width:none;color:var(--color-muted);margin:16px 0}.story-prose>p a,.story-prose details a{text-underline-offset:4px;text-decoration:underline}.story-prose details{border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);margin-top:24px;font-size:14px}.story-prose details+details{border-top:0;margin-top:0}.story-prose summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;list-style:none;display:flex}.story-prose summary::-webkit-details-marker{display:none}.story-prose summary:after{content:"+";font-size:20px;font-weight:300}.story-prose details[open] summary:after{content:"−"}.detail-content{max-width:680px;color:var(--color-muted);padding:0 0 24px}.detail-content p+p{margin-top:12px}.detail-content ol,.detail-content ul{padding-left:20px}.detail-content li+li{margin-top:10px}.story-prose figcaption{color:var(--color-muted);margin-top:12px;font-size:12px;line-height:1.5}.utility-page{max-width:680px;padding:48px 0}.utility-page>h1{margin:32px 0 20px}.utility-page>p{margin-bottom:24px}.privacy-toggle{background:var(--color-ink);color:var(--color-canvas);border:0;border-radius:4px;margin-top:12px;padding:12px 18px}@media (width<=680px){.page-shell{width:calc(100% - 40px)}.site-header{padding-top:28px}.wordmark{font-size:15px}.home-intro{padding:42px 0}.intro-description{max-width:330px;margin-top:12px;font-size:17px}.project-row{grid-template-columns:76px minmax(0,1fr) 18px;gap:16px;padding:20px 0}.project-thumbnail{aspect-ratio:1}.project-name{letter-spacing:-.035em;font-size:18px}.project-description{margin-top:6px;font-size:14px;line-height:1.5}.row-arrow{width:18px}.site-footer{gap:20px;margin-top:36px;padding:24px 0;font-size:12px}.site-footer a{min-height:44px}.story-page{padding-top:28px}.story-intro{padding:28px 0 36px}.story-prose{font-size:16px}.story-prose>h2{margin-top:40px}.media-grid{gap:20px}.media-grid-pair,.media-grid-trio{grid-template-columns:1fr}.hosting-comparison{gap:18px}.comparison-value{font-size:34px}.media-placeholder-shallow{aspect-ratio:3}.story-contact{margin-top:44px;padding-top:30px}}@media (width<=370px){.project-row{grid-template-columns:64px minmax(0,1fr) 16px;gap:12px}.project-name{font-size:17px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}}@layer components,objects,motion;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.min-h-11{min-height:calc(var(--spacing) * 11)}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-6{gap:calc(var(--spacing) * 6)}.rounded{border-radius:.25rem}.rounded-control{border-radius:var(--radius-control)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-action{background-color:var(--color-action)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-3{padding-block:calc(var(--spacing) * 3)}.font-display{font-family:var(--font-display)}.font-sans{font-family:var(--font-sans)}.text-hero{font-size:var(--text-hero);line-height:var(--tw-leading,var(--text-hero--line-height))}.text-label{font-size:var(--text-label);line-height:var(--tw-leading,var(--text-label--line-height))}.text-page{font-size:var(--text-page);line-height:var(--tw-leading,var(--text-page--line-height))}.text-product{font-size:var(--text-product);line-height:var(--tw-leading,var(--text-product--line-height))}.text-small{font-size:var(--text-small);line-height:var(--tw-leading,var(--text-small--line-height))}.text-story{font-size:var(--text-story);line-height:var(--tw-leading,var(--text-story--line-height))}.text-subheading{font-size:var(--text-subheading);line-height:var(--tw-leading,var(--text-subheading--line-height))}.text-chapter{font-size:var(--text-chapter)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-display{--tw-tracking:var(--tracking-display);letter-spacing:var(--tracking-display)}.tracking-label{--tw-tracking:var(--tracking-label);letter-spacing:var(--tracking-label)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-muted{color:var(--color-muted)}.text-surface{color:var(--color-surface)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:bg-action-hover:hover{background-color:var(--color-action-hover)}.hover\:text-accent:hover{color:var(--color-accent)}}}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-normal.BVbkICAY.woff)format("woff")}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-italic.DKMiL14s.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-italic.u__WvvIK.woff)format("woff")}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);font-style:normal;font-weight:100 499;size-adjust:104.358%;ascent-override:92.829%;descent-override:23.114%;line-gap-override:0%}@font-face{font-family:Inter Fallback;src:local(Arial Bold);font-style:normal;font-weight:500 900;size-adjust:103.068%;ascent-override:93.991%;descent-override:23.403%;line-gap-override:0%}@font-face{font-family:Instrument Serif Fallback;src:local(Georgia);font-style:normal;font-weight:400;size-adjust:73.977%;ascent-override:133.825%;descent-override:41.905%;line-gap-override:0%}@font-face{font-family:Instrument Serif Fallback;src:local(Georgia Italic);font-style:italic;font-weight:400;size-adjust:75.162%;ascent-override:131.716%;descent-override:41.244%;line-gap-override:0%}@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-old(root){animation:.12s ease-out both page-fade-out}::view-transition-new(root){animation:.22s cubic-bezier(.2,.75,.25,1) both page-fade-in}::view-transition-group(site-header){animation-duration:0s}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}@keyframes page-fade-out{to{opacity:0}}@keyframes page-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
