
:root{--ink:#171614;--paper:#f4f0e7;--cream:#fbf8f1;--muted:#6d675d;--line:#d7d0c3;--red:#9d3d2e;--gold:#b58a42;--dark:#24211e;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:0 28px}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--red)}
header{position:sticky;top:0;z-index:20;background:rgba(244,240,231,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:74px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:var(--serif);font-size:1.5rem;font-weight:700;letter-spacing:-.03em}.brand span{color:var(--red)}nav{display:flex;gap:25px;font-size:.82rem;font-weight:700}nav a:hover{color:var(--red)}
.hero{min-height:730px;display:grid;grid-template-columns:1.04fr .96fr;gap:36px;align-items:center;padding:64px 0}.hero h1{font-family:var(--serif);font-size:clamp(4rem,7.8vw,7.6rem);line-height:.83;letter-spacing:-.075em;margin:15px 0 28px}.hero h1 em{font-weight:400}.hero p{max-width:580px;color:var(--muted);font-size:1.08rem}.hero-visual{height:620px;position:relative}.hero-visual img{border-radius:2px;filter:saturate(.78) contrast(1.03)}.stamp{position:absolute;left:-22px;bottom:32px;background:var(--red);color:white;padding:22px 20px;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;text-align:center;transform:rotate(-8deg);box-shadow:0 10px 30px #0002;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.hero-caption{position:absolute;right:16px;bottom:14px;background:#171614e8;color:#fff;padding:8px 12px;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}
.ticker{display:flex;gap:42px;overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;color:var(--muted);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.ticker b{color:var(--red)}section{padding:105px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}h2{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.7rem);line-height:.95;letter-spacing:-.055em;margin:10px 0 0}.section-intro{max-width:480px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--cream);border:1px solid var(--line);overflow:hidden;transition:.25s ease}.card:hover{transform:translateY(-5px);box-shadow:0 16px 40px #30291d14}.card-img{height:280px}.card-body{padding:25px}.card h3{font-family:var(--serif);font-size:1.7rem;line-height:1.05;margin:8px 0 12px}.card p{color:var(--muted);font-size:.92rem}.tag{display:inline-block;font-size:.65rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--red)}
.feature{background:var(--dark);color:#f5f0e7}.feature .section-intro{color:#b9b1a4}.feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}.feature-image{height:540px}.feature-copy h2{max-width:650px}.feature-copy p{color:#c2baad;max-width:580px}.steps{margin-top:36px;border-top:1px solid #ffffff28}.step{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:21px 0;border-bottom:1px solid #ffffff28}.step-num{font-family:var(--serif);font-size:1.4rem;color:#d6b36f}.step h4{margin:0 0 5px;font-size:1rem}.step p{margin:0;font-size:.9rem}
.stories{display:grid;grid-template-columns:1fr 1fr;gap:20px}.story{min-height:430px;position:relative;overflow:hidden;background:#222}.story img{position:absolute;inset:0;filter:grayscale(.2)}.story:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#171614ee)}.story-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:25px;color:#fff}.story-copy h3{font-family:var(--serif);font-size:2.2rem;line-height:1;margin:7px 0}.story-copy p{margin:0;color:#ddd5ca;font-size:.9rem}.story-wide{grid-column:span 2;min-height:340px}
.matrix{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.matrix-item{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:190px;background:var(--cream)}.matrix-item strong{font-family:var(--serif);font-size:1.55rem;display:block;margin:8px 0}.matrix-item p{color:var(--muted);font-size:.86rem;margin:0}
.checklist{background:#ded7ca;padding:70px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.checklist ul{list-style:none;padding:0;margin:25px 0 0}.checklist li{padding:14px 0;border-bottom:1px solid #bfb7aa;font-size:.92rem}.checklist li:before{content:"✓";font-weight:900;color:var(--red);margin-right:12px}.sources{font-size:.82rem;color:var(--muted)}.sources a{text-decoration:underline;text-underline-offset:3px}
footer{background:#171614;color:#d6cfc3;padding:55px 0}.footer-grid{display:flex;justify-content:space-between;gap:30px}footer p{margin:0;color:#948d82;font-size:.78rem}.button{display:inline-flex;align-items:center;gap:10px;margin-top:25px;padding:12px 16px;border:1px solid var(--ink);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.button:hover{background:var(--ink);color:#fff}
@media(max-width:850px){nav{display:none}.hero,.feature-grid{grid-template-columns:1fr}.hero{padding-top:45px}.hero-visual{height:480px}.cards{grid-template-columns:1fr}.stories{grid-template-columns:1fr}.story-wide{grid-column:auto}.matrix{grid-template-columns:1fr 1fr}.check-grid{grid-template-columns:1fr}.checklist{padding:38px 25px}.section-head{display:block}.section-intro{margin-top:18px}.footer-grid{display:block}.footer-grid p+p{margin-top:15px}}
@media(max-width:520px){.wrap{padding:0 18px}.hero h1{font-size:4rem}.hero-visual{height:390px}.matrix{grid-template-columns:1fr}}

/* Shared navigation, accessible dialogs and locale layout. */
html{scroll-behavior:smooth;scroll-padding-top:90px;scrollbar-color:#8a7770 transparent}
::selection{background:#a83c31;color:#fff}
:focus-visible{outline:3px solid #bd6558!important;outline-offset:5px}
a,button,summary{-webkit-tap-highlight-color:transparent}
button,select{font:inherit}
svg[hidden],[hidden]{display:none!important}
img{max-width:100%}
.site-tools{position:relative;flex-shrink:0;line-height:1.4;text-transform:none;letter-spacing:normal;color:inherit;font:600 13px/1.4 var(--font-manrope,system-ui),sans-serif}
.site-tools summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;min-width:60px;padding:8px;border:1px solid currentColor;border-radius:6px}
.site-tools summary::-webkit-details-marker{display:none}
.site-tools svg{width:17px;height:17px}
.site-tools-panel{position:absolute;right:0;top:calc(100% + 12px);width:245px;background:#faf7f0;color:#24211e;box-shadow:0 12px 35px #0003;border:1px solid #d7d0c3;padding:10px;border-radius:8px;z-index:70}
.theme-black .site-tools-panel{background:#151518;color:#fff;border-color:#414145}
.site-tools-panel a{display:block;padding:11px 12px;border-radius:3px;text-decoration:none;font-size:14px;min-height:42px}
.site-tools-panel a:hover,.site-tools-panel a[aria-current="page"]{background:#9d3d2e1c;color:#a54334}
.theme-black .site-tools-panel a:hover,.theme-black .site-tools-panel a[aria-current="page"]{background:#ee12332b;color:#ff6680}
.site-tools-panel hr{border:0;border-top:1px solid #7775;margin:7px 0}
.header-tools-row{gap:16px}
.theme-black header{background:linear-gradient(#000e,#000a,transparent)}
.theme-black header>div{gap:18px}
.theme-black .text-gradient-red{background:none;color:#ff294c;-webkit-text-fill-color:currentColor}
.theme-black .shadow-primary\/30,.theme-black .shadow-primary\/50{--tw-shadow-color:#0008}
.theme-black h1{max-width:620px}
.theme-black h1,.theme-black h2{text-wrap:balance}
.theme-black [class*="text-white/50"],.theme-black [class*="text-white/60"]{color:#b8b6bd}
.theme-black [class*="text-muted-foreground"]{color:#b9b6bf}
.theme-black .site-footer{background:#000;color:#b8b6bd;border-top:1px solid #ffffff25;padding:38px 24px}
.site-footer-inner{max-width:1104px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.site-footer a{color:inherit;text-underline-offset:4px}
.site-footer nav{display:flex;gap:20px;flex-wrap:wrap;font-size:14px}
.site-footer p{font-size:12px;margin-top:10px}
.site-dialog{position:fixed;inset:0;margin:auto;background:#141416;color:#f6f4f5;border:1px solid #4b464b;border-radius:16px;padding:34px;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 24px 80px #0008}
.site-dialog::backdrop{background:#000b}
.site-dialog h2{font:800 24px/1.35 var(--font-manrope,system-ui),sans-serif;margin:8px 25px 18px 0}
.site-dialog p{font-size:15px;line-height:1.7;color:#c8c3ca}
.dialog-close{position:absolute;right:12px;top:12px;padding:10px;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:5px}
.dialog-close svg{width:20px;height:20px}
.dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.dialog-actions button{flex:1;min-width:130px;min-height:46px;border:1px solid #ffffff38;border-radius:8px;background:#ed0b2f;color:white;font-weight:700;cursor:pointer}
.dialog-actions button+button{background:#29262a}
.dialog-open{overflow:hidden}
.download-fallback{display:none}
.download-fallback:target{display:block;padding:32px;max-width:720px;margin:auto;color:#fff;background:#1c191e}
.video-toggle{position:absolute;right:24px;bottom:22px;z-index:12;width:38px;height:38px;display:grid;place-items:center;border:1px solid #fff5;background:#0009;color:white;border-radius:50%;cursor:pointer}
.video-toggle svg{width:16px;height:16px}
.video-toggle.is-paused{background:#ed0b2f;border-color:#ff6680}
.no-scrollbar{touch-action:pan-x pan-y}
.no-scrollbar.is-dragging{cursor:grabbing!important;user-select:none}
.no-scrollbar button:focus-visible{outline-offset:-3px}
.theme-white .hero h1{font-size:clamp(3.4rem,7.7vw,7.1rem);letter-spacing:-.055em;line-height:.9}
.theme-white .brand{font-family:Georgia,"Times New Roman",serif}
.theme-white .hero>div,.theme-white .feature-grid>div,.theme-white .section-head>div,.theme-white .check-grid>div{min-width:0}
.theme-white h1,.theme-white h2,.theme-white h3,.theme-white .sources{overflow-wrap:break-word}
.hero-line{display:block;white-space:nowrap}
.theme-white .hero{min-height:690px;padding:64px 0;gap:40px}
.theme-white .hero-visual{height:610px}
.theme-white .hero-visual img{object-position:center}
.theme-white .hero p{line-height:1.65;font-size:1.03rem}
.theme-white h2{letter-spacing:-.04em}
.theme-white .feature .eyebrow{color:#e6a091}
.theme-white .story .tag{color:#ffd2c6}
.theme-white .card:hover{box-shadow:none}
.theme-white .ticker{flex-wrap:wrap;gap:14px 28px;justify-content:center;white-space:normal;padding:14px 18px}
.theme-white .stamp{box-shadow:0 12px 30px #0002}
.theme-white .hero-visual img{filter:saturate(.78) contrast(1.03)}
.theme-white .sources a:hover{text-decoration-thickness:2px}
html[lang="ja-JP"] .theme-black,html[lang="ja-JP"] .theme-white{font-family:"Yu Gothic UI","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
html[lang="ja-JP"] .theme-black h1{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:800;font-size:clamp(2.25rem,4.3vw,3.7rem);line-height:1.35;letter-spacing:.015em;text-transform:none;word-break:normal;overflow-wrap:anywhere}
html[lang="ja-JP"] .theme-black h2{line-height:1.45}
html[lang="ja-JP"] .theme-white{--serif:"Yu Mincho","Hiragino Mincho ProN",serif}
html[lang="ja-JP"] .theme-white .hero h1{font-size:clamp(2.8rem,5.1vw,4.5rem);line-height:1.3;letter-spacing:-.035em}
html[lang="ja-JP"] .theme-white h2{font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.4;letter-spacing:-.025em}
html[lang="ja-JP"] .theme-white .card h3,html[lang="ja-JP"] .theme-white .story h3{line-height:1.45;font-size:1.65rem}
html[lang="ja-JP"] .theme-white .eyebrow,html[lang="ja-JP"] .theme-white .tag{letter-spacing:.055em}
html[lang="ja-JP"] .theme-white .hero-caption{font-size:.75rem}
@media(min-width:1050px){.site-mobile-nav{display:none}}
@media(max-width:1049px){.theme-black header nav{display:none!important}}
@media(max-width:850px){.theme-white header nav{display:none}.theme-white .hero{padding:42px 0;gap:35px;min-height:auto}.theme-white .hero h1{font-size:clamp(3.35rem,10.5vw,5.3rem)}.theme-white .hero-visual{height:480px}.theme-white section{padding-top:70px;padding-bottom:70px}}
@media(max-width:600px){.theme-black header>div{gap:9px}.theme-black header [data-download-source]{padding:8px 11px;font-size:12px}.site-tools summary{min-width:48px;padding:7px;gap:5px;font-size:12px}.site-tools svg{width:15px}.theme-white .hero-visual{height:390px}.theme-white .stamp{left:12px;bottom:46px;width:125px;height:125px;padding:15px}.theme-white .hero-caption{left:12px;right:12px;text-align:center;font-size:.61rem}.theme-white .hero p{font-size:1rem}.theme-white .story{min-height:480px}.theme-white .story-wide{min-height:420px}.theme-white .story-copy{left:20px;right:20px}.theme-white .feature-image{height:350px}.site-footer nav{gap:13px}.theme-black #inicio>div:nth-child(2){padding-bottom:70px}.theme-black #inicio>div:first-child{height:32vh;min-height:210px}.theme-black h1{font-size:2.6rem}.theme-black #inicio .text-base{line-height:1.7}.video-toggle{right:18px;bottom:22px}.theme-white .checklist{padding:32px 22px}html[lang="ja-JP"] .theme-white .hero h1{font-size:2.9rem;line-height:1.35}html[lang="ja-JP"] .theme-black h1{font-size:2.3rem}html[lang="ja-JP"] .theme-white .story{min-height:510px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:600px){html[lang="ja-JP"] .theme-white .hero h1{font-size:clamp(2rem,10.2vw,2.65rem)}html[lang="ja-JP"] .theme-black h1{font-size:clamp(1.8rem,9.3vw,2.3rem)}}
