:root{
 --ink:#18222c;--muted:#64707a;--line:#e2e7eb;--soft:#f4f7f9;--dark:#101820;
 --navy:#183d63;--blue:#2878b9;--red:#b13a3a;--white:#fff;--callout:#eef5fa;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:#fff}
a{color:var(--blue)}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{text-decoration:none;font:700 1.5rem Georgia,serif;color:var(--ink)}.brand span{color:var(--red)}
nav a{text-decoration:none;color:var(--ink);margin-left:20px;font-size:.94rem}
.hero{padding:96px 0 82px;color:#fff;background:linear-gradient(135deg,#13283b,#275f8b)}
.hero h1,h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2}
.hero h1{font-size:clamp(2.5rem,5vw,4.65rem);max-width:930px;margin:0 0 20px;color:#fff}
.hero p{max-width:790px;color:#e8eef4;font-size:1.08rem;margin:0 0 28px}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.77rem;font-weight:700;color:#cde4f6;margin-bottom:14px}
.button{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;padding:12px 20px;border-radius:5px;font-weight:700}
.hero-note{margin-top:24px;background:var(--callout);border:1px solid #d4e5f0;border-left:4px solid var(--red);border-radius:8px;padding:17px 20px;color:var(--ink)}
.hero-note strong,.hero-note span,.hero-note p{color:var(--ink)}
section{padding:74px 0}.section-title{text-align:center;max-width:820px;margin:0 auto 40px}
.section-title h2{font-size:clamp(2rem,3vw,2.8rem);margin:0 0 12px;color:var(--ink)}
.section-title p,.content p,.card p{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{border:1px solid var(--line);border-radius:9px;padding:24px;background:#fff;color:var(--ink);box-shadow:0 8px 24px rgba(20,32,43,.05)}
.card h3{margin:0 0 10px;font-size:1.3rem;color:var(--ink)}.card a{text-decoration:none;font-weight:700}
.soft{background:var(--soft);color:var(--ink)}
.content{display:grid;grid-template-columns:1.12fr .88fr;gap:48px;align-items:start}
.content h1{font-size:clamp(2.35rem,4vw,3.7rem);margin-top:0;color:var(--ink)}.content h2{font-size:2.03rem;color:var(--ink)}
.sidebox{background:#fff;color:var(--ink);border-left:4px solid var(--red);padding:27px;box-shadow:0 8px 24px rgba(20,32,43,.06)}
.sidebox h3,.sidebox li,.sidebox p{color:var(--ink)}.service-list{columns:2;padding-left:20px}
.breadcrumb{font-size:.9rem;color:var(--muted);margin-bottom:18px}.breadcrumb a{text-decoration:none}
.contact{text-align:center;background:#fff;color:var(--ink)}.contact h2{font-size:2.15rem;margin-bottom:10px;color:var(--ink)}
.notice{font-size:.9rem;color:var(--muted);max-width:860px;margin:28px auto 0}
footer{background:var(--dark);color:#cbd3d9;padding:28px 0;font-size:.9rem}
.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}footer a{color:#fff;text-decoration:none}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}.content{grid-template-columns:1fr}}
@media(max-width:640px){.grid{grid-template-columns:1fr}.service-list{columns:1}.nav{flex-direction:column;padding:14px 0}nav a{margin:0 7px}.hero{padding:70px 0 60px}}