:root{--ink:#111;--ivory:#f7f7f5;--white:#fff;--stone:#eeeeeb;--line:#e4e4e0;--line-strong:#d9d9d4;--graphite:#6b6b66;--muted:#55554f;--body:#3a3a36;--faint:#9a9a94;--ease:cubic-bezier(.2, .7, .2, 1);--mono:"IBM Plex Mono", ui-monospace, monospace;--sans:"Archivo", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--ivory);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:var(--ink);text-decoration:none}a:hover{color:var(--graphite)}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}input::placeholder,textarea::placeholder{color:var(--faint)}::selection{background:var(--ink);color:#fff}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.mono{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--graphite);font-size:11px}.display{text-transform:uppercase;letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:500;font-stretch:125%;line-height:1.02}.btn{border:1px solid var(--ink);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:14px;height:54px;padding:0 30px;font-size:12px;font-weight:600;transition:background .4s,color .4s,border-color .4s,transform .4s;display:inline-flex}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:#2b2b2b;transform:translateY(-1px)}.btn-outline{color:var(--ink);background:0 0}.btn-outline:hover{background:var(--ink);color:#fff}.btn-light{color:var(--ink);background:#fff;border-color:#fff}.btn-light:hover{background:#e9e9e6;transform:translateY(-1px)}.btn-ghost-light{color:#fff;background:0 0;border-color:#fff6}.btn-ghost-light:hover{background:#ffffff0f;border-color:#fff}.btn-tall{height:56px}.link-underline{border:0;border-bottom:1px solid var(--ink);cursor:pointer;letter-spacing:.16em;text-transform:uppercase;background:0 0;padding:4px 0;font-size:11.5px;font-weight:600}.icon-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .3s;display:flex;position:relative}.icon-btn:hover{background:#ecece8}.chip{cursor:pointer;border:1px solid var(--line-strong);height:40px;color:var(--ink);background:0 0;border-radius:999px;flex:none;padding:0 16px;font-size:12.5px;transition:border-color .3s}.chip:hover{border-color:var(--ink)}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.badge-count{background:var(--ink);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:600;display:flex;position:absolute;top:5px;right:3px}.ph{background:var(--stone);background-image:repeating-linear-gradient(135deg,#1111110b 0 1px,#0000 1px 12px);position:relative;overflow:hidden}.ph-dark{background:#1a1a1a repeating-linear-gradient(135deg,#ffffff09 0 1px,#0000 1px 12px)}.ph-caption{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);font-size:10px;position:absolute;bottom:14px;left:16px}.zoom-hover{transition:transform 1.3s var(--ease)}.card:hover .zoom-hover{transform:scale(1.05)}.field{color:var(--muted);flex-direction:column;gap:7px;font-size:12.5px;display:flex}.field input,.field textarea,.field select{border:1px solid var(--line-strong);height:52px;color:var(--ink);background:#fff;border-radius:0;outline:none;padding:0 16px;font-size:15px;transition:border-color .3s}.field textarea{resize:vertical;height:auto;padding:14px 16px}.field input:focus,.field textarea:focus{border-color:var(--ink)}.row-line{border-top:1px solid var(--line)}[data-reveal]{opacity:0;transform-origin:50% 0;transition:opacity 1s var(--ease), transform 1.1s var(--ease);transform:perspective(1200px)translateY(28px)rotateX(7deg)}[data-reveal].in{opacity:1;transform:none}.tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .7s var(--ease);will-change:transform}.tilt.tilting{transition:transform .12s linear}.tilt-glare{pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%), #ffffff61, #fff0 55%);opacity:0;transition:opacity .5s var(--ease);position:absolute;inset:0}.tilt.tilting .tilt-glare{opacity:1}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none}.tilt{transform:none}*{scroll-behavior:auto!important}}.hscroll{scrollbar-width:none;overflow-x:auto}.hscroll::-webkit-scrollbar{display:none}
