/* D proposal: human editorial image, restrained navy/white/orange design. */
.design-d { --d-navy:#294a69; --d-orange:#e76b27; --ink:#294a69; --muted:#62758a; --line:#dce3ea; --amber-500:#e76b27; --amber-400:#ed864b; background:#fff; }
.design-d .container { width:min(1240px,calc(100% - 80px)); }
.design-d .site-header { position:sticky; top:0; background:rgba(35,65,93,.98); height:92px; border-bottom:1px solid #ffffff1a; }
.design-d .site-header.is-scrolled { background:rgba(35,65,93,.98); }
.design-d .header-inner { width:calc(100% - 64px); max-width:1620px; }
.design-d .global-nav { font-size:13px; gap:20px; }
.design-d .global-nav > a:not(.header-cta) { color:#f3f6fa; }
@media(max-width:1279px) { .design-d .global-nav { background:#294a69; gap:6px; } }
.design-d .global-nav > a.nav-estimate,.design-d .global-nav > a.nav-contact { border-radius:5px; padding:13px 20px; }
.design-d .global-nav > a.nav-estimate { background:#fff; border:1px solid #fff; color:#294a69; }
.design-d .global-nav > a.nav-contact { background:transparent; border:1px solid #ffffff8c; color:#fff; }
.design-d .global-nav > a.nav-contact:hover { background:#e76b27; border-color:#e76b27; }
.design-d .brand { transform:scale(.86); transform-origin:left center; }
@media(min-width:1024px) {
 .design-d .header-inner { width:calc(100% - 40px); }
 .design-d .global-nav { position:static; display:flex; flex-direction:row; align-items:center; padding:0; gap:clamp(10px,1.1vw,20px); background:transparent; border:0; border-radius:0; box-shadow:none; overflow:visible; font-size:clamp(11.5px,.95vw,13px); }
 .design-d .global-nav > a:not(.header-cta) { padding:10px 0; white-space:nowrap; }
 .design-d .global-nav > a.nav-estimate,.design-d .global-nav > a.nav-contact { padding:10px clamp(9px,1.15vw,18px); margin:0; white-space:nowrap; }
 .design-d .menu-button { display:none; }
}
.design-d #about .step-visual .pro-icon { width:48px; height:48px; padding:4px; border:0; border-radius:0; background:transparent; }
.design-d #ai .ai-principles .pro-icon { width:42px; height:42px; padding:0; border:0; border-radius:0; background:transparent; }
.design-d :is(#experts,#evidence) .section-heading > p:not(.section-label) { color:#ccd8e4 !important; }
.design-d #ai .map-reader > span,.design-d #ai .map-reader p { color:#566b80; }
.design-d .site-footer .brand-logo { filter:url(#logo-white); }
.design-d #contact h2 { font-size:clamp(34px,3.3vw,48px) !important; line-height:1.45; }
.d-hero { position:relative; isolation:isolate; overflow:hidden; color:#fff; background:#294a69; }
.d-hero-photo { position:absolute; z-index:-2; inset:60px 0 0; overflow:hidden; }
.d-hero-photo img,.d-hero-video { width:100%; height:100%; object-fit:cover; object-position:center 37%; transform-origin:72% 50%; animation:d-camera 18s ease-in-out infinite alternate; }
.d-hero-video { display:block; background:#203d5b; }
.d-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#153a5d 0%,#153a5d 35%,#153a5df2 47%,#153a5d99 61%,#153a5d20 79%),linear-gradient(0deg,#203d5beb 0%,transparent 35%); }
.d-hero-inner { width:min(1420px,calc(100% - 128px)); margin:auto; min-height:850px; padding:151px 0 33px; display:flex; flex-direction:column; justify-content:space-between; gap:45px; }
.d-hero-copy { width:60%; }
.d-hero h1 { font-size:23px; line-height:1.5; font-weight:700; margin:0; }
.d-hero h1 small { display:block; font-size:13px; letter-spacing:.04em; margin-top:6px; color:#dae3ee; font-weight:500; }
.d-hero-catch { font-size:clamp(46px,4.45vw,72px); line-height:1.27; font-weight:750; letter-spacing:-.04em; margin:27px 0 25px; }
.d-hero-catch span { display:block; white-space:nowrap; }
.d-hero-catch em { font-style:normal; color:#f3a36e; }
.d-hero-lead { font-size:16px; line-height:1.9; color:#e0e7f0; margin:0; }
.d-hero-actions { display:flex; align-items:center; gap:28px; margin-top:25px; }
.d-button { position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:60px; border-radius:5px; padding:16px 22px; font-size:16px; line-height:1.5; font-weight:700; transition:background .2s,transform .2s; }
.d-button-orange { color:#fff; background:#d95b18; box-shadow:none; }
.d-button-orange:hover { background:#bd4910; transform:translateY(-2px); }
.d-button b { font-weight:400; font-size:23px; }.d-button.shine::after { animation-duration:8s; opacity:.55; }
.d-hero-plan { display:flex; align-items:center; gap:20px; padding:11px 0; border-bottom:1px solid #ffffff88; font-size:14px; color:#fff; }
.d-hero-plan span { font-size:22px; }.d-hero-response { font-size:11px; color:#c6d3e2; margin:15px 0 0; }
.d-hero-promise { margin:0; padding-top:25px; border-top:1px solid #ffffff3d; font-size:clamp(23px,2.3vw,35px); letter-spacing:.045em; line-height:1.5; font-weight:600; }
.d-hero-promise strong { font-weight:650; color:#f5ad80; }
.d-photo-note { position:absolute; bottom:14px; right:25px; font-size:10px; color:#bbcbdc; }
.d-hero .motion-toggle { top:111px; right:25px; color:#e3ebf3; background:#15365b50; border-color:#ffffff45; font-size:11px; }
.d-shortcuts { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:36px 0 24px; }
.d-shortcuts a { display:flex; gap:17px; align-items:center; padding:22px; border:1px solid #e0e6eb; background:#fff; border-radius:6px; box-shadow:0 7px 22px #102d5109; transition:border-color .2s,transform .2s; }
.d-shortcuts a:hover { border-color:#8ea4ba; transform:translateY(-3px); }
.d-shortcuts .pro-icon { width:43px; height:43px; color:#234d78; flex-shrink:0; stroke-width:1.4; }
.d-shortcuts span { flex:1; }.d-shortcuts small { display:block; font-size:10px; letter-spacing:.1em; color:#6a7c90; margin-bottom:4px; }.d-shortcuts strong { font-size:17px; }.d-shortcuts b { color:#e76b27; font-weight:400; font-size:24px; }
.d-clients { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:36px; padding:22px 0 45px; border-bottom:1px solid #e2e7ed; }
.d-clients > span { font-size:12px; color:#687c90; }.d-clients a { font-size:19px; font-weight:700; letter-spacing:.025em; }.d-clients a:hover { color:#c35a20; }
.d-diagnosis { padding:65px 0 55px; background:#fff; scroll-margin-top:100px; }
.d-campaign { border:1px solid #dbe3ec; border-radius:8px; overflow:hidden; background:#f5f7fa; }
.d-campaign-meta { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:13px 25px; color:#fff; background:#102d51; }
.d-campaign-meta > span { font-size:11px; letter-spacing:.16em; }.d-campaign-meta > div { display:flex; align-items:center; gap:25px; }.d-campaign-meta i { font-style:normal; }.d-campaign-meta strong { font-size:18px; }.d-campaign-meta > div > span { font-size:16px; }.d-campaign-meta b { font-size:20px; padding:3px 20px; color:#102d51; background:#fff; border-radius:3px; }
.d-campaign-grid { display:grid; grid-template-columns:.6fr 1.9fr .85fr; gap:25px; align-items:center; padding:35px 30px; }
.d-report-art { position:relative; padding:5px 12px 28px; perspective:700px; }
.d-report-paper { padding:20px 18px; aspect-ratio:.76; background:#fff; border:1px solid #d3dce6; box-shadow:8px 14px 20px #17375c12; transform:rotate(-7deg) rotateY(7deg); border-top:8px solid #102d51; }
.d-report-paper > span { font-size:8px; letter-spacing:.1em; }.d-report-paper > strong { display:block; font:600 clamp(13px,1.2vw,18px)/1.5 Arial,sans-serif; margin:20px 0; }
.d-report-paper > i { display:block; width:40%; height:3px; background:#e76b27; }.d-report-paper > div { display:flex; align-items:end; gap:8px; height:53px; margin:16px 0; }.d-report-paper b { height:55%; width:14%; background:#8ba5bc; }.d-report-paper b:nth-child(2) { height:75%; }.d-report-paper b:nth-child(3) { height:40%; }.d-report-paper b:nth-child(4) { height:90%; background:#d87a43; }.d-report-paper b:nth-child(5) { height:65%; }.d-report-paper > small { font-size:8px; }.d-report-caption { position:absolute; bottom:0; left:0; right:0; text-align:center; font-size:10px; color:#61798d; }
.d-campaign-copy > p:first-child { font-size:16px; font-weight:700; color:#b64b11; margin:0 0 12px; }
.d-campaign-copy h2 { font-size:clamp(27px,2.5vw,36px); line-height:1.5; letter-spacing:-.025em; margin:0 0 17px; }
.d-campaign-copy > p { font-size:15px; line-height:1.85; color:#526b80; margin:0; }.d-campaign-copy ul { list-style:none; padding:0; margin:18px 0 0; display:flex; flex-wrap:wrap; gap:10px 16px; }.d-campaign-copy ul li { display:flex; align-items:center; gap:7px; font-size:12px; }.d-campaign-copy .pro-icon { width:19px; height:19px; color:#b9541b; }
.d-diagnosis-lens { list-style:none; padding:0; margin:18px 0 0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid #d7e1eb; border-radius:7px; overflow:hidden; background:#fff; }
.d-diagnosis-lens li { min-width:0; padding:10px 9px 11px; border-right:1px solid #e0e7ee; }
.d-diagnosis-lens li:last-child { border-right:0; }
.d-diagnosis-lens span,.d-diagnosis-lens strong,.d-diagnosis-lens small { display:block; }
.d-diagnosis-lens span { margin-bottom:5px; font:700 9px/1 Arial,sans-serif; letter-spacing:.08em; color:#e35f19; }
.d-diagnosis-lens strong { font-size:12px; line-height:1.35; white-space:nowrap; }
.d-diagnosis-lens small { margin-top:3px; font-size:9px; line-height:1.35; color:#6a7c90; white-space:nowrap; }
.d-diagnosis-process { list-style:none; padding:0; margin:14px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:19px; }
.d-diagnosis-process li { position:relative; min-height:43px; padding:8px 7px 8px 33px; display:flex; align-items:center; background:#e9f0f7; border-radius:5px; }
.d-diagnosis-process li:not(:last-child)::after { content:'→'; position:absolute; right:-15px; top:50%; translate:0 -50%; color:#dc641f; font-size:12px; }
.d-diagnosis-process span { position:absolute; left:9px; top:9px; color:#e0611a; font:700 8px/1 Arial,sans-serif; }
.d-diagnosis-process strong { font-size:10px; line-height:1.35; }
.d-campaign-copy > .d-diagnosis-process-note { margin-top:10px; font-size:11px; line-height:1.65; color:#61778b; }
.d-campaign-action { display:flex; flex-direction:column; align-items:center; text-align:center; border-left:1px solid #d6dfe9; padding-left:25px; }
.d-campaign-action > span { font-size:14px; }.d-campaign-action > strong { font:500 72px/1.25 Arial,sans-serif; letter-spacing:-.05em; color:#c85116; }.d-campaign-action > strong small { font-size:25px; padding-left:6px; }.d-campaign-action p { font-size:12px; color:#64768a; margin:0 0 20px; }.d-campaign-action .d-button { min-height:56px; padding:14px 17px; font-size:14px; gap:12px; white-space:nowrap; width:100%; }.d-campaign-action > small { font-size:10px; color:#63788c; margin-top:12px; }
.d-trust { background:#fff; }
.d-trust-items { display:grid; grid-template-columns:repeat(4,1fr); gap:25px; padding:10px 0 55px; border-bottom:1px solid #dce4ec; }
.d-trust-items > span { position:relative; display:grid; grid-template-columns:40px 1fr; column-gap:12px; align-items:center; border-right:1px solid #dce4ec; }
.d-trust-items > span:last-child { border:0; }.d-trust-items .pro-icon { width:31px; height:31px; grid-row:1/3; color:#284e71; stroke-width:1.4; }.d-trust-items strong { font-size:16px; }.d-trust-items small { font-size:12px; color:#65798d; }
.design-d a:focus-visible,.design-d button:focus-visible { outline:3px solid #df783d; outline-offset:4px; }
.design-d .d-reveal { transition:opacity .65s ease,translate .65s ease; }
.design-d .d-reveal.is-pending { opacity:0; translate:0 18px; }
.d-backtop { position:fixed; z-index:40; right:22px; bottom:22px; width:43px; height:43px; background:#fff; border:1px solid #acbac9; color:#102d51; display:grid; place-items:center; border-radius:50%; opacity:0; visibility:hidden; transition:opacity .2s; }.d-backtop.is-visible { opacity:1; visibility:visible; }
.d-floating-diagnosis { position:fixed; z-index:45; right:24px; bottom:24px; width:310px; padding:21px 22px 20px; overflow:hidden; color:#fff; background:linear-gradient(145deg,#355b80 0%,#233f5d 100%); border:1px solid #ffffff2b; border-top:4px solid #eb6a22; border-radius:10px; box-shadow:0 18px 45px #1229413d; opacity:0; visibility:hidden; pointer-events:none; translate:0 18px; transition:opacity .24s ease,translate .24s ease,visibility .24s; }
.d-floating-diagnosis.is-visible { opacity:1; visibility:visible; pointer-events:auto; translate:0 0; }
.d-floating-diagnosis-close { position:absolute; top:7px; right:8px; width:27px; height:27px; padding:0; display:grid; place-items:center; color:#d9e4ef; background:transparent; border:0; border-radius:50%; font:400 22px/1 Arial,sans-serif; cursor:pointer; }
.d-floating-diagnosis-close:hover,.d-floating-diagnosis-close:focus-visible { color:#fff; background:#ffffff17; }
.d-floating-diagnosis-kicker { margin:0 0 10px; color:#ffac7e; font:700 9px/1.3 Arial,sans-serif; letter-spacing:.15em; }
.d-floating-diagnosis-title { display:block; margin:0 0 17px; font-size:20px; line-height:1.55; letter-spacing:-.025em; }
.d-floating-diagnosis-note { display:block; margin:-10px 0 15px; color:#ccd9e6; font-size:10px; }
.d-floating-title-mobile { display:none; }
.d-floating-diagnosis-bottom { display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:center; padding-top:15px; border-top:1px solid #ffffff2b; }
.d-floating-diagnosis-bottom > p { margin:0; color:#d7e2ed; font-size:10px; line-height:1.2; white-space:nowrap; }
.d-floating-diagnosis-bottom > p strong { display:block; color:#fff; font:600 32px/1 Arial,sans-serif; letter-spacing:-.05em; }
.d-floating-diagnosis-bottom > p small { padding-left:2px; font-size:13px; }
.d-floating-diagnosis-bottom > a { min-height:50px; padding:12px 13px; display:flex; align-items:center; justify-content:space-between; gap:8px; color:#fff; background:#e95f12; border-radius:6px; font-size:12px; font-weight:700; white-space:nowrap; }
.d-floating-diagnosis-bottom > a:hover { background:#ff701f; }
.has-floating-diagnosis .d-backtop { opacity:0; visibility:hidden; }
@keyframes d-camera { from { transform:scale(1); } to { transform:scale(1.035); } }
html[data-motion-paused="true"] .d-hero-photo img,html[data-motion-paused="true"] .d-hero-video { animation-play-state:paused; }
@media(max-width:1480px) { .design-d .site-header { height:84px; }.d-hero-inner { min-height:810px; padding-top:140px; width:calc(100% - 96px); }.d-hero-catch { font-size:4.65vw; }.d-hero .motion-toggle { top:105px; }.d-shortcuts a { padding:20px 15px; gap:13px; }.d-shortcuts strong { font-size:16px; }.d-campaign-grid { grid-template-columns:.55fr 1.5fr .9fr; gap:20px; padding:30px 25px; }.d-campaign-action { padding-left:20px; } }
@media(max-width:1100px) { .design-d .container { width:calc(100% - 56px); }.d-hero-inner { width:calc(100% - 64px); }.d-hero-photo img { object-position:58% center; }.d-hero-copy { width:70%; }.d-hero::after { background:linear-gradient(90deg,#294a6988,transparent 85%),linear-gradient(0deg,#203d5b,transparent 40%); }.d-hero-catch { font-size:5.2vw; }.d-campaign-grid { grid-template-columns:1.5fr .8fr; padding:30px; }.d-report-art { display:none; }.d-shortcuts { gap:14px; }.d-shortcuts .pro-icon { width:32px; height:32px; }.d-shortcuts strong { font-size:14px; }.d-clients { gap:25px; }.d-trust-items { gap:12px; }.d-trust-items > span { grid-template-columns:30px 1fr; column-gap:8px; }.d-trust-items strong { font-size:14px; }.d-trust-items small { font-size:11px; } }
@media(max-width:760px) {
 .design-d .container { width:calc(100% - 40px); }.design-d .header-inner { width:calc(100% - 40px); }.design-d .global-nav { background:#102d51; }
 .d-hero-inner { width:calc(100% - 44px); min-height:1050px; padding:128px 0 38px; gap:320px; }.d-hero-copy { width:100%; }.d-hero h1 { font-size:20px; }.d-hero h1 small { font-size:11px; }
 .d-hero-photo { inset:540px -16% 40px -92%; background:#203d5b url('hero-static.webp') center/cover no-repeat; }.d-hero-photo img,.d-hero-video { object-position:72% 50%; }.d-hero-video { display:none; }.d-hero::after { background:linear-gradient(180deg,#294a69 45%,#294a6940 60%,transparent 73%,#203d5b 100%); }
 .d-hero-catch { font-size:clamp(33px,8.2vw,55px); margin:23px 0; }.d-hero-lead { font-size:14px; line-height:1.85; }
 .d-hero-actions { margin-top:25px; flex-wrap:wrap; gap:15px 24px; }.d-button { min-height:56px; font-size:15px; padding:14px 20px; gap:25px; }.d-hero-plan { font-size:13px; padding:8px 0; }.d-hero-response { max-width:320px; line-height:1.8; font-size:10px; }
 .d-hero-promise { font-size:clamp(18px,4.3vw,28px); letter-spacing:-.025em; padding-top:20px; white-space:nowrap; }.d-photo-note { bottom:10px; right:18px; font-size:9px; }.d-hero .motion-toggle { top:93px; right:18px; font-size:10px; padding:4px 8px; }
 .d-shortcuts { grid-template-columns:1fr; gap:10px; padding:24px 0 18px; }.d-shortcuts a { padding:15px 20px; gap:18px; }.d-shortcuts strong { font-size:16px; }.d-shortcuts .pro-icon { width:34px; height:34px; }.d-shortcuts small { font-size:9px; }
 .d-clients { padding:20px 0 30px; gap:14px 24px; }.d-clients > span { width:100%; text-align:center; }.d-clients a { font-size:15px; }
 .d-diagnosis { padding:35px 0; scroll-margin-top:74px; }.d-campaign-meta { padding:16px; flex-direction:column; align-items:flex-start; gap:10px; }.d-campaign-meta > div { width:100%; justify-content:space-between; gap:8px; }.d-campaign-meta strong { font-size:17px; }.d-campaign-meta > div > span { font-size:14px; }.d-campaign-meta b { font-size:17px; padding:3px 12px; }
 .d-campaign-grid { grid-template-columns:1fr; gap:25px; padding:25px 20px; }.d-campaign-copy h2 { font-size:27px; }.d-campaign-copy > p:first-child { font-size:14px; }.d-campaign-copy > p { font-size:15px; }.d-campaign-copy ul { flex-direction:column; gap:12px; }.d-campaign-copy ul li { font-size:13px; }
 .d-diagnosis-lens { grid-template-columns:1fr 1fr; margin-top:17px; }
 .d-diagnosis-lens li { padding:12px; border-right:1px solid #e0e7ee; border-bottom:1px solid #e0e7ee; }
 .d-diagnosis-lens li:nth-child(2n) { border-right:0; }
 .d-diagnosis-lens li:nth-child(5) { grid-column:1 / -1; border-right:0; border-bottom:0; }
 .d-diagnosis-lens strong { font-size:13px; }.d-diagnosis-lens small { font-size:10px; }
 .d-diagnosis-process { grid-template-columns:1fr 1fr; gap:8px; }
 .d-diagnosis-process li { min-height:48px; padding:9px 9px 9px 37px; }
 .d-diagnosis-process li::after { display:none; }
 .d-diagnosis-process span { left:11px; top:11px; }.d-diagnosis-process strong { font-size:12px; }
 .d-campaign-copy > .d-diagnosis-process-note { margin-top:12px; font-size:12px; line-height:1.75; }
 .d-campaign-action { padding:25px 0 0; border-left:0; border-top:1px solid #d6dfe9; }.d-campaign-action .d-button { width:100%; font-size:15px; }.d-campaign-action p { margin-bottom:15px; }
 .d-trust-items { grid-template-columns:1fr 1fr; gap:22px 12px; padding:5px 0 35px; }.d-trust-items > span { border:0; grid-template-columns:28px 1fr; }.d-trust-items strong { font-size:13px; }.d-trust-items small { font-size:11px; }.d-trust-items .pro-icon { width:26px; height:26px; }
 .d-backtop { width:36px; height:36px; right:13px; bottom:13px; }
 .d-floating-diagnosis { left:0; right:0; bottom:0; width:auto; min-height:76px; padding:10px 38px 10px 14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; border-width:0; border-top:3px solid #eb6a22; border-radius:0; translate:0 100%; box-shadow:0 -10px 30px #07182f2e; }
 .d-floating-diagnosis.is-visible { translate:0 0; }
 .d-floating-diagnosis-close { top:4px; right:5px; width:28px; height:28px; }
 .d-floating-diagnosis-kicker,.d-floating-title-desktop { display:none; }
 .d-floating-diagnosis-title { margin:0; font-size:13px; line-height:1.4; letter-spacing:0; }
 .d-floating-diagnosis-note { margin:2px 0 0; font-size:8px; line-height:1.3; }
 .d-floating-title-mobile { display:block; }
 .d-floating-diagnosis-bottom { padding:0; border:0; display:flex; gap:9px; }
 .d-floating-diagnosis-bottom > p { font-size:8px; text-align:center; }
 .d-floating-diagnosis-bottom > p strong { font-size:24px; }.d-floating-diagnosis-bottom > p small { font-size:10px; }
 .d-floating-diagnosis-bottom > a { min-height:45px; padding:10px 11px; font-size:11px; border-radius:5px; }
}
@media(max-width:600px) { .design-d .site-header { height:74px; }.d-hero-inner { padding-top:128px; } }
@media(max-width:390px) { .d-floating-diagnosis { padding-left:10px; gap:7px; }.d-floating-diagnosis-title { font-size:11px; }.d-floating-diagnosis-bottom { gap:7px; }.d-floating-diagnosis-bottom > a { padding:9px; font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .d-hero-photo { background:#203d5b url('hero-static.webp') center/cover no-repeat; }.d-hero-photo img,.d-hero-video { display:none; animation:none; }.design-d .d-reveal { transition:none; opacity:1; translate:none; }.design-d .d-reveal.is-pending { opacity:1; translate:none; }.d-floating-diagnosis { transition:none; } }

/* Static hero artwork: no video or motion is loaded in this presentation. */
.d-hero-static { min-height:clamp(560px,60vw,1152px); max-height:none; aspect-ratio:5/3; }
.d-hero-static .d-hero-photo { inset:0; background:#071d33 url('hero-static-cropped-v20260920-no-toggle.webp') center/cover no-repeat; }
.d-hero-static::after { background:linear-gradient(0deg,rgba(5,24,45,.24),transparent 31%); }
.d-hero-static .d-hero-inner,.d-hero-static .d-photo-note { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.d-hero-static-cta { position:absolute; z-index:3; left:3.25%; bottom:21.2%; width:17.9%; min-width:190px; aspect-ratio:4/1; border-radius:7px; }
.d-hero-static-cta:focus-visible { outline:3px solid #fff; outline-offset:4px; }
@media(max-width:760px) { .d-hero-static { min-height:auto; max-height:none; aspect-ratio:5/3; }.d-hero-static-cta { left:3.25%; bottom:21.2%; min-width:0; }.d-hero-static::after { background:linear-gradient(0deg,rgba(5,24,45,.36),transparent 36%); } }

/* Supplied diagnostic artwork is kept as one light image; only the two CTAs receive a restrained periodic sheen. */
.d-hero-static-cta,.d-cta-sheen { overflow:hidden; }
.d-hero-static-cta::after,.d-cta-sheen::after { content:""; position:absolute; inset:-25% auto -25% -42%; width:26%; pointer-events:none; background:linear-gradient(90deg,transparent,rgba(255,255,255,.94),transparent); transform:skewX(-20deg) translateX(-230%); animation:d-cta-sheen 8s ease-in-out infinite; }
@keyframes d-cta-sheen { 0%,66%,100% { transform:skewX(-20deg) translateX(-230%); } 78% { transform:skewX(-20deg) translateX(570%); } 79%,82% { transform:skewX(-20deg) translateX(570%); } }
.design-d .d-diagnosis-static { position:relative; min-height:0; aspect-ratio:1600 / 681; isolation:isolate; background:#dbeeff url('diagnosis-site-aio.webp') center / cover no-repeat !important; }
.d-diagnosis-static > .d-campaign-meta,.d-diagnosis-static > .d-campaign-grid { display:none; }
.d-diagnosis-static-cta { position:absolute; z-index:2; left:71.4%; top:64.9%; width:24.1%; height:14%; border-radius:clamp(4px,.55vw,9px); }
.d-diagnosis-static-cta:focus-visible { outline:3px solid #102d51; outline-offset:4px; }
.d-floating-diagnosis-image { width:min(340px,calc(100vw - 48px)); min-height:0; padding:0; aspect-ratio:610 / 470; overflow:hidden; background:#f6f7f8 url('floating-diagnosis-banner.webp') center / cover no-repeat; border:0; border-radius:0; box-shadow:0 18px 45px rgba(18,41,65,.22); }
.d-floating-diagnosis-image > :not(.d-floating-diagnosis-close,.d-floating-diagnosis-image-cta) { display:none; }
.d-floating-diagnosis-image .d-floating-diagnosis-close { z-index:3; top:15%; right:5%; width:38px; height:38px; color:transparent; background:transparent; border:0; }
.d-floating-diagnosis-image-cta { position:absolute; z-index:2; left:18%; top:73.5%; width:72%; height:18%; border-radius:999px; }
.d-floating-diagnosis-image-cta:focus-visible { outline:3px solid #102d51; outline-offset:3px; }
@media(max-width:760px) { .d-floating-diagnosis-image { left:auto; right:12px; bottom:12px; width:min(275px,calc(100vw - 28px)); min-height:0; padding:0; display:block; border:0; border-radius:0; translate:0 110%; box-shadow:0 12px 28px rgba(18,41,65,.24); }.d-floating-diagnosis-image.is-visible { translate:0 0; }.d-floating-diagnosis-image .d-floating-diagnosis-close { top:15%; right:5%; width:32px; height:32px; } }
@media(prefers-reduced-motion:reduce) { .d-hero-static-cta::after,.d-cta-sheen::after { animation:none; } }

/* Keep the highlight inside the orange artwork and make primary actions tactile. */
.d-hero-static-cta,
.d-diagnosis-static-cta,
.d-button-orange,
.design-d .button.button-primary,
.design-d .header-cta {
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.d-hero-static-cta::after,
.d-cta-sheen::after {
  inset:0;
  width:42%;
  height:100%;
  background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.16) 41%,rgba(255,255,255,.82) 50%,rgba(255,255,255,.16) 59%,transparent 72%);
  transform:translateX(-160%);
  animation:d-cta-sheen 7.5s ease-in-out infinite;
}
@keyframes d-cta-sheen { 0%,68%,100% { transform:translateX(-160%); } 82% { transform:translateX(390%); } }
.d-hero-static-cta:hover,.d-hero-static-cta:focus-visible,
.d-diagnosis-static-cta:hover,.d-diagnosis-static-cta:focus-visible,
.d-button-orange:hover,.d-button-orange:focus-visible,
.design-d .button.button-primary:hover,.design-d .button.button-primary:focus-visible,
.design-d .header-cta:hover,.design-d .header-cta:focus-visible {
  transform:translateY(-3px);
  filter:brightness(1.05);
  box-shadow:0 12px 23px rgba(201,73,10,.33);
}
@media(prefers-reduced-motion:reduce) { .d-hero-static-cta::after,.d-cta-sheen::after { animation:none; }.d-hero-static-cta,.d-diagnosis-static-cta,.d-button-orange,.design-d .button.button-primary,.design-d .header-cta { transition:none; } }

/* The supplied hero contains its orange CTA in the artwork.  Use a full-button
   flash rather than a diagonal band, so the highlight cannot sit below it. */
.d-hero-static-cta::after,
.d-cta-sheen::after {
  inset:0;
  width:100%;
  height:100%;
  background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.58) 48%,rgba(255,255,255,.12));
  border:2px solid rgba(255,238,202,.88);
  border-radius:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 0 0 1px rgba(145,51,7,.38);
  transform:none;
  opacity:0;
  animation:d-cta-full-flash 6.5s ease-in-out infinite;
}
@keyframes d-cta-full-flash {
  0%,67%,100% { opacity:0; }
  72% { opacity:.9; }
  78% { opacity:0; }
}
.d-hero-static-cta:hover,.d-hero-static-cta:focus-visible,
.d-diagnosis-static-cta:hover,.d-diagnosis-static-cta:focus-visible {
  transform:translateY(-5px) scale(1.018);
  filter:brightness(1.12) saturate(1.08);
  box-shadow:0 16px 28px rgba(0,0,0,.34),0 0 0 3px rgba(255,221,160,.82),0 0 26px rgba(255,123,26,.52);
}
@media(prefers-reduced-motion:reduce) { .d-hero-static-cta::after,.d-cta-sheen::after { opacity:0; animation:none; } }

/* Align the transparent hero CTA exactly with the button embedded in the
   supplied artwork. The flash is a contained fill, not an offset outline. */
.d-hero-static-cta {
  left:3.25%;
  top:62.05%;
  bottom:auto;
  width:18.1%;
  min-width:0;
  height:8.2%;
  aspect-ratio:auto;
  border-radius:7px;
}
.d-hero-static-cta::after {
  inset:0;
  width:100%;
  height:100%;
  border:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,239,196,.64) 48%,rgba(255,255,255,.2));
  box-shadow:inset 0 0 18px rgba(255,255,255,.62);
  opacity:0;
  transform:none;
  animation:d-cta-full-flash 6.5s ease-in-out infinite;
}
.d-hero-static-cta:hover,.d-hero-static-cta:focus-visible {
  transform:translateY(-3px);
  filter:none;
  box-shadow:0 13px 22px rgba(0,0,0,.32);
}
.d-hero-static-cta:hover::after,.d-hero-static-cta:focus-visible::after {
  opacity:.46;
  animation:none;
}
@media(max-width:760px) {
  .d-hero-static-cta { left:3.25%; top:62.05%; width:18.1%; height:8.2%; }
}

/* Final hero CTA behaviour: no periodic light or offset glow.  The clickable
   area stays invisible at rest and only grows gently under the pointer. */
.d-hero-static-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 8.5%;
  background:linear-gradient(180deg,#f97618,#eb5b08);
  color:#fff;
  font-size:clamp(10px,1.22vw,23px);
  font-weight:800;
  line-height:1;
  text-decoration:none;
  transform-origin:center;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
  box-shadow:none;
}
.d-hero-static-cta::before {
  content:"SEO・AIO無料診断";
  white-space:nowrap;
}
.d-hero-static-cta::after {
  content:"↗";
  position:static;
  display:block;
  width:auto;
  height:auto;
  background:none;
  border:0;
  box-shadow:none;
  opacity:1;
  transform:none;
  animation:none;
  font-size:1.5em;
  font-weight:400;
  line-height:1;
}
.d-hero-static-cta:hover,.d-hero-static-cta:focus-visible {
  transform:scale(1.055);
  filter:brightness(1.08);
  box-shadow:0 9px 16px rgba(0,0,0,.25);
}

/* Match the button baked into the 1920 x 1152 hero artwork. */
.d-hero-static-cta {
  left:3.18%;
  top:67.62%;
  width:18.02%;
  height:8.42%;
  padding:0 clamp(12px,1.5vw,24px);
}
@media(max-width:760px) {
  .d-hero-static-cta {
    left:3.18%;
    top:67.62%;
    width:18.02%;
    height:8.42%;
    padding:0 clamp(5px,1.5vw,12px);
    font-size:clamp(5px,1.22vw,10px);
  }
}

/* Click target for the secondary link embedded in the supplied hero artwork. */
.d-hero-static-plan-cta {
  position:absolute;
  z-index:3;
  left:23.35%;
  top:67.62%;
  width:11.15%;
  height:8.42%;
  border-radius:4px;
}
.d-hero-static-plan-cta:focus-visible {
  outline:3px solid #fff;
  outline-offset:4px;
}
