:root{--blue: #0095d9;--blue-hover: #007bb8;--blue-soft: #e6f5fb;--text: #1d1d1f;--muted: #7a7a7a;--hero: #2b2b2b;--border: #e6e6e6;--bg: #ffffff;--max: 1120px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg);line-height:1.55;min-height:100vh;display:flex;flex-direction:column}a{color:var(--blue)}img{max-width:100%;display:block}.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--border)}.header-inner,.footer-inner,.page-wrap,.gallery,.article-body,.legal-body{width:min(var(--max),calc(100% - 48px));margin:0 auto}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:78px}.brand{display:flex;align-items:center;text-decoration:none}.brand img{height:52px;width:auto}.nav{display:flex;align-items:center;gap:8px}.nav a{text-decoration:none;text-transform:uppercase;font-size:14px;font-weight:700;letter-spacing:.04em;color:var(--blue);padding:10px 18px}.nav a.active{background:var(--blue);color:#fff}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 36px;padding:48px 0 32px}.card{display:flex;flex-direction:column;text-decoration:none;color:inherit}.card img{width:100%;aspect-ratio:3 / 2;object-fit:cover;margin-bottom:16px}.card h2{margin:0 0 10px;font-size:22px;line-height:1.25;color:#111}.card p{margin:0 0 14px;color:var(--muted);font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card .more{margin-top:auto;color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:8px 0 56px}.pagination a,.pagination span.current{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;color:var(--blue)}.pagination span.current{background:var(--blue);color:#fff}.pagination .ellipsis{color:#9aa0a6;min-width:auto;padding:0 4px}.hero{background:var(--hero);color:#fff}.hero-inner{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:28px 0 36px}.crumbs{margin:0 0 18px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#c5c5c5}.crumbs a{color:#c5c5c5;text-decoration:none}.hero h1{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.2;font-weight:800}.article-body,.legal-body{padding:36px 0 72px}.article-body img.feature{width:100%;aspect-ratio:16 / 9;object-fit:cover;margin-bottom:28px}.prose{font-family:Georgia,Times New Roman,serif;font-size:18px;line-height:1.7;color:#222;overflow-wrap:anywhere}.prose h2,.prose h3{font-family:Arial,Helvetica,sans-serif;color:#111;line-height:1.25;margin:1.6em 0 .6em}.prose h2{font-size:28px}.prose h3{font-size:22px}.prose p,.prose ul,.prose ol{margin:0 0 1em}.prose li{margin-bottom:.35em}.prose a{color:var(--blue);overflow-wrap:anywhere}.legal-body h1{font-size:36px;margin:0 0 8px}.legal-body .updated{color:var(--muted);margin:0 0 28px}.legal-body .table-wrap,.prose .table-wrap{overflow-x:auto;margin:0 0 1.4em}.policy-table{border-collapse:collapse;width:100%;min-width:720px;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.45;color:#333}.policy-table td,.policy-table th{border:1px solid var(--border);padding:8px;vertical-align:top}.policy-table b{font-family:Arial,Helvetica,sans-serif}.contact-box{background:#f7f8fa;padding:24px;margin-top:28px}.contact-box p{margin:0 0 8px}.site-footer{margin-top:auto;border-top:1px solid var(--border);padding:28px 0;text-align:center;color:var(--muted);font-size:14px}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin-bottom:10px}.footer-links a{color:var(--blue);text-decoration:none}@media(max-width:900px){.gallery{grid-template-columns:repeat(2,1fr);gap:36px 24px}}@media(max-width:640px){.header-inner,.footer-inner,.page-wrap,.gallery,.article-body,.legal-body,.hero-inner{width:calc(100% - 32px)}.gallery{grid-template-columns:1fr;padding-top:28px}.brand img{height:40px}.nav a{padding:8px 10px;font-size:12px}}
