@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{--ink:#071626;--ink2:#10263a;--paper:#f5f3ee;--white:#fff;--copper:#d49a69;--muted:#abc0cf;--line:rgba(255,255,255,.21);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:#fff;font-family:'DM Sans','Noto Sans JP',sans-serif}body.lang-ja{font-family:'Noto Sans JP','DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}::selection{background:var(--copper);color:var(--ink)}
.skip{position:absolute;left:1rem;top:-5rem;z-index:50;background:#fff;color:#000;padding:.75rem}.skip:focus{top:1rem}
.topbar{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:2rem clamp(1.25rem,5vw,5.5rem);gap:2rem}.brand{font-family:Manrope,sans-serif;font-size:1.05rem;letter-spacing:.22em;font-weight:700;line-height:1.15;white-space:nowrap}.brand span{display:block;font-size:.55rem;color:#d5bbab;letter-spacing:.29em;font-weight:600;margin-top:.38rem}.nav{display:flex;gap:clamp(1rem,2.2vw,2.6rem);align-items:center;font-size:.79rem;font-weight:600;letter-spacing:.06em}.nav a:not(.nav-cta){opacity:.85}.nav a:hover,.footer a:hover{color:var(--copper)}.nav-cta{padding:.75rem 1.15rem;border:1px solid rgba(255,255,255,.65)}.lang{display:flex;align-items:center;gap:.3rem;font-size:.72rem;letter-spacing:.06em}.lang a{opacity:.58}.lang a[aria-current]{opacity:1;color:#fff}.mobile-menu{display:none}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:#071b30}.hero-image{position:absolute;inset:0;z-index:-2;background:url('/assets/tokyo-dusk.png') center center/cover no-repeat;transform:scale(1.06);animation:heroIn 2s ease-out both}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,16,30,.89) 0%,rgba(5,23,42,.65) 45%,rgba(5,24,43,.12) 100%),linear-gradient(0deg,#071626 0%,transparent 30%)}.hero-inner{width:100%;padding:9rem clamp(1.25rem,9vw,10rem) 8rem}.eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.29em;font-weight:700;color:var(--copper);display:flex;align-items:center;gap:.8rem}.eyebrow:before{content:'';width:1.6rem;height:1px;background:currentColor}.hero h1{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.045em;font-weight:400;font-size:clamp(3.9rem,8.2vw,9.2rem);line-height:.99;max-width:12ch;margin:2rem 0 1.5rem}.hero h1 em{color:#d6a67e;font-weight:400}.hero .lead{font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.7;max-width:39rem;color:#e0e8ed}.hero-actions{display:flex;gap:1.8rem;align-items:center;margin-top:2.8rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.4rem;padding:.9rem 1.55rem;background:#e7ad78;color:#0b1a27;font-size:.82rem;letter-spacing:.04em;font-weight:700;transition:background .25s,transform .25s}.button:hover{background:#f6c69b;transform:translateY(-2px)}.text-link{font-size:.84rem;border-bottom:1px solid currentColor;padding-bottom:.35rem}.hero-foot{position:absolute;bottom:2.2rem;left:clamp(1.25rem,5vw,5.5rem);right:clamp(1.25rem,5vw,5.5rem);display:flex;justify-content:space-between;color:#d0dde6;font-size:.67rem;letter-spacing:.2em;text-transform:uppercase}.scroll-marker{display:flex;align-items:center;gap:.8rem}.scroll-marker:before{content:'';width:3.5rem;height:1px;background:#e7ad78}
.section{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,8vw,9rem)}.section-inner{max-width:1400px;margin:auto}.kicker{display:block;font-size:.7rem;letter-spacing:.27em;text-transform:uppercase;font-weight:700;color:#b57953;margin-bottom:1.6rem}.section h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.7rem,5vw,5.8rem);font-weight:400;letter-spacing:-.04em;line-height:1.08;margin:0 0 2rem}.section p{line-height:1.8;font-size:clamp(1rem,1.12vw,1.13rem)}.intro{background:var(--paper);color:var(--ink)}.intro-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:clamp(3rem,10vw,12rem);align-items:center}.intro h2{max-width:13ch}.intro-copy{border-left:1px solid #c6c5bd;padding-left:clamp(1.5rem,4vw,4rem);max-width:36rem}.intro-copy p:first-child{font-size:1.3rem;line-height:1.65;margin-top:0}.intro-copy p:last-child{color:#526374}.mini-proof{border-top:1px solid #c8cbc8;margin-top:2rem;padding-top:1.25rem;display:flex;justify-content:space-between;gap:1.5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.mini-proof strong{font-family:Georgia,serif;font-size:2.2rem;font-weight:400;letter-spacing:-.04em;display:block;text-transform:none}
.path{background:#0c1e30;overflow:hidden}.path-head{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:4rem}.path-head h2{max-width:13ch;margin-bottom:0}.path-head p{max-width:26rem;color:#b6c7d3;margin:0}.journey{perspective:1400px;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.journey-card{min-height:25rem;padding:2.5rem;display:flex;flex-direction:column;background:linear-gradient(155deg,#1b3549,#102639 70%);border:1px solid #416075;transform:rotateY(var(--ry,0deg)) translateY(var(--ty,0px));transform-style:preserve-3d;transition:transform .13s linear,background .3s;will-change:transform}.journey-card:nth-child(2){background:linear-gradient(155deg,#244056,#142b3f)}.journey-card:nth-child(3){background:linear-gradient(155deg,#2b4455,#183044)}.journey-card:hover{background:#294b60}.step{font-family:Georgia,serif;font-size:3rem;color:#d7a674}.journey-card h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.8rem,2.5vw,2.9rem);line-height:1.08;letter-spacing:-.025em;margin:auto 0 1rem;max-width:12ch}.journey-card p{font-size:.94rem;color:#b8c9d3;line-height:1.65;margin:0;max-width:23rem}
.services{background:#f5f3ee;color:#091a2b}.services .section-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,10vw,10rem)}.services h2{position:sticky;top:3rem;max-width:10ch}.service-list{border-top:1px solid #c2c7c9}.service-item{padding:2rem 0;border-bottom:1px solid #c2c7c9;display:grid;grid-template-columns:3rem 1fr;gap:1.5rem}.service-item b{font-size:.7rem;color:#9f694a;letter-spacing:.1em;padding-top:.5rem}.service-item h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.6rem,2vw,2.2rem);margin:0 0 .7rem}.service-item p{font-size:.98rem;color:#5b6975;margin:0;max-width:38rem;line-height:1.7}
.quote{background:#c88b62;color:#102438;padding-top:clamp(5rem,9vw,9rem);padding-bottom:clamp(5rem,9vw,9rem)}.quote .section-inner{display:grid;grid-template-columns:1fr 2fr;gap:3rem}.quote .kicker{color:#23384a}.quote blockquote{font-family:Georgia,serif;font-size:clamp(2.1rem,4.2vw,5rem);line-height:1.14;letter-spacing:-.04em;margin:0}.quote .signature{font-family:Georgia,serif;font-style:italic;font-size:1.8rem;margin-top:2rem}
.about{background:#0a1b2b}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(4rem,10vw,11rem)}.about h2{max-width:11ch}.about-copy p{color:#c1d0d9;margin-top:0}.about-copy a{color:#e6b38c;border-bottom:1px solid #e6b38c}.facts{margin-top:2rem;border-top:1px solid var(--line)}.fact{border-bottom:1px solid var(--line);padding:1.2rem 0;display:grid;grid-template-columns:9rem 1fr;gap:1rem;font-size:.86rem}.fact span:first-child{color:#d49a69;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700}
.portrait{margin:3rem 0 0;max-width:29rem;background:#d5d8dc;overflow:hidden}.portrait img{width:100%;height:auto;display:block}.portrait figcaption{padding:.9rem 1.1rem;background:#183247;color:#d9e2e8;font-size:.7rem;letter-spacing:.2em}
.closing{position:relative;background:#112c41;overflow:hidden}.closing:before{content:'';position:absolute;inset:0;background:url('/assets/tokyo-dusk.png') center 60%/cover no-repeat;opacity:.22;filter:grayscale(50%)}.closing .section-inner{position:relative}.closing h2{max-width:17ch}.closing p{max-width:39rem;color:#d0dce4}.closing .button{margin-top:1.5rem}.closing-links{display:flex;gap:2rem;flex-wrap:wrap;margin-top:2.5rem;font-size:.85rem}.closing-links a{border-bottom:1px solid #adbfcd;padding-bottom:.25rem}
.footer{background:#071626;padding:2.5rem clamp(1.25rem,8vw,9rem);display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;color:#9eb1c0;font-size:.76rem}.footer .brand{color:#fff}.footer nav{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
.reveal{opacity:0;transform:translateY(38px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes heroIn{from{opacity:.5;transform:scale(1.12)}to{opacity:1;transform:scale(1.06)}}
@media(max-width:860px){.topbar{padding:1.35rem 1.25rem}.nav{display:none;position:absolute;top:4.9rem;left:1rem;right:1rem;background:#10283c;padding:1.4rem;flex-direction:column;align-items:flex-start;border:1px solid #496073}.nav.open{display:flex}.mobile-menu{display:block;margin-left:auto;color:#fff;background:none;border:1px solid #99acb9;padding:.5rem .7rem}.hero-inner{padding-top:9rem}.hero h1{font-size:clamp(3.55rem,11vw,5.6rem)}.intro-grid,.services .section-inner,.about-grid,.quote .section-inner{grid-template-columns:1fr;gap:2.5rem}.intro-copy{padding-left:1.5rem}.path-head{display:block}.path-head p{margin-top:1.5rem}.journey{grid-template-columns:1fr}.journey-card{min-height:18rem}.services h2{position:static}.footer{display:block}.footer nav{margin-top:1.5rem}}
@media(max-width:520px){.hero{min-height:45rem}.hero h1{font-size:3.55rem}.hero-foot{font-size:.55rem}.hero-foot span:last-child{display:none}.section{padding:5rem 1.25rem}.service-item{grid-template-columns:2rem 1fr;gap:.6rem}.fact{grid-template-columns:1fr}.quote blockquote{font-size:2.15rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.journey-card{transform:none!important}}
.sectors{background:#152d40}.sector-heading{max-width:46rem;margin-bottom:3rem}.sector-heading p{color:#c7d4dc;max-width:39rem}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.sector-card{border-top:1px solid #a76f50;background:#1a364b;padding:2rem;min-height:20rem}.sector-number{font-size:.7rem;letter-spacing:.2em;color:#d49a69}.sector-card h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.7rem,2.2vw,2.5rem);letter-spacing:-.025em;margin:4rem 0 1rem}.sector-card p{color:#c2d0d9;font-size:.95rem;line-height:1.7;margin:0}
@media(max-width:860px){.sector-grid{grid-template-columns:1fr}.sector-card{min-height:16rem}.sector-card h3{margin-top:2rem}}
.faq{background:#eef0ed;color:#0a1d2d}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,10vw,10rem)}.faq h2{max-width:10ch}.faq-list{border-top:1px solid #bac6cb}.faq-item{border-bottom:1px solid #bac6cb;padding:1.8rem 0}.faq-item h3{font-family:Georgia,serif;font-size:clamp(1.4rem,2vw,2rem);font-weight:400;margin:0 0 .7rem;line-height:1.25}.faq-item p{font-size:.99rem;line-height:1.7;color:#506574;margin:0;max-width:42rem}@media(max-width:860px){.faq-grid{grid-template-columns:1fr;gap:2rem}}
