/* The illustration stays still while scrolling; only controls change on hover. */
.notice { background:#f7f8fa;border-top-color:#edf0f4; }
.notice::after { display:none; }
.notice-label { color:#5f6d85;background:#e9edf3; }
.hero { display:block;min-height:0;background-color:#f7f8fa;border-bottom:1px solid #e5e9ef; }
.hero::before { content:'';position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(ellipse at 75% 46%,#edf0f9 0,transparent 55%); }
.hero-inner { min-height:492px;padding:83px 0 68px; }
.hero .eyebrow { display:inline-flex;align-items:center;gap:8px;margin:0 0 21px;color:#75839a;font-size:11px;line-height:1.4;font-weight:650;letter-spacing:.03em; }
.hero .eyebrow:not(:empty)::before { content:'';width:19px;height:2px;border-radius:2px;background:var(--rainbow); }
.hero .eyebrow:empty { display:none; }
.hero h1 { max-width:53%;font-size:clamp(58px,5.5vw,78px);line-height:1.12;letter-spacing:-.075em; }
.hero .hero-topic { margin-bottom:12px;white-space:normal;word-break:keep-all;color:#34445d;font-size:clamp(24px,2.4vw,33px);font-weight:550;line-height:1.4;letter-spacing:-.065em; }
.hero-brand { font-weight:900;letter-spacing:-.075em; }
.hero .hero-description { max-width:40%;margin:23px 0 0;color:#7b8798;font-size:15px;line-height:1.8;word-break:keep-all;white-space:pre-line; }
.hero-actions { display:flex;align-items:center;gap:26px;margin-top:30px; }
.hero .hero-action { min-height:50px;margin:0;padding:13px 21px;gap:30px;border:1px solid #213550;border-radius:8px;background:#213550;font-size:13px;box-shadow:0 6px 12px #1b2d4c0c;transition:background .2s,box-shadow .2s; }
.hero-action span { font-size:19px;line-height:1; }
.hero-action-secondary { display:inline-flex;align-items:center;gap:14px;padding:12px 0;color:#5d6d85;font-size:12px;font-weight:600;transition:color .2s; }
.hero-visual { position:absolute;z-index:1;top:3px;left:calc(50% + 15px);width:min(48vw,640px);pointer-events:none; }
.hero-object { display:block;width:100%;height:auto;overflow:visible; }
.hero-visual-caption { display:flex;align-items:center;justify-content:center;gap:9px;margin-top:-30px;color:#8a98ac;font-family:Arial,sans-serif;font-size:8px;font-weight:600;letter-spacing:.2em; }
.hero-visual-caption>span { width:18px;height:1px;background:#a9b4c6; }
.hero-services { position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dfe5ed; }
.hero-services>a { display:flex;align-items:center;gap:17px;min-height:80px;padding:0 28px;color:#273d5a;font-size:15px;font-weight:700;transition:background .2s; }
.hero-services>a:first-child { padding-left:0; }
.hero-services>a+ a { border-left:1px solid #e1e6ee; }
.hero-service-number { color:#9ba7b8;font-family:Arial,sans-serif;font-size:10px;font-weight:400;letter-spacing:.08em; }
.hero-service-detail { color:#8b96a7;font-size:11px;font-weight:400; }
.hero-service-arrow { margin-left:auto;color:#8796af;font-size:20px;font-weight:400; }
.hero-services>a:last-child { padding-right:0; }
.hero.has-custom-image::before,.hero.has-custom-image .hero-visual { display:none; }
.hero.has-custom-image .hero-inner { padding-left:24px;padding-right:24px;border-radius:0;background:linear-gradient(90deg,#f7f8faf5,#f7f8fae8 38%,transparent 80%); }
.hero.has-custom-image .hero-services { background:#f7f8faf5;padding:0 24px; }
@media(hover:hover) and (pointer:fine) {
 .hero .hero-action:hover { background:#354d70;box-shadow:0 6px 18px #1b2d4c20; }
 .hero-action-secondary:hover { color:#273d5a; }
 .hero-services>a:hover { background:#e9edf54d; }
}
@media(min-width:761px) and (max-width:1100px) {
 .hero-inner { min-height:440px;padding:64px 0; }
 .hero h1 { font-size:60px; }
 .hero .hero-topic { font-size:25px; }
 .hero-visual { top:22px;left:49%;width:52vw; }
 .hero-service-detail { display:none; }
 .hero-services>a { min-height:72px; }
}
@media(max-width:760px) {
 .hero { display:flex;flex-direction:column; }
 .hero::before { background:radial-gradient(ellipse at 70% 65%,#e9edf7,transparent 65%); }
 .hero .hero-inner { order:1;min-height:0;padding:35px 0 0; }
 .hero .eyebrow { margin-bottom:16px;font-size:10px; }
 .hero h1 { max-width:100%;font-size:clamp(46px,12.8vw,70px); }
 .hero .hero-topic { margin-bottom:9px;max-width:100%;font-size:clamp(22px,5.6vw,30px);line-height:1.4; }
 .hero .hero-description { max-width:100%;margin-top:16px;font-size:13px;line-height:1.7; }
 .hero-actions { gap:22px;margin-top:22px; }
 .hero .hero-action { min-height:45px;padding:11px 16px;gap:24px;font-size:12px; }
 .hero-action-secondary { font-size:11px;gap:9px; }
 .hero-visual { order:2;position:relative;top:auto;left:auto;align-self:center;flex:none;width:min(410px,100%);height:auto;aspect-ratio:640/462;margin:-7px auto -5px; }
 .hero-object { width:100%; }
 .hero-visual-caption { display:none; }
 .hero-services { order:3; }
 .hero-services>a { gap:8px;min-height:64px;padding:0 12px;font-size:12px; }
 .hero-service-number { font-size:9px;letter-spacing:0; }
 .hero-service-detail { display:none; }
 .hero-service-arrow { font-size:15px; }
 .hero.has-custom-image .hero-inner { padding:35px 16px 60px; }
 .hero.has-custom-image .hero-services { padding:0 12px; }
}
@media(max-width:360px) {
 .hero .hero-topic { font-size:20px; }
 .hero .hero-description { font-size:12px; }
 .hero-services>a { gap:6px;padding:0 8px;font-size:11px; }
 .hero-service-number { font-size:8px; }
 .hero-service-arrow { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-action,.hero-action-secondary,.hero-services>a { transition:none; }
}
