:root{--step--2: clamp(.6944rem, .6871rem + .0365vw, .72rem);--step--1: clamp(.8333rem, .8143rem + .0952vw, .9rem);--step-0: clamp(1rem, .9643rem + .1786vw, 1.125rem);--step-1: clamp(1.2rem, 1.1411rem + .2946vw, 1.4063rem);--step-2: clamp(1.44rem, 1.3492rem + .454vw, 1.7578rem);--step-3: clamp(1.728rem, 1.5939rem + .6704vw, 2.1973rem);--step-4: clamp(2.0736rem, 1.8813rem + .9614vw, 2.7466rem);--step-5: clamp(2.4883rem, 2.2183rem + 1.3499vw, 3.4332rem);--space-3xs: clamp(.25rem, .2321rem + .0893vw, .3125rem);--space-2xs: clamp(.5rem, .4821rem + .0893vw, .5625rem);--space-xs: clamp(.75rem, .7143rem + .1786vw, .875rem);--space-s: clamp(1rem, .9643rem + .1786vw, 1.125rem);--space-m: clamp(1.5rem, 1.4464rem + .2679vw, 1.6875rem);--space-l: clamp(2rem, 1.9286rem + .3571vw, 2.25rem);--space-xl: clamp(3rem, 2.8929rem + .5357vw, 3.375rem);--space-2xl: clamp(4rem, 3.8571rem + .7143vw, 4.5rem);--space-3xl: clamp(6rem, 5.7857rem + 1.0714vw, 6.75rem);--space-3xs-2xs: clamp(.25rem, .1607rem + .4464vw, .5625rem);--space-2xs-xs: clamp(.5rem, .3929rem + .5357vw, .875rem);--space-xs-s: clamp(.75rem, .6429rem + .5357vw, 1.125rem);--space-s-m: clamp(1rem, .8036rem + .9821vw, 1.6875rem);--space-m-l: clamp(1.5rem, 1.2857rem + 1.0714vw, 2.25rem);--space-l-xl: clamp(2rem, 1.6071rem + 1.9643vw, 3.375rem);--space-xl-2xl: clamp(3rem, 2.5714rem + 2.1429vw, 4.5rem);--space-2xl-3xl: clamp(4rem, 3.2143rem + 3.9286vw, 6.75rem);--space-s-l: clamp(1rem, .6429rem + 1.7857vw, 2.25rem);--space-l-2xl: clamp(2rem, 1.2857rem + 3.5714vw, 4.5rem);--color-bg: #ffffff;--color-bg-subtle: #fafafa;--color-border: #f4f4f5;--color-border-md: #e4e4e7;--color-text: #18181b;--color-text-muted:#71717a;--color-text-faint:#a1a1aa;--color-tile-bg: #f4f4f5;--color-tile-text: #ffffff;--color-tile-dark: #18181b;--color-accent: #18181b;--color-accent-h: #3f3f46;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .04)}html{scroll-behavior:smooth}img,video{max-width:100%;height:auto}img.object-cover,img.object-contain{height:100%}nav ul,nav ol{list-style:none;padding:0;margin:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:3px}:focus:not(:focus-visible){outline:none}body{font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:var(--step-0);line-height:1.6}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-family:Jost Variable,Jost,ui-sans-serif,system-ui,sans-serif;font-size:var(--step-5);line-height:1.05;letter-spacing:-.03em}h2{font-family:Jost Variable,Jost,ui-sans-serif,system-ui,sans-serif;font-size:var(--step-3);line-height:1.15;letter-spacing:-.025em}h3{font-family:Jost Variable,Jost,ui-sans-serif,system-ui,sans-serif;font-size:var(--step-2);line-height:1.2;letter-spacing:-.02em}h4{font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:var(--step-1);line-height:1.3;letter-spacing:-.015em}h5{font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:var(--step-0);line-height:1.4}h6{font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:var(--step--1);line-height:1.4}small,.text-small{font-size:var(--step--1)}.text-xs{font-size:var(--step--2)}.site-nav{position:sticky;top:0;z-index:20;width:100%;border-bottom:1px solid var(--color-border);background-color:var(--color-bg-card)}.site-nav__inner{max-width:80rem;margin-inline:auto;padding-inline:var(--space-s);height:3.5rem;display:flex;align-items:center;justify-content:space-between}.site-nav__logo{font-size:var(--step-1);font-weight:700;letter-spacing:-.025em;color:var(--color-text);text-decoration:none;transition:color .15s ease}.site-nav__logo:hover{color:var(--color-accent)}.site-nav__links{display:flex;align-items:center;gap:var(--space-s);font-size:var(--step--1)}.site-nav__link{color:var(--color-muted);text-decoration:none;transition:color .15s ease}.site-nav__link:hover,.site-nav__link[aria-current=page]{color:var(--color-text)}.site-footer{width:100%;border-top:1px solid var(--color-border);padding-block:var(--space-m);text-align:center;font-size:var(--step--1);color:var(--color-muted)}.post-card{display:flex;flex-direction:column;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease}.post-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-h)}.post-card__thumb{position:relative;aspect-ratio:3/2;overflow:hidden;background-color:var(--color-tag-bg);flex-shrink:0}.post-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.post-card:hover .post-card__thumb img{transform:scale(1.05)}.post-card__badge{position:absolute;bottom:var(--space-2xs);right:var(--space-2xs);display:inline-flex;align-items:center;gap:var(--space-3xs);padding:var(--space-3xs) var(--space-2xs);border-radius:9999px;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:var(--step--2);font-weight:500}.post-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,theme("colors.indigo.50") 0%,theme("colors.violet.100") 100%)}@media(prefers-color-scheme:dark){.post-card__placeholder{background:linear-gradient(135deg,theme("colors.indigo.950 / 60%") 0%,theme("colors.violet.900 / 40%") 100%)}}.post-card__placeholder svg{width:3.5rem;height:3.5rem;color:theme("colors.indigo.200")}@media(prefers-color-scheme:dark){.post-card__placeholder svg{color:theme("colors.indigo.800")}}.post-card__body{display:flex;flex-direction:column;flex:1;padding:var(--space-s)}.post-card__meta{display:flex;align-items:center;gap:var(--space-2xs);margin-bottom:var(--space-2xs);font-size:var(--step--2);color:var(--color-muted)}.post-card__type-badge{margin-left:auto;padding:.125rem var(--space-2xs);border-radius:9999px;font-size:var(--step--2);font-weight:500;background-color:theme("colors.violet.100");color:theme("colors.violet.600")}@media(prefers-color-scheme:dark){.post-card__type-badge{background-color:theme("colors.violet.900 / 40%");color:theme("colors.violet.400")}}.post-card__title{font-size:var(--step-0);font-weight:600;line-height:1.35;color:var(--color-text);margin-bottom:var(--space-2xs);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s ease}.post-card:hover .post-card__title{color:var(--color-accent)}.post-card__excerpt{font-size:var(--step--1);color:var(--color-muted);flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:1024px){.gallery-slider-wrap{position:sticky;top:5rem;align-self:flex-start;flex:none;height:calc(100vh - 5rem);width:min(60%,(100vh - 5rem) * 4 / 5);display:flex;align-items:center}}.slider{position:relative;width:100%;overflow:hidden;border-radius:.5rem;background-color:theme("colors.zinc.900")}.slider__track{display:flex;transition:transform .5s ease-in-out}.slider__slide{flex-shrink:0;width:100%}.slider__slide img{width:100%;max-height:78vh;object-fit:contain}.slider__btn{position:absolute;top:50%;transform:translateY(-50%);width:2.75rem;height:2.75rem;border-radius:9999px;background-color:#00000080;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease}.slider__btn:hover{background-color:#000000bf}.slider__btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.slider__btn--prev{left:var(--space-xs)}.slider__btn--next{right:var(--space-xs)}.slider__btn svg{width:1.25rem;height:1.25rem}.slider__dots{position:absolute;bottom:var(--space-xs);left:50%;transform:translate(-50%);display:flex;gap:var(--space-3xs)}.slider__dot{height:.5rem;border-radius:9999px;background-color:#fff6;width:.5rem;border:none;cursor:pointer;padding:0;transition:width .3s ease,background-color .3s ease}.slider__dot--active,.slider__dot[aria-current=true]{width:1.25rem;background-color:#fff}.slider__counter{position:absolute;top:var(--space-xs);right:var(--space-xs);padding:.25rem var(--space-2xs);border-radius:9999px;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:var(--step--2)}.slider-thumbs{display:flex;gap:var(--space-2xs);overflow-x:auto;padding-bottom:var(--space-2xs);margin-top:var(--space-s);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.slider-thumbs__item{flex-shrink:0;width:4rem;height:4rem;border-radius:.375rem;overflow:hidden;border:2px solid transparent;cursor:pointer;opacity:.5;transition:opacity .2s ease,border-color .2s ease}.slider-thumbs__item:hover{opacity:.8}.slider-thumbs__item:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.slider-thumbs__item--active{border-color:var(--color-accent);opacity:1}.slider-thumbs__item img{width:100%;height:100%;object-fit:cover}.tag{display:inline-block;padding:.125rem var(--space-2xs);border-radius:.25rem;font-size:var(--step--2);background-color:var(--color-tag-bg);color:var(--color-tag-text);text-decoration:none;transition:background-color .15s ease}.tag:hover{background-color:theme("colors.zinc.200")}@media(prefers-color-scheme:dark){.tag:hover{background-color:theme("colors.zinc.700")}}.tag--pill{border-radius:9999px;padding:.25rem var(--space-xs)}.tags{display:flex;flex-wrap:wrap;gap:var(--space-3xs);margin-top:var(--space-xs)}.btn{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:.625rem var(--space-s);border-radius:.375rem;font-size:var(--step--1);font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn--primary{background-color:var(--color-accent);color:#fff}.btn--primary:hover{background-color:var(--color-accent-h)}.btn--ghost{background-color:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text)}.btn--ghost:hover{background-color:var(--color-tag-bg)}.back-link{display:inline-flex;align-items:center;gap:var(--space-3xs);font-size:var(--step--1);color:var(--color-muted);text-decoration:none;transition:color .15s ease;margin-bottom:var(--space-m)}.back-link:hover{color:var(--color-text)}.back-link svg{width:1rem;height:1rem}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);margin-top:var(--space-xl)}.pagination__link{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-s);font-size:var(--step--1);background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text);text-decoration:none;transition:background-color .15s ease}.pagination__link:hover{background-color:var(--color-tag-bg)}.pagination__link svg{width:1rem;height:1rem}.pagination__info{font-size:var(--step--1);color:var(--color-muted)}.home-hero{text-align:center;padding-block:var(--space-2xl);margin-bottom:var(--space-l-xl)}.home-hero__title{font-size:var(--step-5);font-weight:700;letter-spacing:-.03em;color:var(--color-text);line-height:1.15;margin-bottom:var(--space-s);max-width:32rem;margin-inline:auto}.home-hero__sub{font-size:var(--step-0);color:var(--color-text-muted);max-width:24rem;margin-inline:auto;line-height:1.6}.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}@media(min-width:640px){.post-grid{grid-template-columns:repeat(3,1fr);gap:6px}}.load-more{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:.625rem var(--space-l);border:1px solid var(--color-border-md);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);text-decoration:none;transition:background-color .15s ease}.load-more:hover{background-color:var(--color-bg-subtle)}.post{max-width:42rem;margin-inline:auto}.post__header-img{margin-bottom:var(--space-l);border-radius:.5rem;overflow:hidden}.post__header-img img{width:100%}.post__header{margin-bottom:var(--space-l)}.post__title{font-size:var(--step-4);font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--color-text);margin-bottom:var(--space-s)}.post__excerpt{font-size:var(--step-1);color:var(--color-muted);line-height:1.6;margin-bottom:var(--space-s)}.post__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);font-size:var(--step--1);color:var(--color-muted);padding-bottom:var(--space-m);border-bottom:1px solid var(--color-border)}.post__tags-footer{margin-top:var(--space-l-xl);padding-top:var(--space-m);border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.post__nav{margin-top:var(--space-l-xl);padding-top:var(--space-m);border-top:1px solid var(--color-border);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-s);font-size:var(--step--1)}.post__nav-item{display:flex;flex-direction:column;gap:var(--space-3xs);padding:var(--space-xs);border-radius:.375rem;text-decoration:none;color:inherit;transition:background-color .15s ease}.post__nav-item:hover{background-color:var(--color-tag-bg)}.post__nav-item--next{text-align:right}.post__nav-label{font-size:var(--step--2);color:var(--color-muted);display:flex;align-items:center;gap:var(--space-3xs)}.post__nav-item--next .post__nav-label{justify-content:flex-end}.post__nav-label svg{width:.875rem;height:.875rem}.post__nav-title{font-weight:500;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s ease}.post__nav-item:hover .post__nav-title{color:var(--color-accent)}.post-hero{width:100vw;position:relative;left:50%;transform:translate(-50%);margin-top:-1.5rem;min-height:min(88vh,780px);display:flex;flex-direction:column;overflow:hidden}.post-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.post-hero__overlay{position:absolute;inset:0;background:linear-gradient(to top,#000000e0,#0000008c 35%,#0000002e 65%,#0000000a)}.post-hero__back{position:absolute;top:1.75rem;left:clamp(1.25rem,5vw,3rem);z-index:2;display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;letter-spacing:.01em;color:#ffffff8c;text-decoration:none;transition:color .15s ease}.post-hero__back:hover{color:#fff}.post-hero__back svg{flex-shrink:0}.post-hero__headline{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:0 clamp(1.25rem,5vw,3rem) clamp(2.5rem,5vh,4rem)}.post-hero__eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.post-hero__tag{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#fff;background:#ffffff2e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:9999px;padding:.25rem .75rem}.post-hero__eyebrow-sep{color:#ffffff4d;font-size:.75rem}.post-hero__date{font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80}.post-hero__title{font-family:Jost Variable,Jost,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.25rem,6vw,5.5rem);font-weight:800;line-height:1.04;letter-spacing:-.03em;color:#fff;margin-bottom:.875rem;max-width:28ch;text-shadow:0 2px 24px rgba(0,0,0,.25)}.post-hero__excerpt{font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1rem,2.2vw,1.3125rem);font-weight:300;line-height:1.65;color:#ffffffad;max-width:52ch}.post-content img,.post-content figure{border-radius:.75rem;overflow:hidden;box-shadow:0 4px 20px #00000014}@media(min-width:640px){.post-content img,.post-content figure{width:calc(100% + 5rem);max-width:calc(100% + 5rem);margin-left:-2.5rem;margin-right:-2.5rem}}.gallery-post{max-width:56rem;margin-inline:auto}.gallery-post__header{margin-bottom:var(--space-m)}.gallery-post__title{font-size:var(--step-4);font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--color-text);margin-bottom:var(--space-2xs)}.gallery-post__caption{font-size:var(--step-0);color:var(--color-muted);margin-bottom:var(--space-xs)}.gallery-post__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);font-size:var(--step--1);color:var(--color-muted)}.gallery-post__count-badge{margin-left:auto;padding:.25rem var(--space-2xs);border-radius:9999px;font-size:var(--step--2);font-weight:500;background-color:theme("colors.violet.100");color:theme("colors.violet.600")}@media(prefers-color-scheme:dark){.gallery-post__count-badge{background-color:theme("colors.violet.900 / 40%");color:theme("colors.violet.400")}}
