/* Shared brand layer. The service apps and the two approved original scenes are untouched. */
.dawn-site{--lime:#a9d8fb;--dawn-ink:#142c43;--dawn-muted:#526579;--dawn-paper:#f8fafc;--gutter:clamp(24px,5.5vw,88px);font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",Meiryo,sans-serif}
.dawn-site .nav{background:#040a12;border-color:#23303e;color:#edf5fc}
.dawn-site .nav>.logo{color:#edf5fc}
.dawn-site .nav summary{color:#e4eff9;cursor:pointer}
.dawn-site .home-language{position:relative;min-width:0}
.dawn-site .home-language summary{display:flex;align-items:center;gap:8px;min-height:44px;border:1px solid #40546a;border-radius:8px;list-style:none;background:#0a1522;color:#e4eff9}
.dawn-site .home-language summary::-webkit-details-marker{display:none}
.dawn-site .home-language summary:after{content:'▾';margin-left:auto}
.dawn-site .home-language[open] summary:after{content:'▴'}
.dawn-site .home-language .language-switch{position:absolute;top:calc(100% + 6px);right:0;left:auto;z-index:20;display:grid;grid-template-columns:1fr;gap:4px;min-width:180px;max-width:calc(100vw - 48px);max-height:65vh;overflow:auto;padding:8px;border:1px solid #40546a;border-radius:8px;background:#0a1522;font-size:16px}
.dawn-site .home-language:not([open]) .language-switch{display:none}
.dawn-site .home-language .language-switch a{justify-content:flex-start;color:#e4eff9;min-height:44px;padding:8px 12px;font-size:16px;line-height:1.6}
.dawn-site .logo span{color:#a9d8fb}
.dawn-site .nav a,.dawn-site .nav summary{font-size:15px}
.dawn-site :is(a,button,summary,input,select):focus-visible{outline:3px solid #3486b4;outline-offset:5px}
.dawn-site .hero-copy .eyebrow:before{display:none}
.dawn-site .primary:after{display:none}
.dawn-site .nav .language-switch{border-color:#40546a;background:#0a1522}
.dawn-site .nav .language-switch a[aria-current=page]{color:#d5ecff;background:#132c40}
.dawn-site .nav nav a:after{background:#a9d8fb}
.dawn-site .service-directory{background:var(--dawn-paper);border:0;padding-top:clamp(56px,6vw,96px);padding-bottom:clamp(56px,6vw,96px);scroll-margin-top:24px}
.dawn-site .service-directory-inner{max-width:1160px}
.dawn-site .service-directory .service-principle{font-size:15px;font-weight:550;letter-spacing:.12em;color:#4a6680;margin-bottom:12px}
.dawn-site .service-directory h2{font-size:clamp(32px,3.5vw,48px);font-weight:650;letter-spacing:-.035em;margin:0 0 12px;line-height:1.4}
.dawn-site .service-directory .service-intro{font-size:18px;margin-bottom:32px}
.dawn-site .service-status-buttons{gap:6px;display:flex;flex-wrap:wrap;margin-bottom:22px}
.dawn-site .service-status-buttons button{border-radius:100px;padding:10px 18px;background:transparent;border:1px solid #c5d1dc;min-height:46px;font-size:16px;gap:7px}
.dawn-site .service-status-buttons button[aria-pressed=true]{background:#153c58;border-color:#153c58}
.dawn-site .service-search{background:#fff;border:1px solid #cbd6df;border-radius:14px;padding:22px;gap:18px}
.dawn-site .service-search :is(input,select){background:#fafcfe;border-color:#9bb0c0;border-radius:8px;font-size:17px}
.dawn-site .service-directory .service-reset{border-color:transparent;color:#375b78;background:transparent;text-decoration:underline;text-underline-offset:4px}
.dawn-site .service-result-heading{margin-top:38px}
.dawn-site .service-directory .service-scope{line-height:1.8;max-width:60em;margin-bottom:26px}
.dawn-site .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;border-top:1px solid #cbd6df}
.dawn-site .service-card{border:0;border-bottom:1px solid #cbd6df;border-radius:0;background:transparent;padding:30px 0 28px;box-shadow:none;transition:background .2s}
.dawn-site .service-card:hover{border-color:#9aafbf;box-shadow:none;background:transparent}
.dawn-site .service-card .service-meta{font-size:15px;margin-bottom:12px;gap:6px 16px;align-items:center;justify-content:flex-start}
.dawn-site .service-card .service-status{background:transparent;color:#49627a;padding:0;font-size:15px}
.dawn-site .service-card .service-status:before{content:'·';margin-right:16px;color:#7c91a4}
.dawn-site .service-card .service-status.ready{color:#256750}
.dawn-site .service-directory .service-card h3{font-size:24px;line-height:1.5;font-weight:650;margin-bottom:10px;overflow-wrap:break-word}
.dawn-site .service-directory .service-card p{font-size:17px;line-height:1.85;max-width:42em;margin-bottom:16px}
.dawn-site .service-card-end{display:flex;align-items:center}
.dawn-site .service-directory .service-open{color:#184f76!important;background:transparent;padding:8px 0;border-radius:4px;min-height:46px;font-size:17px;font-weight:650;text-underline-offset:5px}
.dawn-site .service-directory .service-open:hover{color:#072f4f!important;background:transparent;text-decoration:underline}
.dawn-site .service-wait{border:0;padding:8px 0;font-size:16px}
.dawn-site .service-footer-note{margin-top:32px;line-height:1.85}
.dawn-site .service-legacy{padding-top:16px;max-width:100%;border-top:1px solid #cbd6df}
.dawn-site .service-legacy summary{font-size:16px}
.dawn-chapter,.dawn-page-hero{position:relative;isolation:isolate;overflow:hidden;background:#040a12;color:#fff;min-height:680px;display:flex;align-items:flex-start}
.dawn-art{position:absolute;inset:-5%;display:block;z-index:-2;pointer-events:none;transform:translate3d(0,var(--dawn-shift,0px),0) scale(1.015)}
.dawn-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.dawn-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0208139e,transparent 65%),linear-gradient(180deg,#040a1226,transparent 48%,#040a1233);pointer-events:none}
.dawn-copy{position:relative;width:100%;max-width:1320px;margin:auto;padding:70px var(--gutter) 320px;color:#fff}
.dawn-copy .dawn-kicker{font-size:14px!important;line-height:1.7!important;font-weight:500;letter-spacing:.12em;color:#c3ddf3;margin:0 0 20px!important}
.dawn-copy :is(h1,h2){font-size:clamp(30px,3.3vw,47px);line-height:1.5;font-weight:560;letter-spacing:-.03em;max-width:25ch;text-wrap:balance;color:#fff;margin:0 0 16px}
.dawn-copy>p:not(.dawn-kicker){font-size:18px;line-height:1.85;color:#d4e3ef;max-width:34em;margin:0 0 22px}
.dawn-link{display:inline-flex;align-items:center;gap:16px;font-size:16px;font-weight:550;min-height:48px;padding:8px 0;color:#eef6ff;text-decoration:none;border-bottom:1px solid #849eb1}
.dawn-link:hover{color:#fff;border-color:#fff;text-decoration:none}
.dawn-link small{font-size:14px;color:#c8deed}
.dawn-bridge{position:relative;background:var(--dawn-paper);color:var(--dawn-ink);padding:80px var(--gutter);scroll-margin-top:160px}
.dawn-bridge-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px;align-items:center}
.dawn-bridge .dawn-bridge-kicker{margin:0 0 18px;color:#4a6680;font-size:14px;line-height:1.7;font-weight:550;letter-spacing:.08em}
.dawn-bridge h2{margin:0;color:var(--dawn-ink);font-size:clamp(30px,3vw,38px);line-height:1.55;letter-spacing:-.025em;font-weight:600}
.dawn-bridge-text p{margin:0;color:#41596d;font-size:18px;line-height:1.95;max-width:38em}
.dawn-bridge-text p+p{margin-top:18px}
.dawn-site .vision{border-top:1px solid #22364a}
.dawn-site .vision-copy .secondary{border-color:#6a8da9;background:transparent}
.dawn-site.document-page{color-scheme:light;background:var(--dawn-paper);color:var(--dawn-ink)}
.dawn-site.document-page .dawn-about,.dawn-site.document-page .dawn-contact{padding:0;max-width:none;display:block}
.dawn-site .dawn-page-hero{min-height:570px}
.dawn-site .dawn-page-hero .dawn-copy{padding-top:72px;padding-bottom:200px}
.dawn-site .dawn-page-hero .dawn-scrim{background:linear-gradient(90deg,#041120d9,transparent 82%),linear-gradient(#040a120d,transparent 70%,#040a1255)}
.dawn-site .dawn-about-notes{padding:76px var(--gutter);max-width:1320px;grid-template-columns:1fr 1fr;gap:48px}
.dawn-site .notes>div{border:0;border-top:1px solid #afc1ce;border-radius:0;padding:30px 0;background:none;color:var(--dawn-ink)}
.dawn-site .notes>div:hover{background:none;border-color:#6b8ca4}
.dawn-site .notes span{color:#4a6680;font-size:15px;font-weight:550;letter-spacing:.06em}
.dawn-site .notes :is(h2,h3){font-weight:600;color:var(--dawn-ink);font-size:clamp(24px,2.6vw,34px);line-height:1.55}
.dawn-site .notes .dawn-document-title{font-weight:600;color:var(--dawn-ink);font-size:clamp(27px,3vw,38px);line-height:1.5;margin:18px 0}
.dawn-site .notes p{color:#41596d;font-size:17px;line-height:1.9;max-width:64ch}
.dawn-site .notes a{color:#175c8b;text-underline-offset:5px}
.dawn-site .colony-gallery{margin:8px 0 0}
.dawn-site .colony-gallery picture{border-radius:12px}
.dawn-site .colony-gallery figcaption{font-size:15px;color:#516579;margin-top:16px}
.dawn-site.document-page main.notes{padding:60px var(--gutter) 100px}
.dawn-contact-image{position:relative;isolation:isolate;height:300px;overflow:hidden;background:#040a12}
.dawn-contact .notes{padding:56px var(--gutter) 80px}
.dawn-site footer{background:#040a12;border-color:#26394b;color:#c4d4e3;padding:38px var(--gutter)}
.dawn-site footer .logo{font-size:28px!important}
.dawn-site footer small{color:#9fb1c2}
.dawn-updates{background:var(--dawn-paper)!important;color:var(--dawn-ink);--hub-ink:#142c43;--hub-muted:#526579;--hub-line:#cbd6df;--hub-green:#17577f;--hub-surface:#fff;--hub-bg:#f8fafc}
.dawn-updates .hub-roadmap{max-width:1160px;background:transparent;padding:48px 28px 0}
.dawn-updates .hub-purposes{margin-bottom:40px}
.dawn-updates .hub-purposes a{background:#fff;border-color:#aebecd;color:#1b4e72}
.dawn-updates .hub-roadmap-section{padding:36px 0;border-color:#cbd6df}
.dawn-updates .hub-roadmap-section h2{color:#142c43;font-size:clamp(26px,3vw,36px);line-height:1.5;font-weight:600}
.dawn-updates .hub-roadmap-section :is(p,li){color:#445f73;font-size:17px;line-height:1.85}
.dawn-updates .hub-plan{background:white;border-color:#c2d3e0;border-radius:14px;padding:28px}
.dawn-updates .hub-plan :is(h3,.hub-plan-status){color:#244e6f}
.dawn-updates .hub-update-list{grid-template-columns:1fr 1fr;gap:28px 48px}
.dawn-updates .hub-update-list li{background:none;border:0;border-top:1px solid #cbd6df;padding:24px 0}
.dawn-updates .hub-update-list a{color:#17577f}
.dawn-updates .hub-footer{background:transparent;color:#264f6e;border-color:#cbd6df;padding:32px 0}
@media(max-width:760px){
 .dawn-site .service-directory{padding:48px 24px 56px;scroll-margin-top:20px}
 .dawn-site .service-directory h2{font-size:32px}
 .dawn-site .service-directory .service-intro{font-size:17px;margin-bottom:24px}
 .dawn-site .service-status-buttons{gap:6px}.dawn-site .service-status-buttons button{padding:10px 13px;font-size:15px;gap:5px}
 .dawn-site .service-search{padding:20px;gap:18px}.dawn-site .service-search label{font-size:16px}
 .dawn-site .service-search .service-reset{padding:6px 0;justify-self:start;min-height:44px}
 .dawn-site .service-grid{grid-template-columns:1fr;gap:0}
 .dawn-site .service-card{padding:26px 0}
 .dawn-site .service-directory .service-card h3{font-size:23px}
 .dawn-site .service-directory .service-open{width:auto;justify-content:flex-start;min-height:48px}
 .dawn-chapter{min-height:740px}
 .dawn-copy{padding:52px 24px 365px;margin:0;max-width:100%}
 .dawn-copy :is(h1,h2){font-size:29px;line-height:1.65;max-width:100%;letter-spacing:-.035em}
 .dawn-copy .dawn-kicker{font-size:13px!important;letter-spacing:.07em;margin-bottom:18px!important}
 .dawn-copy>p:not(.dawn-kicker){font-size:17px;line-height:1.8}
 .dawn-copy h2 br{display:none}
 .dawn-bridge{padding:56px 24px}
 .dawn-bridge-inner{grid-template-columns:1fr;gap:26px}
 .dawn-bridge h2{font-size:29px;line-height:1.6}
 .dawn-bridge .dawn-bridge-kicker{margin-bottom:14px;font-size:13px}
 .dawn-bridge-text p{font-size:17px;line-height:1.9}
 .dawn-scrim{background:linear-gradient(#0308129c,transparent 67%)}
 .dawn-site .dawn-page-hero{min-height:650px}
 .dawn-site .dawn-page-hero .dawn-copy{padding:48px 24px 290px}
 .dawn-site .dawn-page-hero .dawn-scrim{background:linear-gradient(#020b18ed,#061428aa 42%,transparent 75%)}
 .dawn-site .dawn-about-notes{padding:48px 24px;grid-template-columns:1fr;gap:24px}
 .dawn-site .notes p{font-size:17px}
 .dawn-site.document-page main.notes{padding:40px 24px 70px}
 .dawn-site .colony-gallery{margin-top:12px}
 .dawn-contact-image{height:220px}
 .dawn-contact .notes{padding:38px 24px 60px}
 .dawn-updates .hub-roadmap{padding:32px 24px 0}
 .dawn-updates .hub-update-list{grid-template-columns:1fr;gap:0}
 .dawn-updates .hub-plan{padding:22px}
}
@media(max-width:380px){.dawn-site .service-status-buttons button{padding:9px 11px}.dawn-copy :is(h1,h2){font-size:27px}}
@media(prefers-reduced-motion:reduce){.dawn-art{transform:none!important}.dawn-site *{scroll-behavior:auto!important}}
