:root{--bg:#f5eee3;--surface:#fbf7f0;--ink:#3e2a1f;--muted:#7a6657;--line:#e2d6c5;--accent:#d85a30;--font-display:"Fraunces", "Noto Serif SC", "Songti SC", serif;--font-body:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;font-size:17px;line-height:1.75;display:flex}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.2em}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0;font-weight:600;line-height:1.25}h1{font-size:clamp(34px,6vw,60px)}h2{font-size:clamp(24px,3.4vw,34px)}h3{font-size:20px}p{margin:0}[hidden]{display:none!important}.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}.page{flex:1}.section{padding-top:56px;padding-bottom:56px}.section>h1,.section>h2{margin-bottom:16px}.narrow{max-width:760px}.lead{color:var(--muted);max-width:34em;font-size:clamp(18px,2.2vw,21px)}.eyebrow,.meta{letter-spacing:.08em;color:var(--muted);font-size:14px}.prose{gap:1em;max-width:40em;margin-top:20px;display:grid}.site-header{border-bottom:1px solid var(--line);background:var(--bg);z-index:10;position:sticky;top:0}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding-top:12px;padding-bottom:12px;display:flex}.brand{font-family:var(--font-display);align-items:center;gap:10px;font-size:19px;font-weight:600;text-decoration:none;display:flex}.brand:hover{color:inherit}.site-header nav{flex-wrap:wrap;align-items:center;gap:4px 22px;font-size:15px;display:flex}.site-header nav a{padding:6px 0;text-decoration:none}.site-header nav a[aria-current=page]{box-shadow:0 2px 0 var(--accent)}.lang-switch{border:1px solid var(--ink);border-radius:999px;font-size:14px;text-decoration:none;padding:4px 14px!important}.lang-switch:hover{background:var(--ink);color:var(--bg)}.hero{border-bottom:1px solid var(--line);background:repeating-linear-gradient(0deg, color-mix(in srgb, var(--ink) 6%, transparent) 0 1px, transparent 1px 12px), var(--surface)}.hero .wrap{gap:18px;padding-top:88px;padding-bottom:80px;display:grid}.hero h1{font-size:clamp(44px,9vw,96px)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;display:flex}.services{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:24px;display:grid}.services>div{border-top:2px solid var(--ink);align-content:start;gap:6px;padding-top:14px;display:grid}.services .num{font-family:var(--font-display);color:var(--accent);font-size:15px}.services p{color:var(--muted);font-size:16px}.cta{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.cta h2{margin:0}.button{background:var(--ink);color:var(--bg);border-radius:999px;padding:12px 26px;font-weight:500;text-decoration:none;display:inline-block}.button:hover{background:var(--accent);color:#fff}.work-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px 24px;display:grid}.work-card{gap:6px;text-decoration:none;display:grid}.work-card img{aspect-ratio:4/3;object-fit:cover;background:var(--line);border-radius:6px;width:100%;margin-bottom:6px;transition:transform .25s}.work-card:hover img{transform:translateY(-4px)}.work-card strong{font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.35}.filters{flex-wrap:wrap;gap:8px;margin:28px 0;display:flex}.filters button{font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:6px 16px;font-size:15px}.filters button:hover{border-color:var(--ink)}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.work .back{color:var(--muted);margin-bottom:20px;font-size:15px;text-decoration:none;display:inline-block}.work h1{margin-bottom:8px;font-size:clamp(30px,5vw,48px)}.photos{gap:20px;margin-top:36px;display:grid}.photos img{border-radius:6px;width:100%}.contact-list{gap:6px;margin:32px 0 0;display:grid}.contact-list dt{letter-spacing:.08em;color:var(--muted);margin-top:16px;font-size:14px}.contact-list dd{margin:0;font-size:20px}.socials{flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:0;list-style:none;display:flex}.socials a{border-radius:50%;place-items:center;width:40px;height:40px;transition:background .2s;display:grid}.socials a:hover{background:color-mix(in srgb, var(--ink) 8%, transparent)}.site-footer{border-top:1px solid var(--line);margin-top:40px;font-size:15px}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:20px 40px;padding-top:32px;padding-bottom:32px;display:flex}.site-footer p{color:var(--muted)}.site-footer .fine{width:100%;font-size:13px}.soon{flex-direction:column;flex:1;min-height:100svh;padding:20px;display:flex}.soon-top{justify-content:flex-end;display:flex}.soon-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 0;display:flex}.soon-brand{letter-spacing:.3em;text-indent:.3em;margin-top:14px;font-size:15px}.soon h1{margin-top:36px;font-size:clamp(44px,10vw,104px)}.soon-services{color:var(--muted);margin-top:18px;font-size:clamp(16px,2.4vw,20px)}.soon-status{margin-top:18px;font-weight:700}.soon-note{color:var(--muted);font-size:16px}.soon-contact{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 22px;padding:18px 0 8px;font-size:15px;display:flex}.soon-contact>span{color:var(--muted)}.layers{flex-direction:column-reverse;align-items:center;gap:4px;height:66px;margin-top:52px;display:flex}.layers span{background:var(--ink);height:6px;width:calc(120px - var(--i) * 12px);opacity:0;animation:layer 5.6s calc(var(--i) * .5s) infinite;border-radius:3px;display:block}.layers span:last-child{background:var(--accent)}@keyframes layer{0%{opacity:0;transform:translate(-14px)}8%,82%{opacity:1;transform:none}92%,to{opacity:0;transform:none}}@media (prefers-reduced-motion:reduce){.layers span{opacity:1;animation:none}.work-card img{transition:none}}
