:root { color-scheme: light; }
* { box-sizing: border-box; }
body { margin: 0; color: #222; background: #fff; font: 17px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,"PingFang TC",sans-serif; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { color: #555; }
a:focus-visible,summary:focus-visible { outline: 3px solid #1967d2; outline-offset: 5px; }
header { border-bottom: 1px solid #e5e5e5; background: #fff; }
.top { max-width: 1120px; margin: auto; padding: 1rem 1.5rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem; }
.brand { margin-right: auto; line-height: 1; }
.brand img { height: 46px; width: auto; display: block; }
.top nav { display: flex; flex-wrap: wrap; gap: 1.25rem; font-size: .95rem; }
.top nav a { text-decoration: none; }
.lang { font-weight: 650; }
main { display: block; }
.hero { background: linear-gradient(135deg,#f8f9fa,#e9ecef); padding: 5rem 1.5rem; }
.wrap { max-width: 980px; margin: auto; }
.eyebrow { font-size: .9rem; letter-spacing: .04em; color: #555; margin: 0 0 .7rem; }
h1 { font-size: clamp(2rem,5vw,3.5rem); line-height: 1.16; letter-spacing: -.025em; max-width: 880px; margin: 0 0 1.5rem; }
.intro { max-width: 760px; font-size: 1.15rem; }
.actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
.button { display: inline-block; text-decoration: none; padding: .85rem 1.3rem; border: 2px solid #222; border-radius: 8px; font-weight: 650; }
.primary { background: #222; color: #fff; }
.primary:hover { background: #444; color: #fff; }
.content { max-width: 980px; margin: auto; padding: 2.5rem 1.5rem 4rem; }
.content section { margin: 2.5rem 0; }
h2 { font-size: 1.8rem; line-height: 1.3; margin: 0 0 1rem; }
h3 { font-size: 1.12rem; margin: 0 0 .5rem; }
p { margin: 0 0 1rem; }
ul,ol { padding-left: 1.4rem; }
li { margin-bottom: .6rem; }
.grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)); gap: 1.25rem; }
.card,.example { padding: 1.7rem; border: 1px solid #ddd; border-radius: 12px; background: #f8f9fa; }
.card p:last-child { margin-bottom: 0; }
.label { font-size: .85rem; color: #555; }
.breadcrumb { font-size: .9rem; color: #555; margin: 0 0 2rem; }
.callout { padding: 2rem; background: #f1f3f5; border-radius: 12px; }
details { padding: 1rem 0; border-bottom: 1px solid #ddd; }
summary { cursor: pointer; font-weight: 650; }
details p { padding-top: .8rem; }
footer { padding: 3rem 1.5rem; background: #1a1a1a; color: #ddd; }
footer .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1.5rem; }
footer nav { display: flex; flex-wrap: wrap; gap: 1.3rem; }
.skip-link { position: absolute; left: 1rem; top: -100px; background: #fff; padding: .7rem; z-index: 100; }
.skip-link:focus { top: 1rem; }
.inquiry-card { padding: 2rem; border: 1px solid #ddd; border-radius: 12px; background: #f8f9fa; }
.form-group { margin-bottom: 1.25rem; }
.form-group label { display: block; font-weight: 650; margin-bottom: .4rem; }
.form-group input,.form-group textarea { width: 100%; padding: .8rem; border: 1px solid #aaa; border-radius: 6px; font: inherit; background: #fff; }
.form-group textarea { min-height: 140px; }
.form-row { display: flex; flex-wrap: wrap; gap: 1rem; }
.form-row .form-group { flex: 1 1 240px; }
.btn-submit { padding: .85rem 1.5rem; border: 0; border-radius: 8px; background: #222; color: #fff; font: inherit; font-weight: 650; cursor: pointer; }
.btn-submit:disabled { background: #777; cursor: wait; }
.form-success { display: none; }
@media(max-width:600px) { .top { gap: 1rem; } .top nav { width: 100%; gap: 1rem; } .hero { padding: 3rem 1.5rem; } .button { text-align: center; } }
