/* Homepage presentation only. Original films, service code and stored data are retained. */
.blue-dawn-site{--blue-ink:#142e47;--blue-muted:#50677c;--blue-paper:#f6f9fc;--blue-line:#dbe5ed;--gutter:clamp(24px,5.5vw,88px)}
.blue-dawn-site .nav{background:#071523;border-color:#233d52}
.blue-dawn-site .hero{background:#071523!important;min-height:760px}
.blue-dawn-site .hero:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 90% 0%,#205b835e,transparent 55%),radial-gradient(ellipse at 0% 30%,#15395b80,transparent 68%);mix-blend-mode:screen}
.blue-dawn-site .hero:after{display:none}
.blue-dawn-site .jfl-film-shade{background:linear-gradient(90deg,#071523a6,transparent 76%),linear-gradient(0deg,#18354e,transparent 28%)}
.blue-dawn-site .hero-copy,html:lang(ja) .blue-dawn-site .hero-copy{padding-block:108px 172px;max-width:850px}
.blue-dawn-site .hero h1,html:lang(ja) .blue-dawn-site .hero h1{font-weight:600;letter-spacing:-.045em;text-shadow:0 2px 30px #04132040}
.blue-dawn-site .hero-copy .eyebrow{font-size:15px;letter-spacing:.08em;color:#c3e5fb}
.blue-dawn-site .hero .primary{background:#d5edff;border:1px solid #eaf6ff;border-radius:12px;padding:17px 26px;min-height:58px;box-shadow:0 6px 30px #6dafde20;transition:background .2s,transform .2s}
.blue-dawn-site .hero .primary:hover{background:#fff;transform:translateY(-2px)}
.blue-dawn-site .service-directory{position:relative;background:linear-gradient(180deg,#18354e 0,#7d9eb5 75px,#eaf2f8 178px,#f6f9fc 330px);padding:216px var(--gutter) 96px;border:0;color:var(--blue-ink);scroll-margin-top:-150px}
.blue-dawn-site .service-directory-inner{max-width:1200px}
.blue-directory-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:52px}
.blue-dawn-site .service-directory .service-principle{font-size:15px;font-weight:600;color:#496881;letter-spacing:.1em;margin:0 0 16px}
.blue-dawn-site .service-directory h2{font-size:clamp(32px,3.2vw,46px);line-height:1.4;font-weight:650;letter-spacing:-.045em;margin:0 0 16px;text-wrap:balance}
.blue-dawn-site .service-directory .service-intro{font-size:18px;line-height:1.8;color:#4b6276;margin:0;max-width:45ch}
.blue-browse{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0;min-height:48px;padding:10px 0;border-bottom:1px solid #8aabbe;color:#244e70!important;text-decoration:none;font-weight:600;font-size:16px}
.blue-browse:hover{color:#071b2b!important;border-color:#163a56}
.blue-featured{margin-bottom:80px}
.blue-featured[hidden]{display:none!important}
.blue-featured-title{font-size:16px!important;color:#506b81!important;font-weight:550!important;line-height:1.7;margin:0 0 20px!important}
.blue-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.blue-feature{min-width:0;display:flex;flex-direction:column;border:1px solid #d3e0e9;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 28px #16334e06;transition:transform .25s,border-color .25s,box-shadow .25s}
.blue-feature:hover{transform:translateY(-4px);border-color:#9fb8cb;box-shadow:0 16px 36px #18344c0d}
.blue-example{height:206px;position:relative;overflow:hidden;background:#edf3f8;padding:22px;color:#294b65;border-bottom:1px solid #e2eaf0;user-select:none}
.blue-example-label{font-size:12px;letter-spacing:.02em;color:#4c6980;line-height:1.4;margin-bottom:18px}
.blue-photo{background:linear-gradient(145deg,#e5eef5,#f1f6fb)}
.blue-photo-pair{display:grid;grid-template-columns:1fr 20px 1fr;gap:8px;align-items:center}
.blue-photo-pair>div{background:white;padding:7px;border:1px solid #d5e2ec;border-radius:8px;box-shadow:0 4px 12px #18374d0b;transform:rotate(-3deg)}
.blue-photo-pair>div:last-child{transform:rotate(3deg) translateY(8px)}
.blue-photo-pair span{display:block;font-size:11px;margin-bottom:5px}
.blue-photo-pair img{width:100%;height:66px;object-fit:cover;display:block;border-radius:3px}
.blue-size-bar{display:block;width:88%;height:4px;background:#9aafc1;border-radius:4px;margin:8px 0 1px}
.blue-size-bar.blue-small{width:40%;background:#287c92}
.blue-demo-arrow{text-align:center;font-size:22px!important;color:#47718f}
.blue-sheet{background:linear-gradient(150deg,#eaf1f6,#eff5f8)}
.blue-sheet-window{width:112%;background:white;border:1px solid #cbdde8;border-radius:8px;transform:rotate(-2deg);box-shadow:0 8px 20px #2742590a}
.blue-window-top{display:flex;align-items:center;gap:4px;padding:8px 10px;border-bottom:1px solid #e1eaf0}
.blue-window-top i{width:4px;height:4px;border-radius:50%;background:#b4c8d6}.blue-window-top span{font-size:10px;margin-left:auto;margin-right:32px;letter-spacing:.1em;color:#688398}
.blue-sheet-row{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:0;font:10px/1.5 ui-monospace,monospace}
.blue-sheet-row>span{padding:8px 5px;border-right:1px solid #e6edf2;border-bottom:1px solid #e6edf2;white-space:nowrap;overflow:hidden}
.blue-sheet-head{background:#f6f9fb;color:#4a6b80}.blue-cell-warn{background:#fff4df;color:#81612b}.blue-sheet-row>span:last-child{color:#226767;background:#eef9f6}
.blue-subtitles{background:linear-gradient(135deg,#dfeaf3,#f0f5fa)}
.blue-subtitle-window{border:1px solid #d0dee8;border-radius:10px;background:#fff;padding:16px 15px;box-shadow:0 8px 20px #2742590a;transform:rotate(2deg)}
.blue-timeline{display:flex;gap:6px;height:27px;align-items:center;border-bottom:1px solid #e4edf4;padding-bottom:8px;margin-bottom:10px}
.blue-timeline i{flex:1;height:7px;background:#88b8d6;border-radius:2px}.blue-timeline i:nth-child(3n){height:17px}.blue-timeline i:nth-child(2n){height:12px}
.blue-cue>span{font:10px/1.6 ui-monospace,monospace;color:#63839d}
.blue-dawn-site .blue-cue p{font-size:12px;line-height:1.7;margin:5px 0 0;color:#28465e}
.blue-feature-copy{display:flex;flex-direction:column;flex:1;padding:27px 26px 24px}
.blue-dawn-site .blue-feature h3{font-size:23px;line-height:1.45;letter-spacing:-.025em;margin:0 0 12px;font-weight:650;color:#15334b;text-wrap:balance}
.blue-dawn-site .blue-feature-copy>p{font-size:16px;line-height:1.85;color:#50677b;margin:0 0 25px}
.blue-feature-link{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;min-height:48px;padding:12px 0 0;border-top:1px solid #e0e9ef;font-size:16px;font-weight:600;color:#205d88!important;text-decoration:none}
.blue-feature-link>span[aria-hidden]{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;background:#edf4f9;font-size:19px}
.blue-feature-link:hover{color:#0c344f!important}.blue-feature-link:hover>span[aria-hidden]{background:#dcedf7}
.blue-example-note{font-size:13px!important;line-height:1.7;color:#5a7083!important;margin:16px 0 0!important}
.blue-finder-heading{padding-top:0;margin:0 0 25px;scroll-margin-top:32px}
.blue-finder-heading h3{font-size:clamp(25px,2.7vw,32px);letter-spacing:-.03em;font-weight:600;line-height:1.5;margin:0;color:#183a54}
.blue-dawn-site .service-status-buttons{gap:8px;margin-bottom:24px}
.blue-dawn-site .service-status-buttons button{background:#eaf1f6;border:1px solid transparent;color:#435f76;border-radius:9px;padding:10px 17px;min-height:46px}
.blue-dawn-site .service-status-buttons button[aria-pressed=true]{background:#173e5a;border-color:#173e5a;color:white;box-shadow:0 3px 10px #173e5a12}
.blue-dawn-site .service-search{background:#fff;border:1px solid #d3e1eb;border-radius:16px;padding:24px;gap:20px;box-shadow:0 8px 26px #1c416008}
.blue-dawn-site .service-search :is(input,select){background:#f7fafc;border-color:#a8bfd0;border-radius:8px;min-height:50px;font-size:17px}
.blue-dawn-site .service-result-heading{margin-top:36px;margin-bottom:12px}
.blue-dawn-site .service-result-heading h3{font-size:21px;font-weight:600}
.blue-dawn-site .service-scope{font-size:14px;line-height:1.8;max-width:72ch;margin-bottom:24px}
.blue-dawn-site .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border:0}
.blue-dawn-site .service-card{display:flex;flex-direction:column;position:relative;background:#fff;border:1px solid #d5e2ec;border-radius:14px;padding:25px;box-shadow:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.blue-dawn-site .service-card[hidden]{display:none}
.blue-dawn-site .service-card:hover{background:#fff;border-color:#9bb6ca;box-shadow:0 8px 25px #23476508;transform:translateY(-2px)}
.blue-tool-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid #d9e7f1;background:#eff6fb;border-radius:10px;color:#3b718f;margin-bottom:18px}
.blue-tool-icon svg{width:23px;height:23px}
.blue-dawn-site .service-card .service-meta{gap:7px 13px;font-size:13px;margin-bottom:10px;line-height:1.6;color:#5c7285}
.blue-dawn-site .service-card .service-status{font-size:13px}.blue-dawn-site .service-status:before{display:none}
.blue-dawn-site .service-card .service-status.ready{color:#386755}
.blue-dawn-site .service-directory .service-card h3{font-size:21px;font-weight:650;line-height:1.5;margin:0 0 10px;letter-spacing:-.025em}
.blue-dawn-site .service-directory .service-card p{font-size:16px;line-height:1.85;margin-bottom:22px}
.blue-dawn-site .service-card-end{margin-top:auto;border-top:1px solid #e6edf3;padding-top:9px}
.blue-dawn-site .service-directory .service-open{width:100%;font-size:16px;min-height:46px;padding:8px 0}
.blue-dawn-site .service-pagination{margin-top:30px;gap:18px}
.blue-dawn-site .service-pagination button{border-radius:8px;min-height:46px}
.blue-dawn-site .service-footer-note{font-size:15px;margin-top:32px}
.blue-dawn-site .service-legacy{margin-top:28px;padding:22px 0 0;border-color:#d2e0e9}
.blue-dawn-site .dawn-bridge{background:#f6f9fc;padding-block:100px}
.blue-dawn-site .dawn-bridge-inner{max-width:1200px;gap:80px}
.blue-dawn-site footer{background:#0a1b2a;padding-block:48px}
.blue-dawn-site :is(a,button,input,select,summary):focus-visible{outline:3px solid #3183b8;outline-offset:5px}
.blue-dawn-site .hero :is(a,button):focus-visible{outline-color:#c1e7ff}
@media(min-width:761px) and (max-width:1050px){.blue-feature-grid{gap:14px}.blue-feature-copy{padding:24px 20px}.blue-example{padding:17px}.blue-dawn-site .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blue-directory-heading{align-items:flex-start;flex-direction:column}.blue-dawn-site .nav nav{gap:16px}}
@media(max-width:760px){
 .blue-dawn-site .hero{min-height:0;padding:34px 24px 50px;background:linear-gradient(#0b2134 65%,#18354e)!important}
 .blue-dawn-site .hero-copy,html:lang(ja) .blue-dawn-site .hero-copy{padding:0;display:contents}
 .blue-dawn-site .hero:before{z-index:2;background:radial-gradient(ellipse at 100% 0%,#3979a358,transparent 74%);mix-blend-mode:screen}
 .blue-dawn-site .hero h1,html:lang(ja) .blue-dawn-site .hero h1{font-size:clamp(39px,10vw,60px);line-height:1.3;margin-block:18px 0}
 .blue-dawn-site .hero-copy .eyebrow{font-size:13px;letter-spacing:.04em}
 .blue-dawn-site .hero p,html:lang(ja) .blue-dawn-site .hero p{font-size:17px;line-height:1.9;max-width:100%}
 .blue-dawn-site .jfl-film-stage,html:lang(ja) .blue-dawn-site .jfl-film-stage{height:clamp(280px,80vw,390px);margin-top:0;z-index:1}
 .blue-dawn-site .jfl-film-shade,html:lang(ja) .blue-dawn-site .jfl-film-shade{background:linear-gradient(#0b2134,transparent 30% 65%,#18354e)}
 .blue-dawn-site .hero-copy .actions,html:lang(ja) .blue-dawn-site .hero-copy .actions{margin:0 auto;position:relative;z-index:3}
 .blue-dawn-site .jfl-film-control,html:lang(ja) .blue-dawn-site .jfl-film-control{bottom:12px}
 html:lang(ja) .blue-dawn-site .hero-copy .hero-detail{font-size:17px;line-height:1.85;margin-top:18px}
 .blue-dawn-site .service-directory{padding:142px 24px 60px;background:linear-gradient(#18354e 0,#9ab3c6 55px,#eaf2f8 125px,#f6f9fc 220px);scroll-margin-top:-110px}
 .blue-directory-heading{display:block;margin-bottom:32px}
 .blue-dawn-site .service-directory h2{font-size:31px;line-height:1.45;letter-spacing:-.055em}
 .blue-dawn-site .service-directory .service-principle{font-size:13px;margin-bottom:13px}
 .blue-dawn-site .service-directory .service-intro{font-size:17px;line-height:1.9}
 .blue-browse{margin-top:22px;font-size:16px;gap:28px}
 .blue-feature-grid{grid-template-columns:1fr;gap:20px}
 .blue-featured-title{font-size:15px!important;margin-bottom:16px!important}
 .blue-feature{border-radius:16px}.blue-example{height:205px;padding:22px 28px}
 .blue-photo-pair{max-width:300px;margin:auto;gap:12px}.blue-photo-pair img{height:70px}
 .blue-sheet-window{max-width:390px;width:103%;margin:auto}.blue-subtitle-window{max-width:320px;margin:auto}
 .blue-feature-copy{padding:25px 24px 20px}.blue-dawn-site .blue-feature h3{font-size:24px}
 .blue-dawn-site .blue-feature-copy>p{font-size:16px;margin-bottom:20px}
 .blue-example-note{font-size:13px!important;margin-top:14px!important}
 .blue-featured{margin-bottom:54px}.blue-finder-heading{margin-bottom:22px}.blue-finder-heading h3{font-size:27px}
 .blue-dawn-site .service-status-buttons{gap:6px}.blue-dawn-site .service-status-buttons button{font-size:14px;padding:10px 12px;gap:4px}
 .blue-dawn-site .service-search{padding:21px;gap:17px;border-radius:12px;grid-template-columns:1fr}
 .blue-dawn-site .service-grid{grid-template-columns:1fr;gap:16px}
 .blue-dawn-site .service-card{padding:24px}.blue-tool-icon{width:38px;height:38px;margin-bottom:16px}
 .blue-dawn-site .service-directory .service-card h3{font-size:23px}
 .blue-dawn-site .service-scope{font-size:14px}
 .blue-dawn-site .dawn-bridge{padding-block:64px}.blue-dawn-site .dawn-bridge-inner{gap:26px}
}
@media(prefers-reduced-motion:reduce){.blue-dawn-site .hero .primary,.blue-dawn-site .service-card,.blue-feature{transition:none!important;transform:none!important}.blue-enter{animation:none!important}}
@media(prefers-reduced-motion:no-preference){.blue-enter{animation:blue-reveal .7s cubic-bezier(.2,.65,.2,1) both}@keyframes blue-reveal{from{opacity:.3;transform:translateY(16px)}to{opacity:1;transform:none}}}
