/* V3.1: only reproducible usability and editorial refinements. */
.public-hero h1{letter-spacing:-.058em;margin:25px 0;font-weight:620;font-size:clamp(44px,4.6vw,72px);line-height:1.05}
.hero-3d-tools button{min-height:44px;min-width:44px}
.hero-3d-label{color:#59635f;font-size:11px}
.hero-3d[data-state=ready] .hero-3d-hint{opacity:1;color:#59635f;font-size:11px}
.contact-note a,.form-note a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.menu-toggle{color:var(--ink);background:none;border:1px solid #d3d8ce;border-radius:5px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:46px;height:46px}.menu-toggle span{background:currentColor;width:19px;height:1px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;padding:20px 6vw 26px;background:var(--ivory);border-bottom:1px solid var(--line);box-shadow:0 12px 20px #20262d0a;max-height:calc(100svh - 80px);overflow:auto}.site-header nav.is-open{display:flex}.site-header nav a{font-size:14px;min-height:48px;padding:14px 0}.site-header nav .nav-contact{justify-content:space-between;margin-top:8px;padding:13px 15px}}
@media(max-width:800px){.public-hero h1{font-size:46px}}
