:root{--fg:#34292a;--bg:#fff;--mute:#8a7f80;--line:#e8e4e0;--ph:#f4f2ef;--pad:16px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 'Helvetica Neue',Helvetica,Arial,sans-serif}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}h1,h2,h3{font-weight:400;margin:0}
.w{padding:0 var(--pad);max-width:1600px;margin:0 auto}
.hd{position:sticky;top:0;z-index:20;background:var(--bg)}
.hd .w{display:flex;align-items:center;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.logo img{height:18px;width:auto}
.nav{display:flex;gap:20px;font-size:14px}
.nav a{padding:4px 0;border-bottom:1px solid transparent}.nav a[aria-current=page]{font-weight:700}
.intro{min-height:34vh;display:flex;align-items:flex-end;padding:8vh var(--pad) 3vh;max-width:1600px;margin:0 auto;will-change:opacity}
.intro p{margin:0;font-size:clamp(22px,4vw,44px);line-height:1.15;max-width:22em;min-height:2.4em}
.caret{display:inline-block;width:2px;height:.9em;background:currentColor;margin-left:2px;vertical-align:-.1em;animation:b 1s steps(1) infinite}
@keyframes b{50%{opacity:0}}
.fl{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px var(--pad) 16px;max-width:1600px;margin:0 auto;font-size:13px}
.fl details{position:relative}
.fl summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:999px;padding:6px 14px;white-space:nowrap}
.fl summary::-webkit-details-marker{display:none}
.fl details[open] summary,.fl summary.on{border-color:var(--fg)}
.fl .opts{position:absolute;z-index:10;top:calc(100% + 6px);left:0;min-width:200px;max-height:60vh;overflow:auto;background:var(--bg);border:1px solid var(--line);padding:6px;border-radius:8px}
.fl .opts button{display:block;width:100%;text-align:left;background:none;border:0;font:inherit;padding:8px 10px;cursor:pointer;border-radius:4px;color:inherit}
.fl .opts button:hover,.fl .opts button.on{background:var(--ph)}
.fl .clr{background:none;border:0;font:inherit;text-decoration:underline;cursor:pointer;color:var(--mute);display:none}
.fl .clr.show{display:inline}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 12px;padding:0 var(--pad) 48px;max-width:1600px;margin:0 auto;list-style:none}
@media(min-width:700px){.grid{grid-template-columns:repeat(3,1fr);gap:28px 20px}}
@media(min-width:1100px){.grid{grid-template-columns:repeat(4,1fr)}}
.tile[hidden],[data-sec][hidden]{display:none}
.tile a{display:block}
.tile .im{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tile .im img{width:100%;height:100%;object-fit:contain;transition:transform .4s}
.tile a:hover .im img{transform:scale(1.03)}
.tile .ph{padding:12px;text-align:center;font-size:13px;color:var(--mute);background:var(--ph);width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.tile .nm{margin-top:8px;font-size:13px;line-height:1.3}
.tile .sb{color:var(--mute);font-size:12px}
.sec{max-width:1600px;margin:0 auto;padding:24px 0 8px}
.sec h2{font-size:clamp(20px,2.4vw,28px);padding:0 var(--pad)}
.sec .bl{padding:4px var(--pad) 20px;color:var(--mute);max-width:46em;margin:0}
.pg-hd{max-width:1600px;margin:0 auto;padding:6vh var(--pad) 2vh}
.pg-hd h1{font-size:clamp(26px,4vw,44px);line-height:1.1}
.pg-hd p{max-width:46em;color:var(--mute);margin:12px 0 0}
.dt{display:grid;gap:24px;padding-top:16px;padding-bottom:48px}
@media(min-width:900px){.dt{grid-template-columns:1.3fr 1fr;gap:48px}}
.dt-im img{width:100%;margin-bottom:12px;background:#fff}
.dt-in h1{font-size:clamp(26px,3.4vw,40px);line-height:1.1;margin-bottom:16px}
.dt-in dl{margin:24px 0 0;display:grid;grid-template-columns:110px 1fr;gap:10px 16px;font-size:14px}
.dt-in dt{color:var(--mute)}.dt-in dd{margin:0}
.dt-in dd a{text-decoration:underline;text-underline-offset:3px}
.dt-in dd a+a:before,.dt-in dd span+a:before{content:', ';text-decoration:none;display:inline-block}
.rel{max-width:1600px;margin:0 auto;padding:16px 0 0}.rel h2{padding:0 var(--pad);font-size:18px;margin-bottom:16px}
.svc{border-top:1px solid var(--line);padding:32px 0;display:grid;gap:16px}
@media(min-width:900px){.svc{grid-template-columns:1fr 1.4fr;gap:48px}}
.svc h2{font-size:clamp(20px,2.4vw,28px)}.svc p{margin:0 0 16px;max-width:40em}
.btn{display:inline-block;border:1px solid var(--fg);border-radius:999px;padding:8px 20px;font-size:14px}
.btn:hover{background:var(--fg);color:#fff}
.ft{border-top:1px solid var(--line);margin-top:32px;padding:24px 0;font-size:13px;color:var(--mute)}
.ft a{text-decoration:underline}
