@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/5789866e1f6c0b3a-s.woff2) format("woff2");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 Mono;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/1d8a6ab50b58c98f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/6864518888912bb6-s.woff2) format("woff2");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 Mono;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/10b966b6a52e2569-s.woff2) format("woff2");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 Mono;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/854bb2d01eefbe38-s.p.woff2) format("woff2");unicode-range:u+00??,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 Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/f3d49a6cc42289e4-s.woff2) format("woff2");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 Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/a8a4bee916c8efc4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/b741e17df1a92217-s.woff2) format("woff2");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 Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e92542ed07ddbaee-s.woff2) format("woff2");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 Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/251df36401e2f093-s.p.woff2) format("woff2");unicode-range:u+00??,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 Mono;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/d19148a489889c3f-s.woff2) format("woff2");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 Mono;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/6e3dff35a8d2b87a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/8b7d2a0269fd9b46-s.woff2) format("woff2");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 Mono;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/32e223c2320c378a-s.woff2) format("woff2");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 Mono;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/35a91d7a43063ba6-s.p.woff2) format("woff2");unicode-range:u+00??,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 Mono;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/f21e69bb6a61306e-s.woff2) format("woff2");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 Mono;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/c1d45af601cdd93b-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/435a224332f9f6c3-s.woff2) format("woff2");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 Mono;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/bd7993bb7a0d0ec6-s.woff2) format("woff2");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 Mono;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/be134c60f3754e50-s.p.woff2) format("woff2");unicode-range:u+00??,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 Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/2654dbf24aea7c5c-s.woff2) format("woff2");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 Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/28d9a5bcdfe1d85c-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/f9ab74ff5df93b56-s.woff2) format("woff2");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 Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/f884487c2e174fcf-s.woff2) format("woff2");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 Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/f36144f235cd456e-s.p.woff2) format("woff2");unicode-range:u+00??,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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,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 Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");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 Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");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 Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");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 Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,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 Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3acd87{font-family:IBM Plex Mono,IBM Plex Mono Fallback}.__variable_3acd87{--font-body:"IBM Plex Mono","IBM Plex Mono Fallback"}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/751eccb0decf5e18-s.woff2) format("woff2");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:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f6590a0f07a97750-s.woff2) format("woff2");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:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b7bd7951037de757-s.p.woff2) format("woff2");unicode-range:u+00??,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:VT323 Fallback;src:local("Arial");ascent-override:89.16%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:89.73%}.__className_4f2f0f{font-family:VT323,VT323 Fallback;font-weight:400;font-style:normal}.__variable_4f2f0f{--font-receipt:"VT323","VT323 Fallback"}@font-face{font-family:"Monospace";src:url(/fonts/Monospace.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Monospace";src:url(/fonts/MonospaceBold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Monospace";src:url(/fonts/MonospaceOblique.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f2e8eb;--surface:#e9dce0;--lift:#dfd0d5;--border:#d4c0c7;--border-lt:#e2d4d9;--text:#281c20;--muted:#79606a;--dim:#a88894;--rose:#e8b8c4;--rose-bg:#f9eef2;--lavender:#cfc0ec;--lav-bg:#f2eefc;--mint:#a8d8c0;--mint-bg:#eaf6f0;--peach:#e8c0a0;--peach-bg:#fbf0e8;--sky:#a4c8e4;--sky-bg:#e8f2f9;--butter:#e8e0a0;--butter-bg:#f8f5dc;--terra:#b05060;--terra-lt:#c06070;--receipt:#fdfaf8;--receipt-border:#cfc0c6;--nav-h:62px;--display:"Monospace","Courier New",Courier,monospace;--body:var(--font-body),"Courier New",Courier,monospace;--mono:var(--font-receipt),"Courier New","Courier",monospace;--radius:4px;--radius-lg:8px;--shadow-sm:0 2px 14px rgba(40,28,34,0.07);--shadow:0 8px 32px rgba(40,28,34,0.12);--shadow-lg:0 18px 56px rgba(40,28,34,0.15)}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:15px;font-weight:400;line-height:1.7;overflow-x:hidden;cursor:none}body.mobile-menu-open{overflow:hidden}[role=button],a,button,img{cursor:none}::selection{background:var(--rose);color:var(--terra)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--rose);border-radius:4px}.cursor-blob.cursor-hidden{opacity:0}.cursor-blob{position:fixed;width:28px;height:28px;pointer-events:none;z-index:9999;border-radius:60% 40% 70% 30%/50% 60% 40% 70%;background:#ffffff;mix-blend-mode:difference;will-change:transform,border-radius;animation:blob-shape 3s ease-in-out infinite;transition:width .2s ease,height .2s ease,opacity .5s ease}.cursor-blob.cursor-hovered{width:52px;height:52px}.cursor-blob.cursor-idle{opacity:0}@keyframes blob-shape{0%,to{border-radius:60% 40% 70% 30%/50% 60% 40% 70%}33%{border-radius:40% 60% 30% 70%/70% 40% 60% 30%}66%{border-radius:70% 30% 45% 55%/35% 65% 70% 30%}}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);justify-content:space-between;padding:0 36px;background:rgba(242,232,235,.93);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-lt)}.nav,.nav-brand{display:flex;align-items:center}.nav-brand{gap:12px}.nav-logo{font-family:var(--display);font-weight:300;font-size:18px;letter-spacing:.16em;text-transform:uppercase;color:var(--text);text-decoration:none}.nav-handle{font-family:var(--body);font-size:12px;font-weight:400;letter-spacing:.04em;color:var(--terra);text-decoration:none;display:flex;align-items:center;gap:5px;opacity:.8;transition:opacity .2s}.nav-handle:hover{opacity:1}.nav-ig-icon{flex-shrink:0}.nav-links{display:flex;gap:32px;list-style:none}.nav-menu-btn{display:none;align-items:center;justify-content:center;flex-direction:column;gap:4px;width:44px;height:44px;border:1px solid var(--border);border-radius:999px;background:rgba(255,248,250,.86);color:var(--text)}.nav-menu-btn span{width:16px;height:1px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.nav-menu-btn.is-open span:first-child{transform:translateY(5px) rotate(45deg)}.nav-menu-btn.is-open span:nth-child(2){opacity:0}.nav-menu-btn.is-open span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.nav-links a{font-family:var(--display);font-size:11px;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;position:relative;padding-bottom:2px}.nav-links a:after{content:"";position:absolute;bottom:-1px;left:0;width:0;height:1px;background:var(--terra);transition:width .3s ease}.nav-links a.active,.nav-links a:hover{color:var(--text)}.nav-links a.active:after,.nav-links a:hover:after{width:100%}.image-shell{position:relative;width:100%;height:100%;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.04)),linear-gradient(120deg,var(--surface),var(--lift))}.image-shell-placeholder{position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.45) 32%,transparent 50%);transform:translateX(-100%);animation:image-shell-shimmer 1.25s ease-in-out infinite;z-index:0}.image-shell-img{opacity:0;transition:opacity .35s ease;z-index:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.image-shell.is-loaded .image-shell-img{opacity:1}.image-shell.is-loaded .image-shell-placeholder{opacity:0;transition:opacity .25s ease;animation:none}@keyframes image-shell-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.section-tag{font-family:var(--display);font-weight:300;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);margin-bottom:10px;display:flex;align-items:center;gap:8px}.hero{position:relative;display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:1fr 1fr;grid-gap:36px;gap:36px;height:100dvh;padding:calc(var(--nav-h) + 28px) 48px 28px;background:var(--bg);overflow:hidden}.preview-tile:before,.tile-stack:before{content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%) rotate(var(--tape-r,0deg));width:62px;height:20px;z-index:20;pointer-events:none;border-radius:1px;background:repeating-linear-gradient(90deg,transparent,transparent 5px,rgba(255,255,255,.14) 0,rgba(255,255,255,.14) 6px),rgba(200,175,105,.4);box-shadow:0 1px 3px rgba(0,0,0,.08)}.tile-stack{position:relative;display:block;cursor:none;filter:drop-shadow(0 6px 20px rgba(40,28,34,.13))}.stack-back{position:absolute;inset:0;border-radius:2px;transition:transform .45s cubic-bezier(.34,1.3,.64,1)}.stack-back-2{background:var(--lift);transform:rotate(calc(var(--r, 0deg) - 5deg)) translate(-5px,7px);z-index:1}.stack-back-1{background:#fff8fa;transform:rotate(calc(var(--r, 0deg) + 3.5deg)) translate(6px,5px);z-index:2}.stack-front{position:relative;z-index:3;height:100%;overflow:hidden;border-radius:2px;transform:rotate(var(--r,0deg));transition:transform .45s cubic-bezier(.34,1.3,.64,1)}.tile-stack:hover .stack-front{transform:rotate(0deg) translateY(-8px) scale(1.02)}.tile-stack:hover .stack-back-1{transform:rotate(calc(var(--r, 0deg) + 9deg)) translate(14px,10px)}.tile-stack:hover .stack-back-2{transform:rotate(calc(var(--r, 0deg) - 10deg)) translate(-12px,12px)}.tile-img-wrap{position:relative;width:100%;height:100%}.tile-img-wrap img{object-fit:cover}.tile-hover-label{position:absolute;bottom:0;left:0;right:0;padding:32px 14px 14px;background:linear-gradient(0deg,rgba(20,8,14,.74) 0,transparent);opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease;z-index:5;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.preview-tile:hover .tile-hover-label,.tile-stack:hover .tile-hover-label{opacity:1;transform:translateY(0)}.tile-label-name{font-family:var(--display);font-weight:300;font-size:clamp(12px,1.2vw,16px);letter-spacing:.16em;text-transform:uppercase;color:#fff;line-height:1}.tile-label-sub{font-family:var(--body);font-size:10px;font-weight:400;color:rgba(255,255,255,.65);letter-spacing:.06em}.tile-stack.is-entering{animation:slide-return .56s cubic-bezier(.22,1,.36,1) backwards}@keyframes slide-return{0%{transform:translate(var(--slide-x,0),var(--slide-y,0)) scale(.75)}to{transform:none}}.preview-tile.preview-entering{animation:preview-emerge .52s cubic-bezier(.22,1,.36,1) backwards;pointer-events:auto}@keyframes preview-emerge{0%{transform:translate(var(--from-x,0),var(--from-y,0)) scale(.05)}50%{transform:translate(calc(var(--from-x, 0px) * .5),calc(var(--from-y, 0px) * .5)) scale(1)}to{transform:none}}.preview-tile.preview-collapsing{animation:preview-shrink .42s cubic-bezier(.55,0,.7,.8) both;pointer-events:none}@keyframes preview-shrink{0%{transform:none}50%{transform:translate(calc(var(--from-x, 0px) * .5),calc(var(--from-y, 0px) * .5)) scale(1)}to{transform:translate(var(--from-x,0),var(--from-y,0)) scale(.05)}}.sticky-note.sticky-entering{animation:sticky-in .52s cubic-bezier(.22,1,.36,1) backwards}.sticky-note.sticky-collapsing{animation:sticky-out .34s cubic-bezier(.55,0,.7,.8) both;pointer-events:none}@keyframes sticky-in{0%{transform:rotate(2.5deg) translateY(30px);opacity:0}to{transform:rotate(2.5deg) translateY(0);opacity:1}}@keyframes sticky-out{0%{transform:rotate(2.5deg) translateY(0);opacity:1}to{transform:rotate(2.5deg) translateY(30px);opacity:0}}.preview-tile{position:relative;overflow:hidden;border-radius:2px;filter:drop-shadow(0 6px 20px rgba(40,28,34,.13));cursor:none;z-index:2}.preview-close-hint{position:absolute;top:12px;left:12px;z-index:6;background:rgba(242,232,235,.88);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--terra);font-family:var(--display);font-weight:300;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:100px;opacity:0;transform:translateY(-4px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.preview-tile-large:hover .preview-close-hint{opacity:1;transform:translateY(0)}.sticky-note{position:absolute;bottom:44px;right:56px;width:clamp(100px,9vw,130px);height:clamp(96px,8.5vw,124px);z-index:20;background:#fef9c4;border-radius:1px;box-shadow:3px 5px 18px rgba(0,0,0,.16),1px 2px 5px rgba(0,0,0,.08);transform:rotate(2.5deg);display:flex;flex-direction:column;align-items:stretch;text-decoration:none;cursor:none;overflow:visible;transition:transform .3s cubic-bezier(.34,1.3,.64,1),box-shadow .3s ease}.sticky-note:hover{transform:rotate(.5deg) scale(1.03);box-shadow:4px 8px 26px rgba(0,0,0,.2)}.sticky-note:before{content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%) rotate(-1deg);width:50px;height:20px;z-index:10;border-radius:1px;pointer-events:none;background:repeating-linear-gradient(90deg,transparent,transparent 5px,rgba(255,255,255,.14) 0,rgba(255,255,255,.14) 6px),rgba(200,175,105,.42);box-shadow:0 1px 3px rgba(0,0,0,.08)}.sticky-note-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:20px 16px 18px;gap:10px}.sticky-note-text{font-family:var(--display);font-weight:300;font-size:clamp(13px,1.4vw,18px);letter-spacing:.1em;text-transform:uppercase;color:#4a380c;text-align:center;line-height:1.4}.sticky-note-arrow{font-size:20px;color:#6a5018;display:block}.hero-close-btn{position:absolute;bottom:28px;left:48px;z-index:10;font-family:var(--display);font-weight:300;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);background:rgba(242,232,235,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-lt);border-radius:100px;padding:9px 20px;cursor:none;transition:background .2s,transform .2s;animation:slide-return .4s cubic-bezier(.22,1,.36,1) both;--slide-x:0px;--slide-y:-20px}.hero-close-btn:hover{background:rgba(242,232,235,1);transform:translateY(-1px)}@media (max-width:768px){.nav{padding:10px 24px;height:auto;min-height:var(--nav-h);align-items:flex-start}.nav-menu-btn{display:inline-flex;flex-shrink:0}.nav-links{position:absolute;top:calc(100% + 10px);left:24px;right:24px;display:none;flex-direction:column;gap:0;padding:10px 0;background:rgba(249,238,242,.98);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.nav-links.is-open{display:flex}.nav-links a{display:block;padding:14px 18px;font-size:12px}.hero{grid-template-columns:1fr;grid-template-rows:auto;gap:24px;height:auto;min-height:100dvh;padding:calc(var(--nav-h) + 20px) 24px 24px;overflow:visible}.hero>.preview-tile,.hero>.sticky-note,.hero>.tile-stack{grid-column:auto!important;grid-row:auto!important}.preview-tile,.tile-stack{min-height:min(74vw,420px)}.hero-close-btn{bottom:16px;left:24px}.sticky-note{position:static;justify-self:end;width:min(42vw,150px);height:auto;min-height:112px;margin-top:4px}}.about{min-height:100dvh;padding:calc(var(--nav-h) + 80px) 72px 48px;display:grid;grid-template-columns:1fr 1fr;grid-gap:80px;gap:80px;align-items:center;background:var(--surface)}.about-img-inner,.about-img-wrap{position:relative}.about-img-inner{width:100%;aspect-ratio:3/4;background:#fff8fa;padding:10px 10px 42px;box-shadow:var(--shadow-lg);border-radius:2px;transform:rotate(-1.8deg);transition:transform .4s ease,box-shadow .4s ease}.about-img-inner:hover{transform:rotate(0deg) scale(1.01);box-shadow:0 24px 64px rgba(40,28,34,.16)}.about-img-inner img{object-fit:cover}.about-img-caption{position:absolute;bottom:0;left:0;right:0;padding:10px;text-align:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.about-img-caption,.about-text h2{font-family:var(--display);font-weight:300}.about-text h2{font-size:clamp(34px,4.5vw,60px);line-height:1.05;color:var(--text);letter-spacing:-.01em}.about-text p{color:var(--muted);margin-top:22px;font-size:15px;line-height:1.9}.about-text p+p{margin-top:14px}.about-facts{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-top:44px;padding-top:36px;border-top:1px solid var(--border-lt)}.fact-item{background:rgba(255,248,250,.8);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);border:1px solid var(--border-lt)}.fact-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}.fact-label,.fact-value{font-family:var(--display);font-weight:300}.fact-value{font-size:22px;letter-spacing:-.01em;color:var(--text);margin-top:4px}.fact-item:first-child{border-top:2px solid var(--rose)}.fact-item:nth-child(2){border-top:2px solid var(--lavender)}.fact-item:nth-child(3){border-top:2px solid var(--mint)}.fact-item:nth-child(4){border-top:2px solid var(--sky)}.projects{padding:calc(var(--nav-h) + 48px) 72px 48px;background:var(--bg)}.projects-header{margin-bottom:48px}.projects-header h2{font-family:var(--display);font-weight:300;font-size:clamp(34px,4.5vw,60px);line-height:1.05;letter-spacing:-.01em;color:var(--text)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.project-card{position:relative;overflow:hidden;cursor:none;text-decoration:none;display:block;border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .4s ease,box-shadow .4s ease;background:#fff8fa}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.project-card:first-child{border-top:2px solid var(--rose)}.project-card:nth-child(2){border-top:2px solid var(--lavender)}.project-card:nth-child(3){border-top:2px solid var(--mint)}.project-card:nth-child(4){border-top:2px solid var(--peach)}.project-card:nth-child(5){border-top:2px solid var(--sky)}.project-card:nth-child(6){border-top:2px solid var(--butter)}.project-card-img{position:relative;width:100%;aspect-ratio:4/5}.project-card.featured .project-card-img{aspect-ratio:16/9}.project-card.featured{grid-column:span 2}.project-card-img img{object-fit:cover;filter:saturate(.88);transition:transform .6s cubic-bezier(.25,.46,.45,.94),filter .4s ease}.project-card:hover .project-card-img img{transform:scale(1.04);filter:saturate(.95) brightness(.75)}.project-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:20px;opacity:0;transition:opacity .3s ease}.project-card:hover .project-overlay{opacity:1}.project-overlay-name{font-family:var(--display);font-weight:700;font-size:17px;color:#fff;letter-spacing:.02em}.project-info{padding:16px 18px 20px}.project-name{font-size:18px;letter-spacing:.02em;color:var(--text);line-height:1.25}.project-meta,.project-name{font-family:var(--display);font-weight:300}.project-meta{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:6px}.rates{padding:calc(var(--nav-h) + 80px) 72px 16px;background:var(--surface)}.rates-header{text-align:center}.rates h2{font-family:var(--display);font-weight:300;font-size:clamp(34px,4.5vw,60px);line-height:1.05;letter-spacing:-.01em;color:var(--text)}.rates-receipt-wrap{margin-top:40px;display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.rates-receipt-img{width:340px;max-width:90vw;height:auto;display:block}.contact{padding:calc(var(--nav-h) + 32px) 72px 100px;background:var(--surface);display:flex;flex-direction:column;align-items:center;gap:52px}.contact-header{text-align:center}.contact-header h2{font-family:var(--display);font-weight:300;font-size:clamp(32px,4vw,56px);line-height:1.1;letter-spacing:-.01em;color:var(--text);margin-top:10px}.contact-blurb{color:var(--muted);margin-top:16px;font-size:15px;line-height:1.9;max-width:36rem}.letter-wrap{width:100%;max-width:680px;background:#fdf9f4;border:1px solid #d8cdbf;box-shadow:0 8px 40px rgba(40,28,34,.1),0 2px 8px rgba(40,28,34,.06);position:relative;overflow:hidden}.letter-airmail{height:10px;background:repeating-linear-gradient(-45deg,#c1392b,#c1392b 8px,#fff 0,#fff 12px,#1a3a8a 0,#1a3a8a 20px,#fff 0,#fff 24px)}.letter-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:28px 32px 20px;border-bottom:1px solid #e0d5c8}.letter-from{flex:1 1}.letter-field-row{display:flex;align-items:flex-start;gap:16px}.letter-label{font-family:var(--display);font-size:9px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);padding-top:11px;min-width:36px;flex-shrink:0}.letter-from-fields{flex:1 1;display:flex;flex-direction:column;gap:0}.letter-input{width:100%;background:transparent;border:none;border-bottom:1px solid #c8bdb0;color:var(--text);font-family:var(--body);font-size:14px;padding:8px 2px;outline:none;transition:border-color .2s,opacity .5s ease}.letter-input:focus{border-color:var(--terra)}.letter-input::placeholder{color:#bba898}.letter-stamp{width:72px;height:86px;border:2px solid var(--terra);box-shadow:inset 0 0 0 4px #fdf9f4,inset 0 0 0 6px var(--terra);flex-shrink:0;justify-content:center}.letter-stamp,.stamp-inner{display:flex;align-items:center}.stamp-inner{flex-direction:column;gap:4px;text-align:center}.stamp-btm,.stamp-top{font-family:var(--display);font-size:7px;font-weight:700;letter-spacing:.16em;color:var(--terra);text-transform:uppercase}.stamp-img{font-size:20px;color:var(--terra);line-height:1}.letter-to-row{display:flex;align-items:flex-start;gap:16px;padding:16px 32px;border-bottom:1px solid #e0d5c8}.letter-to-address{display:flex;flex-direction:column;gap:1px}.to-name{font-family:var(--display);font-size:15px;font-weight:300;letter-spacing:.06em;color:var(--text)}.to-handle{font-size:12px;color:var(--muted);font-family:var(--body)}.letter-rule{border:none;border-top:1px solid #e0d5c8}.letter-re-row{display:flex;align-items:flex-start;gap:16px;padding:14px 32px}.letter-re-row .letter-label{padding-top:8px}.letter-select{width:100%;background:transparent;border:none;border-bottom:1px solid #c8bdb0;color:var(--text);font-family:var(--body);font-size:14px;padding:6px 2px;outline:none;cursor:none;transition:border-color .2s,opacity .5s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.letter-select:focus{border-color:var(--terra)}.letter-select option{background:#fdf9f4}.letter-select--error{border-color:#c1392b;color:#c1392b}.letter-select--error:focus{border-color:#c1392b}.letter-re-field{display:flex;flex-direction:column;gap:4px;flex:1 1}.letter-field-error{font-family:var(--body);font-size:11px;color:#c1392b;letter-spacing:.02em}.letter-body{padding:0 32px;background-image:repeating-linear-gradient(180deg,transparent,transparent 27px,rgba(176,80,96,.12) 0,rgba(176,80,96,.12) 28px);background-position:0 44px}.letter-textarea{width:100%;background:transparent;border:none;color:var(--text);font-family:var(--body);font-size:14px;line-height:28px;padding:16px 0;min-height:196px;resize:none;outline:none;transition:opacity .5s ease}.letter-textarea::placeholder{color:#bba898}.letter-footer{display:flex;align-items:center;justify-content:space-between;padding:20px 32px 24px;border-top:1px solid #e0d5c8}.letter-postmark,.postmark-ring{position:relative}.postmark-ring{width:80px;height:80px;border:2px solid #b0a090;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;overflow:hidden}.postmark-ring:before{content:"";position:absolute;inset:8px;border:1px dashed #b0a090;border-radius:50%}.postmark-name{font-family:var(--display);font-size:7px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.postmark-name,.postmark-waves{color:#8a7a6a;position:relative;z-index:1}.postmark-waves{font-size:8px;letter-spacing:-1px}.postmark-sub{font-size:6px;letter-spacing:.12em;color:#8a7a6a;position:relative;z-index:1}.letter-send,.postmark-sub{font-family:var(--display);text-transform:uppercase}.letter-send{font-size:11px;font-weight:600;letter-spacing:.2em;color:#fdf9f4;background:var(--terra);border:none;padding:14px 36px;cursor:none;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 16px rgba(176,80,96,.28),inset 0 0 0 2px rgba(255,255,255,.12)}.letter-send:hover{background:var(--terra-lt);transform:translateY(-1px)}.letter-send:active{transform:translateY(0)}.letter-send:disabled{opacity:.6;cursor:not-allowed;transform:none}.letter-notice{margin:0 32px 16px;padding:12px 16px;font-family:var(--body);font-size:13px}.letter-notice--error{background:#fdf0f0;border:1px solid #e8b4b8;border-left:3px solid #c1392b;color:#8b2020}@keyframes stamp-slam{0%{opacity:0;transform:translate(-50%,-50%) scale(2.4) rotate(-12deg)}55%{opacity:1;transform:translate(-50%,-50%) scale(.92) rotate(-12deg)}75%{transform:translate(-50%,-50%) scale(1.04) rotate(-12deg)}to{transform:translate(-50%,-50%) scale(1) rotate(-12deg)}}@keyframes field-fade-out{0%{opacity:1}to{opacity:0}}.letter-wrap--success .letter-input,.letter-wrap--success .letter-select,.letter-wrap--success .letter-textarea{animation:field-fade-out .6s ease 3.45s forwards}.letter-sent-overlay{position:absolute;inset:0;pointer-events:none;z-index:10}.letter-sent-stamp{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 32px;border:4px solid #c1392b;box-shadow:inset 0 0 0 2px #c1392b;color:#c1392b;animation:stamp-slam .45s cubic-bezier(.22,1,.36,1) forwards,field-fade-out .6s ease 3.45s forwards;opacity:0}.sent-stamp-top{font-size:9px;letter-spacing:.28em}.sent-stamp-mid,.sent-stamp-top{font-family:var(--display);font-weight:700;text-transform:uppercase}.sent-stamp-mid{font-size:42px;letter-spacing:.18em;line-height:1}.sent-stamp-btm{font-size:14px;opacity:.7}.footer{background:var(--surface);border-top:1px solid var(--border-lt);padding:32px 72px;display:flex;align-items:center;justify-content:space-between;gap:16px}.footer-name{font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}.footer-copy,.footer-name{font-family:var(--display);font-weight:300}.footer-copy{font-size:10px;letter-spacing:.1em;color:var(--dim)}.footer-handle{font-family:var(--body);font-size:12px;font-weight:400;letter-spacing:.04em;color:var(--terra);text-decoration:none;display:flex;align-items:center;gap:6px;opacity:.8;transition:opacity .2s}.footer-handle:hover{opacity:1}.admin-toggle-btn{font-family:var(--body);font-size:10px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);background:none;border:1px solid var(--border);border-radius:var(--radius);padding:4px 10px;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.admin-toggle-btn:hover{color:var(--terra);border-color:var(--terra)}.admin-toggle-btn.active{background:var(--terra);border-color:var(--terra);color:#fff}.admin-mode-controls{position:fixed;top:14px;right:20px;z-index:9999;display:flex;align-items:center;gap:8px}.admin-mode-badge{background:var(--terra);color:#fff;font-family:var(--body);font-size:9px;font-weight:600;letter-spacing:.18em;padding:3px 8px;border-radius:var(--radius);pointer-events:none}.admin-exit-btn{font-family:var(--body);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);background:rgba(255,255,255,.92);border:1px solid rgba(187,147,111,.35);border-radius:var(--radius);padding:5px 10px;text-decoration:none;transition:color .2s,border-color .2s,background .2s}.admin-exit-btn:hover{color:#fff;background:var(--terra);border-color:var(--terra)}.admin-editable{cursor:pointer!important;outline:2px dashed var(--terra)!important;outline-offset:4px;transition:outline-color .2s}.admin-editable:hover{outline-color:var(--terra-lt)!important}.admin-overlay{position:fixed;inset:0;z-index:8000;background:rgba(40,28,34,.55);display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:800px;width:100%;max-height:80vh;overflow-y:auto;display:flex;flex-direction:column}.admin-modal-single{max-width:480px}.admin-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-lt);flex-shrink:0}.admin-label-edit{display:flex;flex-direction:column;gap:3px;flex:1 1;min-width:0}.admin-label-input,.admin-sub-input{background:none;border:none;border-bottom:1px solid transparent;outline:none;font-family:var(--display);color:var(--text);letter-spacing:.12em;text-transform:uppercase;padding:2px 0;width:100%;transition:border-color .18s}.admin-label-input:focus,.admin-label-input:hover,.admin-sub-input:focus,.admin-sub-input:hover{border-bottom-color:var(--border)}.admin-label-input{font-size:13px;font-weight:400}.admin-sub-input{font-size:11px;color:var(--muted)}.admin-delete-btn{border-color:#e5b4b4;color:#c0392b}.admin-delete-btn:hover{background:#fdf2f2}.admin-delete-btn.is-dirty{background:#c0392b;border-color:#c0392b;color:#fff}.admin-delete-btn.is-dirty:hover{background:#a93226;border-color:#a93226}.admin-modal-close{width:28px;height:28px;background:none;border:1px solid var(--border);border-radius:50%;color:var(--muted);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s;flex-shrink:0}.admin-modal-close:hover{color:var(--text);border-color:var(--dim)}.admin-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px;padding:20px}.admin-album-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,420px);grid-gap:24px;gap:24px;align-items:start}.admin-photo-item-wrap{display:flex;flex-direction:column;gap:5px}.admin-photo-item-wrap.is-selected .admin-photo-item{outline:2px solid var(--terra);outline-offset:2px}.admin-photo-label{font-family:var(--body);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);text-align:center}.admin-photo-item{position:relative;aspect-ratio:1;border-radius:var(--radius);overflow:hidden;cursor:pointer;border:none;background:var(--surface);padding:0;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease,opacity .2s ease}.admin-photo-item:hover{transform:scale(1.03)}.admin-photo-item:disabled .admin-photo-overlay,.admin-photo-item:hover .admin-photo-overlay{opacity:1}.admin-photo-item:disabled{cursor:wait}.admin-add-photo{display:grid;place-items:center;background:rgba(255,248,250,.7);border:1px dashed var(--border)}.admin-add-photo-plus{font-family:var(--display);font-size:48px;line-height:1;color:var(--terra)}.admin-photo-item-wrap.is-dragging{opacity:.45}.admin-photo-item-wrap.is-dragging .admin-photo-item{transform:scale(.94) rotate(-2deg)}.admin-photo-item-wrap.is-drop-target .admin-photo-item{transform:translateY(-6px) scale(1.04);box-shadow:0 10px 24px rgba(40,28,34,.16)}.admin-photo-preview{aspect-ratio:4/5;display:block;width:calc(100% - 40px);margin:20px;border-radius:var(--radius);overflow:hidden;cursor:pointer;border:none;background:var(--surface);padding:0}.admin-photo-preview:hover .admin-photo-overlay{opacity:1}.admin-photo-overlay{position:absolute;inset:0;background:rgba(176,80,96,.62);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--body);font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:0;transition:opacity .18s}.admin-editor-panel{display:flex;flex-direction:column;gap:16px;padding:20px 20px 20px 0}.admin-editor-preview{position:relative;width:100%;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:rgba(255,248,250,.82)}.admin-editor-preview.is-cover{aspect-ratio:3/4}.admin-editor-preview.is-square{aspect-ratio:1}.admin-editor-preview.is-portrait{aspect-ratio:1/2}.admin-editor-preview.is-landscape{aspect-ratio:2/1}.admin-crop-surface{cursor:-webkit-grab;cursor:grab;touch-action:none}.admin-crop-surface:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);pointer-events:none;z-index:3}.admin-crop-surface.is-dragging-crop{cursor:-webkit-grabbing;cursor:grabbing}.admin-new-photo-placeholder{display:grid;place-items:center;width:100%;height:100%;font-family:var(--display);font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.admin-crop-controls{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:rgba(255,248,250,.82)}.admin-crop-field{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:13px}.admin-crop-field span{font-family:var(--display);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--terra)}.admin-action-row{display:flex;flex-wrap:wrap;gap:10px}.admin-save-btn{border:1px solid var(--border);background:rgba(255,248,250,.92);color:var(--text);font-family:var(--display);font-size:10px;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:10px 16px;transition:background .18s,border-color .18s,color .18s;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}.admin-save-btn.is-dirty{background:var(--terra);border-color:var(--terra);color:#fff}.admin-save-btn.is-dirty:hover{background:var(--terra-lt);border-color:var(--terra-lt)}.admin-help-text{color:var(--muted);font-size:13px}.admin-page-actions{display:flex;justify-content:flex-end;margin-bottom:18px}.admin-empty{padding:48px 24px;text-align:center;color:var(--muted);font-family:var(--body);font-size:13px;letter-spacing:.06em}@keyframes admin-overlay-in{0%{opacity:0}to{opacity:1}}.admin-overlay{animation:admin-overlay-in .22s ease both}@keyframes admin-modal-in{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-modal{animation:admin-modal-in .3s cubic-bezier(.16,1,.3,1) both}.admin-photo-item img,.admin-photo-preview img{transition:opacity .3s ease,filter .3s ease}.admin-photo-item.is-uploading img,.admin-photo-preview.is-uploading img{opacity:.35;filter:blur(3px)}.admin-photo-item.is-uploading .admin-photo-overlay,.admin-photo-preview.is-uploading .admin-photo-overlay{opacity:1}@keyframes admin-photo-success{0%{transform:scale(1);filter:brightness(1)}30%{transform:scale(1.05);filter:brightness(1.18)}65%{transform:scale(1.01);filter:brightness(1.05)}to{transform:scale(1);filter:brightness(1)}}.admin-photo-item.just-replaced,.admin-photo-preview.just-replaced{animation:admin-photo-success .55s cubic-bezier(.22,1,.36,1) both}.admin-photo-item.just-replaced .admin-photo-overlay,.admin-photo-preview.just-replaced .admin-photo-overlay{opacity:1;background:rgba(80,160,120,.55);font-size:18px}@keyframes admin-spin{to{transform:rotate(1turn)}}.admin-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:admin-spin .7s linear infinite;flex-shrink:0}.admin-crop-stage{position:relative;padding:28px;background:rgba(18,8,12,.92);border-radius:var(--radius);overflow:hidden;cursor:-webkit-grab;cursor:grab;touch-action:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.admin-crop-stage.is-dragging-crop{cursor:-webkit-grabbing;cursor:grabbing}.admin-crop-bg-shell{position:absolute!important;inset:0!important;width:auto!important;height:auto!important;z-index:0;pointer-events:none;overflow:hidden}.admin-crop-bg-shell .image-shell-img{filter:blur(8px) saturate(.4);opacity:.35!important;transform-origin:center}.admin-crop-stage-dim{position:absolute;inset:0;background:rgba(10,4,7,.55);z-index:1;pointer-events:none}.admin-crop-frame{position:relative;overflow:hidden;z-index:2;width:100%;box-shadow:0 0 0 1px rgba(255,255,255,.45),0 0 0 2px rgba(0,0,0,.4),0 6px 28px rgba(0,0,0,.5)}.admin-crop-frame.is-cover{aspect-ratio:3/4}.admin-crop-frame.is-hero-cover{aspect-ratio:2/3}.admin-crop-frame.is-square{aspect-ratio:1}.admin-crop-frame.is-portrait{aspect-ratio:1/2}.admin-crop-frame.is-landscape{aspect-ratio:2/1}.admin-crop-frame.is-project{aspect-ratio:4/5}.admin-crop-stage-single{border-radius:var(--radius)}.admin-crop-guides{position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(rgba(255,255,255,.07) 1px,transparent 0) 0 33.33% /100% 33.34%,linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 0) 33.33% 0 /33.34% 100%;border:1px solid rgba(255,255,255,.2)}.admin-crop-stage .admin-new-photo-placeholder{position:relative;z-index:2}.fade-in{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.fade-in.visible{opacity:1;transform:none}@media (max-width:900px){.about,.contact,.projects,.rates{padding:calc(var(--nav-h) + 52px) 36px 80px}.admin-album-layout{grid-template-columns:1fr}.admin-editor-panel{padding:0 20px 20px}.about{grid-template-columns:1fr;gap:52px}.about-img-wrap{max-width:620px;width:100%;margin:0 auto}.about-text{max-width:720px}.letter-header{padding:20px 20px 16px}.letter-re-row,.letter-to-row{padding-left:20px;padding-right:20px}.letter-body{padding:0 20px}.letter-footer{padding:16px 20px 20px}.projects-grid{grid-template-columns:1fr 1fr}.project-card.featured{grid-column:span 2}.footer{flex-direction:column;gap:10px;text-align:center}}@media (max-width:600px){.nav{padding:10px 20px}.nav-brand{align-items:flex-start;flex-direction:column;gap:6px}.nav-logo{font-size:16px}.nav-handle{font-size:11px}.nav-links{left:20px;right:20px}.about,.contact,.projects,.rates{padding:calc(var(--nav-h) + 36px) 20px 60px}.hero{padding:calc(var(--nav-h) + 28px) 20px 20px;gap:18px}.preview-tile,.tile-stack{min-height:min(88vw,360px)}.tile-hover-label{opacity:1;transform:none;padding:28px 14px 14px}.about{gap:36px;min-height:auto}.about-img-inner{padding:8px 8px 34px;transform:rotate(-1deg)}.about-text h2,.contact-header h2,.projects-header h2,.rates h2{font-size:clamp(28px,10vw,42px)}.about-text p{font-size:14px;line-height:1.8}.projects-grid{grid-template-columns:1fr;gap:14px}.project-card.featured{grid-column:span 1}.project-card.featured .project-card-img{aspect-ratio:4/3}.rates-receipt-wrap{gap:16px;margin-top:28px}.rates-receipt-img{width:100%;max-width:420px}.contact{gap:36px}.contact-blurb{font-size:14px;line-height:1.8}.letter-footer,.letter-header,.letter-re-row,.letter-to-row{flex-direction:column;align-items:stretch}.letter-field-row{flex-direction:column;gap:8px}.letter-label{min-width:0;padding-top:0}.letter-stamp{width:64px;height:76px;align-self:flex-end}.letter-textarea{min-height:168px}.letter-footer{gap:18px}.letter-postmark{align-self:center}.letter-send{width:100%;padding:16px 24px}.footer{padding:24px 20px}.footer-copy,.footer-handle,.footer-name{text-align:center}}@media (hover:none),(pointer:coarse){[role=button],a,body,button,img{cursor:auto}.cursor-blob{display:none}}.album-nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:rgba(242,232,235,.93);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-lt)}.album-nav-logo{font-size:16px;color:var(--text)}.album-back,.album-nav-logo{font-family:var(--display);font-weight:300;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}.album-back{font-size:10px;color:var(--terra);transition:letter-spacing .2s}.album-back:hover{letter-spacing:.22em}.album-main{padding-top:var(--nav-h);min-height:100dvh;background:var(--bg)}.album-hero{padding:56px 72px 48px;border-bottom:1px solid var(--border-lt)}.album-title{font-size:clamp(44px,7vw,92px);line-height:1;color:var(--text);letter-spacing:-.02em;margin-top:4px}.album-count,.album-title{font-family:var(--display);font-weight:300}.album-count{display:inline-block;margin-top:14px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;grid-gap:6px;gap:6px;padding:6px 0 0}.bento-item{position:relative;overflow:hidden;aspect-ratio:1;background:var(--surface);cursor:pointer}.bento-item img{transition:transform .6s cubic-bezier(.25,.46,.45,.94),filter .4s ease;filter:saturate(.9)}.bento-item:hover img{transform:scale(1.04);filter:saturate(1)}.bento-item.bento-portrait{grid-row:span 2;aspect-ratio:1/2}.bento-item.bento-landscape{grid-column:span 2;aspect-ratio:2/1}.lightbox-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;cursor:none;animation:lb-fade .18s ease}.lightbox-img{max-width:90vw;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:2px;box-shadow:0 24px 80px rgba(0,0,0,.5);animation:lb-scale .22s cubic-bezier(.34,1.4,.64,1)}.lightbox-close{position:fixed;top:24px;right:28px;background:none;border:none;color:#fff;font-size:22px;line-height:1;opacity:.7;padding:4px 8px;transition:opacity .2s;cursor:none}.lightbox-close:hover{opacity:1}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}@keyframes lb-scale{0%{transform:scale(.93);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width:900px){.album-hero{padding:40px 36px 36px}.bento-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.album-nav{height:auto;min-height:var(--nav-h);padding:14px 20px;align-items:flex-start;flex-direction:column;gap:8px}.album-nav-logo{font-size:15px}.album-back{font-size:11px}.album-hero{padding:28px 20px}.album-title{line-height:.92}.album-count{margin-top:10px}.bento-grid{grid-template-columns:1fr;gap:4px}.bento-item.bento-landscape{grid-column:span 1;aspect-ratio:1}.bento-item.bento-portrait{grid-row:span 1;aspect-ratio:1}.lightbox-img{max-width:calc(100vw - 24px);max-height:calc(100vh - 96px)}.lightbox-close{top:16px;right:16px;font-size:28px;padding:8px}}