.preview-note{padding:10px 0;background:#eeeeee;border-bottom:1px solid #d9d9d9;font-size:.82rem;color:#444}
.home-hero-section{padding:24px 0 0;background:#f7f7f8}
.home-hero{min-height:430px;padding:48px 44px 48px 68px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:32px;background:#1b1b1b;color:#fff;border-radius:10px;overflow:hidden}
.home-hero-copy{position:relative;z-index:1}
.home-hero-kicker{display:block;color:#bdbdbd;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:20px}
.home-hero h1{color:#fff;font-size:3.3rem;line-height:1.08;letter-spacing:-.03em;max-width:560px;margin:0 0 22px}
.home-hero p{font-size:1.05rem;line-height:1.55;color:#dedede;max-width:520px;margin:0}
.home-hero-actions{margin-top:34px}
.home-hero-image{height:345px;border-radius:7px;background:#777;color:#e0e0e0}
.home-section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
.home-section-heading h2{margin:0}
.home-section-heading a{white-space:nowrap}
.home-services{background:#f7f7f8}
.home-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.home-service-card{position:relative;min-height:205px;display:flex;flex-direction:column;padding:26px 24px;background:#fff;border:1px solid #e5e5e5;border-radius:8px;text-decoration:none;color:#111}
.home-service-card:hover{border-color:#777}
.home-service-symbol{display:grid;place-items:center;width:43px;height:43px;border:1px solid #bdbdbd;border-radius:50%;font-size:.8rem;color:#555}
.home-service-card h3{margin:auto 0 0;font-size:1.15rem;line-height:1.25;max-width:200px}
.home-service-arrow{position:absolute;right:22px;bottom:22px;color:#666}
.home-service-card-all{background:#ededed;border-color:#888}
.home-specific-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e2e2e2;border-radius:8px;text-decoration:none;color:#111}
.home-specific-image{height:180px;border-radius:0}
.home-specific-body{display:flex;flex-direction:column;min-height:175px;padding:25px}
.home-specific-body>span:first-child{font-size:.8rem;color:#777;margin-bottom:9px}
.home-specific-body h3{font-size:1.45rem;margin:0}
.home-specific-link{margin-top:auto;font-weight:700;font-size:.9rem}
.home-brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.home-brand-grid a{display:grid;place-items:center;min-height:125px;padding:20px;border:1px solid #bcbcbc;border-radius:8px;text-decoration:none;color:#111;font-size:1.3rem;font-weight:700;text-align:center}
.home-brand-grid a:hover{background:#f3f3f3}
.home-brand-grid .home-brand-all{font-size:1rem;font-weight:600;background:#f4f4f4}
.home-appointment{background:#1b1b1b;color:#fff}
.home-appointment-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:60px}
.home-appointment h2{color:#fff;margin:0 0 12px}
.home-appointment p{color:#d6d6d6;max-width:510px;margin:0}
.home-appointment .home-hero-kicker{margin-bottom:12px}
.home-about-grid{align-items:center;gap:70px}
.home-about-image{height:360px}
.home-about h2{margin:0 0 20px}
.home-about p{font-size:1.06rem;max-width:460px;margin:0 0 24px}
.home-about-links{display:flex;flex-direction:column;gap:12px;max-width:350px}
.home-about-links a{padding:10px 0;border-bottom:1px solid #d9d9d9;text-decoration:none;font-weight:600}
.home-about-links a:hover{text-decoration:underline}
.home-request-grid{align-items:start;gap:70px}
.home-request-grid h2{margin-top:0}
.home-request-grid>div>p{max-width:440px}
.home-request-form{gap:16px}
.home-request-form label{display:grid;gap:6px;font-weight:600;font-size:.9rem}
.home-request-form label span{font-weight:400;color:#777;font-size:.8rem}
.home-request-form p{font-size:.78rem;line-height:1.45;margin:0;color:#666}
.home-request-form button{white-space:nowrap}
.home-contact-stage{position:relative;min-height:380px}
.home-contact-map{height:380px}
.home-contact-panel{position:absolute;left:28px;top:28px;bottom:28px;width:340px;padding:30px;background:#fff;border:1px solid #ddd;border-radius:7px;box-shadow:0 10px 25px #0001}
.home-contact-panel>span{font-size:.82rem;color:#777}
.home-contact-panel h3{margin:12px 0 20px;font-size:1.5rem}
.home-contact-panel p{font-size:.84rem;letter-spacing:.08em;color:#999;min-height:75px}
#request-form,#service-categories,#works,#answer,#details,#sources{scroll-margin-top:180px}
