/* V7.5.1 / Registered graphic and seamless violet background.
   Scoped to the home and mission pages. No form, API or map selectors. */
.va-home,.va-definition-page{--va-plum:#4b365d;--va-paper:#f8f5f0;--va-deep:#24182e;--va-soft:#eee7f2;--va-text:#251c2b;--va-muted:#655c6d}
.va-home main,.va-definition-page main{overflow:clip}
.va-home .va-hero{max-width:1536px;min-height:590px;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr)}
.va-home .va-hero .hero-copy{padding-top:66px;padding-bottom:66px;padding-inline-end:38px}
.va-home .va-hero h1{font-size:clamp(29px,3.25vw,48px);line-height:1.58;letter-spacing:.02em;margin:0 0 24px;font-weight:400}
.va-home[lang=ja] .va-hero h1,.va-home[data-lang=ja] .va-hero h1{font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK JP',serif;letter-spacing:.025em}
.va-home .va-hero .eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:24px}
.va-home .va-hero .hero-image{min-height:590px}
.va-hero-lead{font-size:15px;line-height:2.05;max-width:560px;color:var(--va-text)}
.va-hero-lead p{margin:0 0 6px;overflow-wrap:break-word}
.va-home .va-hero .actions{margin:28px 0 20px}
.va-home .va-hero .hero-note{font-size:11px;max-width:500px;line-height:1.9}
.va-home .va-hero .hero-image figcaption{font-size:9px;letter-spacing:.24em;line-height:1.9}
.va-home .section.va-definition{padding:100px 0 76px}
.va-definition-page .section.va-definition{padding:70px 0}
.va-definition-head{display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:start;margin-bottom:45px}
.va-definition-head h2,.va-heading h2,.va-authority h2,.va-faq h2{font-size:clamp(25px,2.6vw,37px);line-height:1.7;letter-spacing:.02em;margin:0;text-wrap:pretty}
.va-definition-head .eyebrow,.va-heading .eyebrow,.va-authority .eyebrow,.va-faq .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:16px}
.va-definition-text{padding-top:4px;font-size:15px;line-height:2.1}
.va-definition-text>p{margin-bottom:15px;overflow-wrap:break-word}
.va-muted{color:var(--va-muted);font-size:12px;line-height:1.95}
.va-art{--va-art-bg:#2b1c36;background:var(--va-art-bg);border:1px solid #7a65883d;border-radius:4px;padding:30px 24px 0;box-shadow:0 16px 40px #24182e0b;isolation:isolate;margin:0}
.va-art-link{display:block;cursor:zoom-in;text-decoration:none}
.va-art picture,.va-art img{display:block;width:100%;height:auto}
.va-art figcaption{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 3px 21px;color:#e5dceb;border-top:1px solid #cbbbd22e;font-size:11px;margin-top:14px}
.va-art figcaption>span{font-size:9px;letter-spacing:.12em;line-height:1.7}
.va-art figcaption a{min-height:35px;display:flex;align-items:center;gap:10px;flex-shrink:0;text-underline-offset:5px}
.va-art figcaption a:hover{color:#fff}
.va-field-note{display:grid;grid-template-columns:1fr 1.3fr;gap:45px;margin-top:36px;padding-top:22px;border-top:1px solid var(--line)}
.va-field-note h3{font-size:21px;line-height:1.9;text-wrap:pretty}
.va-field-note p{font-size:13px;line-height:2;overflow-wrap:break-word;margin-bottom:10px}
.va-field-note p.va-muted{font-size:11px;margin-bottom:0}
.va-domain{position:relative;padding:40px 35px;background:linear-gradient(145deg,#f0eaf3,#e8dfed);border:1px solid #b8a7c5;border-radius:4px;text-align:center}
.va-domain-label{font:clamp(24px,2.8vw,40px)/1.35 var(--serif);margin:0 0 8px;color:var(--va-plum);overflow-wrap:normal}
.va-domain-intro{font-size:13px;color:var(--va-muted);margin-bottom:18px}
.va-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;font-size:11px;max-width:860px;margin:0 auto}
.va-tags span{padding:6px 13px;border:1px solid #b8a7c58c;border-radius:2px;background:#f8f5f088;line-height:1.7}
.va-domain-inner{max-width:730px;margin:30px auto 0;padding:30px 20px 24px;background:#4b365d;color:#fff;border:1px solid #6c557f;border-radius:3px}
.va-domain-brand{display:block;font:clamp(34px,4.5vw,58px)/1.4 var(--serif);letter-spacing:.01em}
.va-domain-inner p{color:#eee7f2;font-size:13px;line-height:1.9;margin:8px 0 0}
.va-journey{background:#f0eaf3;border-top:1px solid #e0d6e5;border-bottom:1px solid #e0d6e5;padding:64px 0!important}
.va-heading{margin-bottom:30px}
.va-heading>p:not(.eyebrow){font-size:13px;line-height:1.9;margin-top:14px;color:var(--va-muted)}
.va-milestones{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:35px 0 0;gap:0}
.va-milestones li{position:relative;padding:4px 22px 0 0;min-width:0}
.va-milestones li:not(:first-child){padding-inline-start:20px;border-inline-start:1px solid #cfc0d8}
.va-milestones li:last-child{padding-inline-end:0}
.va-milestone-icon{display:flex;align-items:center;height:40px;margin:0 0 20px;color:#684d7d}
.va-milestones h3{font-size:17px;font-family:var(--font);font-weight:500;line-height:1.7;margin:0 0 10px;text-wrap:pretty;overflow-wrap:break-word}
.va-milestones p{font-size:12px;color:var(--va-muted);line-height:1.95;margin:0;overflow-wrap:break-word}
.va-names{padding:72px 0!important}
.va-name-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.va-name-grid article{border-top:1px solid #b8a7c5;padding-top:24px}
.va-name-grid h3{font:clamp(23px,2.1vw,30px)/1.5 var(--serif);color:var(--va-plum);text-wrap:pretty;overflow-wrap:break-word}
.va-name-grid p{font-size:13px;line-height:2;color:var(--va-muted);margin:12px 0 0}
.va-authority{background:#ebe3ef;padding:78px 0!important}
.va-authority-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:65px;align-items:start}
.va-authority-intro p:not(.eyebrow){font-size:14px;line-height:2.05;overflow-wrap:break-word}
.va-authority-intro p:not(.eyebrow):last-of-type{color:var(--va-muted)}
.va-authority .actions{margin-bottom:0}
.va-purpose-grid{margin-top:40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.va-purpose-grid article{border-top:1px solid #c4b2cf;padding-top:22px}
.va-purpose-grid h3{font-size:22px;line-height:1.65;margin:10px 0}
.va-purpose-grid p{font-size:13px;line-height:1.95;color:var(--va-muted);margin:0}
.va-authority-links{display:flex;flex-wrap:wrap;gap:22px 40px;margin-top:32px}
.va-authority-links a{font-size:12px;display:inline-flex;align-items:center;gap:14px;min-height:36px}
.va-home .statsbar{padding-top:45px;padding-bottom:38px}
.va-home .section.tint{padding:62px 0;background:var(--base)}
.va-home .section.tint>.wrap>p{font-size:12px;color:var(--va-muted)}
.va-faq{padding:65px 0!important;background:#f2edf5}
.va-faq-layout{display:grid;grid-template-columns:.7fr 1.5fr;gap:70px}
.va-faq details{border-bottom:1px solid var(--line);padding:0 0 18px;margin:0 0 18px}
.va-faq details:last-child{margin-bottom:0}
.va-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:14px;line-height:1.9;min-height:44px;cursor:pointer}
.va-faq summary::-webkit-details-marker{display:none}
.va-faq summary>span{font:24px/1 var(--serif);flex:0 0 auto;color:var(--va-plum)}
.va-faq details[open] summary>span{transform:rotate(45deg)}
.va-faq details p{font-size:13px;color:var(--va-muted);line-height:2;margin:14px 35px 5px 0;overflow-wrap:break-word}
.va-resources{padding:64px 0!important}
.va-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.va-resource-grid>a{border-block:1px solid var(--line);padding:24px 0;display:flex;flex-direction:column;gap:12px;text-decoration:none;position:relative}
.va-resource-grid h3{font-size:22px;color:var(--va-plum);line-height:1.7}
.va-resource-grid p{font-size:12px;line-height:1.9;margin:0;max-width:90%;color:var(--va-muted)}
.va-resource-grid .arrow{margin-top:auto;align-self:flex-end}
.va-resource-grid>a:hover h3{text-decoration:underline;text-underline-offset:5px}
.va-closing{padding:74px 24px!important;background:linear-gradient(135deg,#4b365d,#33233e);color:#f8f5f0}
.va-closing h2{font-size:clamp(27px,3vw,40px);line-height:1.8;max-width:900px}
.va-closing .eyebrow{color:#d8cbdd}
.va-closing p{font-size:13px;line-height:1.9;color:#e3d7e9}
.va-closing .btn{background:#f8f5f0;color:#4b365d;border-color:#f8f5f0;min-width:190px}
.va-closing .btn:hover{background:#e8dfed}
.va-closing .btn.light{background:transparent;color:#f3ebf6;border-color:#a18bad;min-width:160px}
.va-closing .btn.light:hover{background:#ffffff12}
.va-closing .va-closing-note{font-size:11px;margin:0;color:#e3d7e9}
.va-definition-page .mast{padding:55px 0}
.va-definition-page .mast h1{font-size:clamp(28px,3.4vw,45px)}
@media(min-width:1800px){.va-home .va-hero .hero-copy{padding-inline-start:85px}}
@media(max-width:1199px){.va-home .va-hero .hero-copy{padding:45px 32px}.va-definition-head{gap:42px}.va-authority-intro{gap:42px}.va-milestones h3{font-size:16px}.va-milestones li{padding-inline-end:16px}.va-milestones li:not(:first-child){padding-inline-start:16px}}
@media(max-width:900px){.va-home .va-hero{min-height:520px}.va-home .va-hero .hero-image{min-height:520px}.va-home .va-hero h1{font-size:31px}.va-home .va-hero .hero-copy{padding:38px 25px}.va-home .va-hero .actions{gap:10px}.va-home .va-hero .btn{font-size:12px;padding-inline:16px}.va-definition-head{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.va-home .section.va-definition{padding:64px 0 50px}.va-field-note{grid-template-columns:1fr;gap:16px}.va-definition-text{max-width:850px}.va-art{padding:18px 12px 0}.va-milestones{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 0}.va-milestones li:nth-child(4){border-inline-start:0;padding-inline-start:0}.va-name-grid{gap:20px}.va-name-grid h3{font-size:24px}.va-purpose-grid{gap:22px}.va-faq-layout{grid-template-columns:1fr;gap:24px}.va-authority-intro{grid-template-columns:1fr;gap:26px}.va-desktop-break{display:none}}
@media(max-width:640px){
 .va-home .va-hero{grid-template-columns:1fr;min-height:0}
 .va-home .va-hero .hero-copy{padding:38px 24px 35px}
 .va-home .va-hero h1{font-size:clamp(26px,7.2vw,36px);line-height:1.62;margin-bottom:22px}
 .va-home .va-hero .eyebrow{font-size:8px;letter-spacing:.11em;margin-bottom:20px}
 .va-hero-lead{font-size:14px;line-height:2}
 .va-home .va-hero .hero-note{font-size:10px;line-height:1.85}
 .va-home .va-hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0 17px}
 .va-home .va-hero .actions .btn{font-size:11px;padding:12px 8px;gap:8px;min-height:48px}
 .va-home .va-hero .actions .btn .arrow{width:18px;flex-basis:18px}
 .va-home .va-hero .hero-image{min-height:0;aspect-ratio:1.45}
 .va-home .va-hero .hero-image img{object-position:50% 54%}
 .va-definition-head h2,.va-heading h2,.va-authority h2,.va-faq h2{font-size:26px;line-height:1.7}
 .va-definition-head{gap:20px}
 .va-definition-text{font-size:14px;line-height:2.05}
 .va-home .section.va-definition{padding:50px 0 45px}
 .va-home .va-definition>.wrap,.va-definition-page .va-definition>.wrap{width:calc(100% - 40px)}
 .va-art{padding:13px 7px 0;margin-inline:-7px;border-radius:3px;box-shadow:none}
 .va-art figcaption{padding:10px 5px;gap:10px;margin-top:6px}
 .va-art figcaption>span{font-size:7px;letter-spacing:.03em;max-width:52%}
 .va-art figcaption a{font-size:11px;gap:3px}
 .va-field-note{margin-top:25px;padding-top:24px;gap:14px}
 .va-field-note h3{font-size:19px}
 .va-field-note p{font-size:13px}
 .va-field-note p.va-muted{font-size:11px}
 .va-journey,.va-names,.va-authority,.va-faq,.va-resources{padding:48px 0!important}
 .va-heading{margin-bottom:22px}
 .va-milestones{grid-template-columns:1fr;gap:0;margin-top:25px}
 .va-milestones li,.va-milestones li:not(:first-child){display:grid;grid-template-columns:48px 1fr;gap:12px;padding:20px 0;border:0;border-top:1px solid #d5c8dd}
 .va-milestones li:first-child{border-top:0;padding-top:0}
 .va-milestone-icon{margin:3px 0 0}
 .va-milestones h3{font-size:16px;margin-bottom:6px}
 .va-milestones p{font-size:12px;line-height:1.85}
 .va-name-grid,.va-purpose-grid,.va-resource-grid{grid-template-columns:1fr;gap:22px}
 .va-name-grid article{padding-top:18px}
 .va-name-grid h3{font-size:28px}
 .va-name-grid p{margin-top:8px;font-size:13px}
 .va-authority-intro p:not(.eyebrow){font-size:14px}
 .va-purpose-grid{gap:20px;margin-top:28px}
 .va-purpose-grid article{padding-top:18px;display:grid;grid-template-columns:28px 1fr;gap:0 10px;align-items:baseline}
 .va-purpose-grid h3{font-size:22px;margin:0 0 8px}
 .va-purpose-grid p{grid-column:2;font-size:13px}
 .va-authority-links{gap:12px;margin-top:24px;flex-direction:column;align-items:flex-start}
 .va-faq summary{font-size:13px;gap:16px}
 .va-faq details p{font-size:13px;margin-inline-end:20px}
 .va-resource-grid{gap:0}
 .va-resource-grid>a{padding:22px 0;border-bottom:0}
 .va-resource-grid>a:last-child{border-bottom:1px solid var(--line)}
 .va-resource-grid h3{font-size:21px}
 .va-resource-grid .arrow{position:absolute;inset-inline-end:5px;top:31px}
 .va-closing{padding:55px 22px!important}
 .va-closing h2{font-size:27px;line-height:1.7}
 .va-closing .actions{flex-direction:column;align-items:stretch;max-width:380px;margin:24px auto}
 .va-closing .btn{width:100%;min-height:50px}
 .va-domain{padding:25px 16px}
 .va-domain-label{font-size:26px;overflow-wrap:break-word}
 .va-domain-intro{font-size:12px}
 .va-tags{gap:6px}
 .va-tags span{font-size:10px;padding:5px 9px}
 .va-domain-inner{padding:22px 15px;margin-top:23px}
 .va-domain-brand{font-size:39px}
 .va-domain-inner p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.va-home *,.va-definition-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.va-art{break-inside:avoid}.va-art figcaption a{display:none}.va-domain,.va-domain-inner,.va-closing{background:#fff;color:#251c2b}.va-closing p,.va-domain-inner p{color:#251c2b}.va-milestones{break-inside:avoid}.va-faq details p{display:block}}

.va-copy-chunk{display:inline-block;max-width:100%;vertical-align:top}.va-milestones p,.va-hero-lead p{text-wrap:pretty}

/* V7.5.1: the approved artwork is unchanged. Match its sampled violet
   background; blend only the empty outer 2% to remove the raster seam.
   The overlay cannot intercept the existing enlarge link. */
.va-art-link{position:relative;background:var(--va-art-bg)}
.va-art picture,.va-art img{background-color:var(--va-art-bg)}
.va-art-link::after{
 content:"";position:absolute;inset:0;pointer-events:none;
 background:
  linear-gradient(90deg,var(--va-art-bg) 0%,#2b1c3600 2%,#2b1c3600 98%,var(--va-art-bg) 100%),
  linear-gradient(180deg,var(--va-art-bg) 0%,#2b1c3600 2%,#2b1c3600 98%,var(--va-art-bg) 100%);
}
