:root{--bg: #f7f2ea;--ink: #1e1b2e;--muted: #6e6879;--line: #e4dccf;--peach: #ffc4ad;--mint: #bfe8d3;--lilac: #d5c8ff;--butter: #ffe8a3;--sky: #bcdcff;--display: "Bricolage Grotesque", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--hud-h: 62px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--display);-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--lilac)}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}section{padding:clamp(4rem,10vw,8rem) clamp(1rem,5vw,4rem);max-width:80rem;margin:0 auto}.label,.num,.kicker,.hud,.badge,.tags,footer{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.label{color:var(--muted);font-weight:400;margin-bottom:2.5rem}.num{color:var(--muted)}.dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:#3fbf7f;margin-right:.45rem;animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.3}}.hud{position:sticky;top:0;z-index:10;height:var(--hud-h);box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem clamp(1rem,5vw,4rem);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.mark{font:700 1.35rem var(--display);text-transform:none;letter-spacing:-.03em}.mark span{color:#f08a6a}.hud-stats{display:flex;gap:1.5rem;color:var(--muted)}.hud nav{display:flex;align-items:center;gap:1.25rem}.hud nav a:hover{color:#f08a6a}.pill{background:var(--ink);color:var(--bg);padding:.4rem .85rem;border-radius:999px}.hud nav .pill:hover{color:var(--bg);background:#f08a6a}.lang{border:1px solid var(--ink);padding:.3rem .55rem;border-radius:999px}.act{display:grid;grid-template-columns:4rem 1fr 1fr;gap:2rem;padding:2.5rem 0;border-top:1px solid var(--line);align-items:baseline}.act h3{font-size:clamp(1.6rem,3.5vw,2.6rem);line-height:1.1;letter-spacing:-.03em;font-weight:600}.act p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.card{border-radius:1.75rem;padding:1.75rem;display:flex;flex-direction:column;gap:.8rem;min-height:26rem;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}.card:hover{transform:translateY(-8px) rotate(-1deg)}.card:nth-child(2):hover{transform:translateY(-8px) rotate(1deg)}.peach{background:var(--peach)}.mint{background:var(--mint)}.lilac{background:var(--lilac)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto}.card .num{color:var(--ink)}.visit{background:var(--ink);color:var(--bg);border-radius:999px;padding:.35rem .8rem;font-size:.85rem}.badge{border:1px dashed var(--ink);border-radius:999px;padding:.3rem .7rem}.card h3{font-size:2.2rem;letter-spacing:-.04em;line-height:1;font-weight:700}.kind{font-style:italic}.tags{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem;text-transform:none}.tags li{background:color-mix(in srgb,var(--bg) 60%,transparent);border-radius:999px;padding:.25rem .65rem}.services ol{list-style:none;margin:0;padding:0}.services li{display:grid;grid-template-columns:4rem 1fr 1fr;gap:2rem;align-items:baseline;padding:1.6rem 0;border-top:1px solid var(--line);transition:padding .3s,background .3s;border-radius:1rem}.services li:hover{background:var(--sky);padding-inline:1.25rem}.services h3{font-size:clamp(1.6rem,4vw,3rem);letter-spacing:-.04em;font-weight:600}.services p{color:var(--muted)}.about{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,34rem);gap:clamp(2rem,6vw,6rem);align-items:center;justify-content:center}.photo{margin:0;background:#fff;padding:.8rem .8rem 0;border-radius:.4rem;box-shadow:0 20px 50px -25px #1e1b2e73;transform:rotate(-3deg);transition:transform .4s}.photo:hover{transform:rotate(1deg) scale(1.02)}.avatar{display:block;background:var(--bg);border-radius:.2rem}.avatar svg{display:block;width:100%;height:auto}.sticker{transform-origin:340px 90px;animation:wobble 4s ease-in-out infinite}@keyframes wobble{50%{transform:rotate(12deg)}}.photo figcaption{font:400 .95rem var(--display);font-style:italic;text-align:center;padding:.8rem 0 1rem;color:var(--muted)}.about h2{font-size:clamp(2.4rem,6vw,4.5rem);letter-spacing:-.05em;line-height:1;margin-bottom:1.5rem}.about p{font-size:1.2rem;margin-bottom:1rem}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.step{border:1px solid var(--ink);border-radius:1.25rem;padding:1.5rem;display:grid;gap:.6rem;align-content:start}.step h3{font-size:1.6rem;letter-spacing:-.03em}.step p{color:var(--muted);font-size:.98rem}.joke{margin-top:3rem;text-align:center;font-style:italic;color:var(--muted)}.contact{text-align:center;padding-block:clamp(5rem,14vw,10rem)}.contact .kicker{color:var(--muted)}.contact h2{font-size:clamp(3.5rem,13vw,11rem);letter-spacing:-.06em;line-height:.95;margin:1rem 0 1.5rem}.contact>p{color:var(--muted);font-size:1.15rem}.mail{display:inline-block;margin-top:2.5rem;font-size:clamp(1.2rem,4vw,2.4rem);font-weight:600;background:var(--peach);padding:.6rem 1.4rem;border-radius:999px;transition:background .2s,transform .2s;word-break:break-all}.mail:hover{background:var(--lilac);transform:rotate(-2deg) scale(1.03)}.contact-links{margin-top:1.5rem;display:flex;justify-content:center;gap:1.5rem;font-family:var(--mono);font-size:.85rem}.contact-links a{border-bottom:1px solid currentColor}footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.5rem clamp(1rem,5vw,4rem);border-top:1px solid var(--line);color:var(--muted)}.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1)}.js .reveal.in{opacity:1;transform:none}.js .photo.reveal.in{transform:rotate(-3deg)}@media(max-width:960px){.hud-stats{display:none}.cards,.steps{grid-template-columns:1fr}.card{min-height:20rem}.about{grid-template-columns:1fr}.photo{max-width:20rem;margin:0 auto}}@media(max-width:640px){.hud nav a:not(.pill):not(.lang){display:none}.act,.services li{grid-template-columns:1fr;gap:.6rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
