@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-normal.BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-normal._efipK4i.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-400-normal.D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-normal.fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-normal.RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-500-normal.ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-greek-500-normal.JMMifIXV.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-500-normal.CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-500-normal.BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-500-normal.D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-600-normal.BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-600-normal.D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-600-normal.DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-600-normal.DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fraunces-vietnamese-600-normal.BjlAJixd.woff2) format("woff2"),url(/_astro/fraunces-vietnamese-600-normal.DlAl5EAR.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fraunces-latin-ext-600-normal.BtzmzP0X.woff2) format("woff2"),url(/_astro/fraunces-latin-ext-600-normal.B0Dy4lqi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fraunces-latin-600-normal.BFCDtZfi.woff2) format("woff2"),url(/_astro/fraunces-latin-600-normal.DL5QCzvS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/fraunces-vietnamese-700-normal.DH94m5DZ.woff2) format("woff2"),url(/_astro/fraunces-vietnamese-700-normal.DxawQjq2.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/fraunces-latin-ext-700-normal.CanUGppC.woff2) format("woff2"),url(/_astro/fraunces-latin-ext-700-normal.DuBstVeD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/fraunces-latin-700-normal.CEOla-zY.woff2) format("woff2"),url(/_astro/fraunces-latin-700-normal.DTjk5d1Q.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background: #f4efe4;--background-muted: rgba(255, 255, 255, .58);--surface: #fffaf2;--surface-strong: rgba(255, 250, 242, .92);--text: #16171c;--text-soft: rgba(22, 23, 28, .72);--border: rgba(22, 23, 28, .12);--accent: #20496b;--accent-contrast: #fff;--accent-soft: rgba(32, 73, 107, .14);--accent-warm: #c8a87f;--shadow: 0 24px 80px rgba(16, 18, 24, .08);--container: min(1200px, calc(100vw - 2.5rem) );color-scheme:light dark;font-family:IBM Plex Sans,sans-serif}html[data-theme=dark]{--background: #0c1014;--background-muted: rgba(13, 17, 22, .64);--surface: #11161c;--surface-strong: rgba(17, 22, 28, .92);--text: #efe7db;--text-soft: rgba(239, 231, 219, .76);--border: rgba(239, 231, 219, .12);--accent: #7ea9cf;--accent-contrast: #0c1014;--accent-soft: rgba(126, 169, 207, .18);--accent-warm: #d6b48a;--shadow: 0 32px 96px rgba(0, 0, 0, .28)}@media(prefers-color-scheme:dark){html[data-theme=system]{--background: #0c1014;--background-muted: rgba(13, 17, 22, .64);--surface: #11161c;--surface-strong: rgba(17, 22, 28, .92);--text: #efe7db;--text-soft: rgba(239, 231, 219, .76);--border: rgba(239, 231, 219, .12);--accent: #7ea9cf;--accent-contrast: #0c1014;--accent-soft: rgba(126, 169, 207, .18);--accent-warm: #d6b48a;--shadow: 0 32px 96px rgba(0, 0, 0, .28)}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(200,168,127,.16),transparent 30%),radial-gradient(circle at top right,color-mix(in srgb,var(--accent) 18%,transparent),transparent 28%),linear-gradient(180deg,var(--background),color-mix(in srgb,var(--background) 72%,#ffffff 28%));color:var(--text);line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.container{width:var(--container);margin:0 auto}.section{padding:clamp(3.75rem,6vw,5rem) 0}.panel{border:1px solid var(--border);background:var(--surface-strong);backdrop-filter:blur(20px);border-radius:1.5rem;box-shadow:var(--shadow)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3rem;padding:0 1.1rem;border-radius:999px;border:1px solid var(--border);transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.button:hover,.button:focus-visible,.inline-link:hover,.inline-link:focus-visible{transform:translateY(-1px)}.button--primary{border-color:color-mix(in srgb,var(--accent) 72%,var(--border) 28%);background:var(--accent);color:var(--accent-contrast)}.button--ghost{background:transparent}.inline-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--accent);font-weight:600}.inline-link--action{align-self:start;min-height:2.5rem;padding:.45rem 0}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:100;padding:.75rem 1rem;background:var(--surface);border-radius:.75rem;border:1px solid var(--border)}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:50;padding:1rem 0;backdrop-filter:blur(18px);background:var(--background-muted);border-bottom:1px solid var(--border)}.site-header__inner,.site-header__nav,.site-header__controls,.site-header__brand{display:flex;align-items:center}.site-header__inner{justify-content:space-between;gap:1rem}.site-header__brand{flex-direction:column;align-items:flex-start;gap:0}.site-header__wordmark,.site-footer__title{font-family:Fraunces,serif;font-size:1.35rem;line-height:1.1}.site-header__meta{color:var(--text-soft);font-size:.85rem}.site-header__nav,.site-header__controls{gap:1rem}.site-header__nav a,.locale-switcher__link,.theme-menu__summary,.theme-menu__panel button{color:var(--text);border-radius:999px;padding:.55rem .8rem;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.site-header__nav a:hover,.site-header__nav a:focus-visible,.locale-switcher__link:hover,.locale-switcher__link:focus-visible,.theme-menu__summary:hover,.theme-menu__summary:focus-visible,.theme-menu__panel button:hover,.theme-menu__panel button:focus-visible{background:var(--accent-soft)}.locale-switcher{display:flex;align-items:center;gap:.6rem}.locale-switcher__label{color:var(--text-soft);font-size:.8rem}.locale-switcher__list{display:flex;align-items:center;gap:.25rem;padding:0;margin:0;list-style:none}.locale-switcher__link.is-active{background:var(--text);color:var(--surface)}.theme-menu{position:relative}.theme-menu__summary{list-style:none;border:1px solid var(--border);background:transparent}.theme-menu[open] .theme-menu__summary{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,var(--border) 55%)}.theme-menu__summary::-webkit-details-marker{display:none}.theme-menu:not([open]) .theme-menu__panel{display:none}.theme-menu__panel{position:absolute;right:0;top:calc(100% + .4rem);display:grid;gap:.3rem;min-width:8rem;padding:.55rem;background:color-mix(in srgb,var(--surface) 92%,var(--background) 8%);border:1px solid var(--border);border-radius:1rem;box-shadow:var(--shadow)}.theme-menu__panel button{border:0;background:transparent;text-align:left;color:var(--text);width:100%}.theme-menu__option[aria-checked=true]{background:var(--accent);color:var(--accent-contrast);font-weight:600}.theme-menu__option[aria-checked=true]:hover,.theme-menu__option[aria-checked=true]:focus-visible{background:color-mix(in srgb,var(--accent) 88%,white 12%);color:var(--accent-contrast)}.theme-menu__option:not([aria-checked=true]):hover,.theme-menu__option:not([aria-checked=true]):focus-visible{background:var(--accent-soft);color:var(--text)}.hero__grid,.split-section,.project-hero__grid,.project-layout{display:grid;gap:1.25rem}.hero__grid{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.9fr);align-items:center}.hero__copy{padding-top:1.4rem}.hero-announcement{display:grid;gap:.65rem;max-width:42rem;margin-bottom:1.5rem;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border) 82%);border-radius:1.1rem;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 58%),color-mix(in srgb,var(--surface) 88%,var(--background) 12%);box-shadow:0 18px 44px #10121814}.hero-announcement--highlight{border-color:color-mix(in srgb,var(--accent) 34%,var(--border) 66%)}.hero-announcement__eyebrow{margin:0;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.hero-announcement strong{color:var(--text);font-size:1rem;line-height:1.35}.hero-announcement p{margin:0;color:var(--text-soft)}.hero__eyebrow,.section-heading__eyebrow,.project-card__status,.hero__aside-label{margin:0 0 1rem;color:var(--accent);font-size:.9rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{margin:0;font-family:Fraunces,serif;line-height:1.05}h1{font-size:clamp(3rem,8vw,6.4rem);letter-spacing:-.04em}h2{font-size:clamp(2.1rem,5vw,3.5rem)}h3{font-size:1.45rem}.hero__description,.section-heading__intro,.project-card__summary,.section-note,.prose p,.legal-page__section p,.hero__aside,.focus-panel__list strong,.project-hero__panel,.project-sidebar,.site-footer{color:var(--text-soft)}.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.hero__aside,.focus-panel,.project-hero__panel,.project-sidebar .panel,.legal-page__section{padding:1.5rem}.hero__aside-name{font-size:1.4rem;font-weight:700;color:var(--text)}.hero__aside{display:grid;gap:1rem;padding:1.35rem}.hero__aside-header{display:grid;gap:.55rem}.hero__aside-summary{margin:0;color:var(--text-soft)}.hero__aside-highlights{display:grid;gap:.7rem;padding:0;margin:0;list-style:none}.hero__aside-highlights li{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center;padding:.8rem .9rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--border) 76%,var(--accent) 24%);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 65%),color-mix(in srgb,var(--surface) 90%,var(--background) 10%)}.hero__aside-highlights strong{color:var(--text);font-size:.98rem;line-height:1.4}.hero__aside-marker{width:.62rem;height:.62rem;border-radius:999px;background:var(--accent);box-shadow:0 0 0 .28rem color-mix(in srgb,var(--accent) 16%,transparent)}.tag-list,.stack-list,.project-card__platforms{display:flex;flex-wrap:wrap;gap:.65rem;padding:0;margin:1rem 0 0;list-style:none}.tag-list li,.project-card__platforms li,.stack-list li{border:1px solid var(--border);border-radius:999px;padding:.4rem .75rem}.section-heading{display:grid;gap:.9rem;max-width:48rem;margin-bottom:1.5rem}.section-heading--compact{gap:.55rem;margin-bottom:1rem}.services-grid,.projects-grid{display:grid;gap:1rem}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr))}.service-card,.project-card{padding:1.5rem}.project-card{display:grid;gap:1rem}.project-card__content{display:grid;gap:1rem;align-content:start}.project-card__header{display:flex;justify-content:space-between;gap:1rem}.project-card__pill{align-self:start;border-radius:999px;padding:.35rem .7rem;background:var(--accent-soft);color:var(--accent);font-size:.85rem;font-weight:700}.project-card--sand{background:linear-gradient(145deg,rgba(200,168,127,.12),transparent 50%),var(--surface-strong)}.project-card--teal{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 50%),var(--surface-strong)}.projects-grid--single{max-width:42rem}.split-section{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);align-items:start}.split-section__copy{display:grid;gap:1rem}.split-section__copy--about{gap:.85rem}.split-section--contact{grid-template-columns:minmax(14rem,.52fr) minmax(0,1fr);align-items:start}.split-section__copy--contact{max-width:18rem}.about-stack{display:grid;gap:1.25rem}.focus-panel__list{display:grid;gap:1rem;padding:0;margin:0;list-style:none}.focus-panel__list li{display:grid;gap:.2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.focus-panel__list li:last-child{padding-bottom:0;border-bottom:0}.focus-panel__list span{color:var(--text-soft);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}.focus-panel__list strong{color:var(--text);font-size:1.02rem;line-height:1.45}.contact-form{display:grid;gap:.95rem}.contact-form__honeypot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.contact-card{position:relative;overflow:hidden;padding:1.2rem;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 28%),linear-gradient(145deg,rgba(200,168,127,.1),transparent 52%),var(--surface-strong);max-width:44rem;width:100%;justify-self:end}.contact-form__field{display:grid;gap:.55rem}.contact-form__label{color:var(--text-soft);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.contact-form__control{width:100%;min-height:3.35rem;padding:.95rem 1rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--border) 88%,var(--accent) 12%);background:color-mix(in srgb,var(--surface) 88%,var(--background) 12%);color:var(--text);box-shadow:inset 0 1px #ffffff0a;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.contact-form__control:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--border) 68%)}.contact-form__control:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 72%,var(--border) 28%);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-soft) 82%,transparent),inset 0 1px #ffffff0d}.contact-form__control--textarea{min-height:9.5rem;resize:vertical}.contact-form__turnstile{margin-top:.1rem}.contact-form__turnstile-slot{min-height:65px}.contact-form__disclosure{margin:0;color:var(--text-soft);font-size:.9rem;line-height:1.6}.contact-form__footer{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-top:.25rem}.contact-form__submit{min-width:11rem}.contact-form__status{min-height:1.5rem;margin:0;max-width:24rem;color:var(--text-soft);font-size:.95rem;line-height:1.5}.contact-form__status[data-state=success]{color:var(--accent)}.contact-form__status[data-state=error]{color:color-mix(in srgb,#e26d5c 72%,var(--text) 28%)}.back-link{display:inline-flex;align-items:center;margin-bottom:1.5rem;color:var(--accent);font-weight:600}.back-link--action{min-height:2.5rem;padding:.45rem 0}.project-layout{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);align-items:start}.project-page{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(18rem,.72fr);gap:1.5rem;align-items:start}.project-page__main{display:grid;gap:1.5rem;min-width:0}.project-hero__grid{grid-template-columns:minmax(0,.95fr) minmax(22rem,1.05fr);align-items:center}.project-hero__summary{max-width:43rem;margin:1rem 0 0;color:var(--text-soft);font-size:1.02rem}.project-hero__visual{min-width:0}.project-section{display:grid;gap:1rem;padding:1.6rem}.project-section.prose{padding:0}.project-section__body{display:grid;gap:.85rem}.project-section__body p,.project-section__body ul,.project-section__body ol,.project-section.prose p{margin:0}.project-section__list,.project-sidebar__list{display:grid;gap:.85rem;padding:0;margin:0;list-style:none}.project-section__list li,.project-sidebar__list li{padding-bottom:.85rem;border-bottom:1px solid var(--border)}.project-section__list li:last-child,.project-sidebar__list li:last-child{padding-bottom:0;border-bottom:0}.project-section--note{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 32%),linear-gradient(145deg,rgba(200,168,127,.1),transparent 58%),var(--surface-strong)}.project-gallery{display:grid;gap:1.4rem;scroll-margin-top:7rem}.project-gallery__header{display:grid;gap:.6rem;max-width:36rem}.project-gallery__grid{display:grid;gap:1rem;max-width:52rem}.project-media{display:grid;gap:.75rem;margin:0}.project-media__frame{overflow:hidden;padding:.65rem}.project-media__asset{width:100%;height:auto;border-radius:1rem;border:1px solid color-mix(in srgb,var(--border) 88%,var(--accent) 12%)}.project-media__caption{color:var(--text-soft);font-size:.95rem;line-height:1.5}.project-sidebar{display:grid;gap:1rem;position:sticky;top:6.5rem}.project-sidebar__panel{padding:1.5rem}.project-sidebar__panel h3{margin-bottom:1rem;color:var(--text)}.project-sidebar__panel .tag-list{margin-top:0}.project-sidebar__panel .tag-list li{color:var(--text)}.prose--compact{display:grid;gap:.95rem}.prose--compact p{margin:0}.builder-note{padding:1.35rem 1.5rem;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 62%),linear-gradient(145deg,rgba(200,168,127,.08),transparent 52%),var(--surface-strong)}.builder-note__copy{display:grid;gap:.85rem;max-width:56rem}.builder-note h3{color:var(--text)}.donation-section{scroll-margin-top:7rem}.donation-shell,.donation-shell__copy,.donation-shell__interactive,.donation-shell__meta,.donation-form,.donation-form__frequency,.donation-form__preset-grid,.donation-form__field,.donation-checkout,.donation-checkout__intro,.donation-checkout__mock-inner,.donation-checkout__mock-actions,.support-manage,.support-manage__copy,.support-manage__form,.support-manage__field,.support-manage__actions{display:grid}.donation-shell{grid-template-columns:minmax(0,1.05fr) minmax(18rem,.95fr);gap:1.25rem;padding:1.35rem;align-items:start;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 60%),linear-gradient(145deg,rgba(200,168,127,.09),transparent 56%),var(--surface-strong)}.donation-shell__copy{gap:.7rem}.donation-shell__interactive{gap:.85rem}.donation-shell__eyebrow{margin:0;color:var(--accent);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.donation-shell__meta{gap:.65rem;margin-top:.2rem}.donation-shell__meta-item{display:inline-flex;align-items:start;gap:.75rem;margin:0;color:var(--text-soft);font-size:.95rem}.donation-shell__meta-item .icon{margin-top:.12rem;color:var(--accent)}.donation-form{gap:.85rem;padding:1rem;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 86%,transparent),transparent 100%),var(--surface)}.donation-form__frequency{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.donation-form__frequency-button,.donation-form__preset{border:1px solid var(--border);border-radius:1rem;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);transition:border-color .18s ease,transform .18s ease,background-color .18s ease,box-shadow .18s ease}.donation-form__frequency-button{min-height:3rem;padding:.8rem 1rem;font-weight:700}.donation-form__frequency-button:hover,.donation-form__frequency-button:focus-visible,.donation-form__preset:hover,.donation-form__preset:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 30%,var(--border) 70%)}.donation-form__frequency-button.is-active,.donation-form__preset.is-active{border-color:color-mix(in srgb,var(--accent) 44%,var(--border) 56%);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 16%,transparent),transparent 100%),var(--surface-strong);box-shadow:0 0 0 .18rem color-mix(in srgb,var(--accent) 14%,transparent)}.donation-form__preset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.donation-form__preset{min-height:3.75rem;padding:.9rem;place-items:center}.donation-form__preset strong{font-size:1.05rem}.donation-form__field{gap:.45rem}.donation-form__field span{color:var(--text);font-weight:700}.donation-form__field input{min-height:3rem;padding:.8rem .95rem;border:1px solid var(--border);border-radius:.9rem;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text)}.donation-form__field input:disabled{opacity:.65;cursor:not-allowed}.donation-form__field small{color:var(--text-soft)}.donation-form__submit{width:100%;justify-content:center}.donation-form__status{min-height:1.4rem;margin:0;color:var(--text-soft)}.donation-form__status[data-state=error]{color:#d64545}.donation-form__status[data-state=success]{color:#17804c}.donation-checkout{gap:.7rem;padding:.9rem;align-content:start;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 42%),linear-gradient(145deg,rgba(200,168,127,.08),transparent 54%),var(--surface)}.donation-checkout__intro{gap:.4rem}.donation-checkout__intro h3,.donation-checkout__intro p,.donation-checkout__mock-inner h3,.donation-checkout__mock-inner p{margin:0}.donation-checkout__eyebrow{margin:0;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.donation-checkout__mount,.donation-checkout__mock{min-height:0}.donation-checkout__mount{border-radius:1rem;overflow:hidden}.donation-checkout__mount:empty,.donation-checkout__mock[hidden]{display:none}.donation-checkout[data-checkout-state=active] .donation-checkout__mount{display:block;min-height:10rem}.donation-checkout[data-checkout-state=mock] .donation-checkout__mock{min-height:7.75rem}.donation-checkout__mock{display:grid;align-items:start}.donation-checkout__mock-inner{gap:.85rem;padding:1.1rem;border:1px dashed color-mix(in srgb,var(--accent) 30%,var(--border) 70%);border-radius:1rem;background:color-mix(in srgb,var(--surface-strong) 90%,transparent)}.donation-checkout__mock-summary{color:var(--text);font-weight:700}.donation-checkout__mock-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.legal-page__inner{display:grid;gap:1.5rem;min-width:0}.legal-page__sections{display:grid;gap:1rem;min-width:0}.legal-page__header,.legal-page__section{min-width:0;overflow-wrap:anywhere}.donation-manage{padding:0;overflow:hidden;scroll-margin-top:7rem;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 100%),var(--surface)}.donation-manage__summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3rem;padding:.9rem 1rem;cursor:pointer;color:var(--text);font-weight:700;list-style:none}.donation-manage__summary::-webkit-details-marker{display:none}.donation-manage__summary .icon{flex:none;transition:transform .18s ease}.donation-manage[open] .donation-manage__summary{border-bottom:1px solid var(--border)}.donation-manage[open] .donation-manage__summary .icon{transform:rotate(90deg)}.support-manage{gap:.9rem;padding:1rem}.support-manage--page{padding:0}.support-manage__copy{gap:.45rem}.support-manage__copy h3,.support-manage__copy p,.support-manage__note{margin:0}.support-manage__form{gap:.85rem}.support-manage__field{gap:.45rem}.support-manage__field span{color:var(--text);font-weight:700}.support-manage__field input{min-height:3rem;padding:.8rem .95rem;border:1px solid var(--border);border-radius:.9rem;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text)}.support-manage__field small{color:var(--text-soft)}.support-manage__actions{grid-template-columns:repeat(2,minmax(0,auto));align-items:center;gap:.75rem}.support-manage__submit{justify-content:center;color:var(--accent)}.support-manage__status{min-height:1.4rem;margin:0;color:var(--text-soft)}.support-manage__status[data-state=error]{color:#d64545}.support-manage__status[data-state=success]{color:#17804c}.back-link--action{width:fit-content;max-width:100%}.site-footer{padding:2rem 0 3rem;border-top:1px solid var(--border)}.site-footer__stack{display:grid;gap:1.35rem}.site-footer__inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:2rem}.site-footer__legal,.site-footer__socials{display:grid;gap:.8rem}.site-footer__socials{list-style:none;padding:0;margin:0}.site-footer__socials a{display:inline-flex;align-items:center;gap:.65rem;min-height:2.5rem;padding:.35rem 0}.site-footer__legal a,.site-footer__consent-button{display:inline-flex;align-items:center;min-height:2.5rem;padding:.35rem 0}.site-footer__consent-button{border:0;background:transparent;color:var(--text-soft);text-align:left}.site-footer__subfooter{display:flex;justify-content:flex-start;padding-top:.2rem}.site-footer__support{display:inline-flex;align-items:center;gap:.45rem;min-height:2.5rem;width:fit-content;max-width:100%;padding:.35rem 0;color:var(--text-soft);font-weight:500}.site-footer__support:hover,.site-footer__support:focus-visible{color:var(--text)}.site-footer__support .icon{flex:none;width:.82rem;height:.82rem;color:currentColor}.consent-banner{position:fixed;right:1.25rem;bottom:1.25rem;z-index:80;width:min(34rem,calc(100vw - 2rem));padding:1.2rem}.consent-banner__content,.consent-banner__actions{display:grid;gap:1rem}.consent-banner__eyebrow{margin:0 0 .5rem;color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.icon{width:1rem;height:1rem}[hidden]{display:none!important}.not-found{display:grid;gap:1rem;justify-items:start}[data-reveal]{animation:fade-up .5s ease both;animation-delay:40ms}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.site-header__inner,.site-header__nav,.site-header__controls,.hero__grid,.services-grid,.projects-grid,.split-section,.project-hero__grid,.project-page,.project-layout,.site-footer__inner{grid-template-columns:1fr;flex-wrap:wrap}.site-header__nav,.site-header__controls{width:100%}.site-header__nav,.site-header__controls{justify-content:space-between}.services-grid,.projects-grid,.donation-shell,.donation-checkout__mock-actions,.support-manage__actions,.donation-form__preset-grid{grid-template-columns:1fr}.hero-announcement{padding:.95rem 1rem}.contact-card{padding:1.05rem}.split-section--contact{align-items:start}.split-section__copy--contact{max-width:none}.contact-form__footer{flex-direction:column;align-items:stretch}.contact-form__submit{width:100%}.contact-form__status{max-width:none;min-height:0}.theme-menu__panel{min-width:10.5rem}.project-sidebar{position:static;top:auto}.consent-banner{left:1rem;right:1rem;width:auto}.donation-manage__summary{padding:.85rem .95rem}.site-footer__stack{gap:1.1rem}.site-footer__subfooter{padding-top:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
