:root{--bg:#0f1419;--fg:#edeff2;--muted:#aab2be;--gold:#e0a23a;--paper:#f2f3f1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--fg);font-family:'Noto Sans JP',sans-serif;font-size:15px;line-height:1.95}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{max-width:100%;height:auto;display:block}.wrap{width:min(1180px,88%);margin:auto}.skip{position:absolute;top:-100px;background:white;color:black;padding:12px;z-index:20}.skip:focus{top:0}.header{position:absolute;top:0;width:100%;z-index:5;border-bottom:1px solid #ffffff0d}.header-inner{min-height:96px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{font-family:'Noto Serif JP',serif;font-size:27px;font-weight:700;white-space:nowrap}.brand small{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.3em;color:var(--gold);margin-left:10px}.nav{display:flex;gap:28px;align-items:center;font-size:13px}.nav a:hover,.text-link:hover{color:var(--gold)}.pill{display:inline-flex;gap:24px;align-items:center;justify-content:center;border:1px solid #76808d;border-radius:40px;padding:13px 28px;transition:background .25s,transform .25s}.pill:hover{transform:translateY(-3px);background:#ffffff12}.pill.gold{background:var(--gold);color:var(--bg);border-color:var(--gold);font-weight:600}.pill.gold:hover{background:#edb854}.nav .pill{padding:8px 20px;color:var(--gold);border-color:var(--gold)}.menu-button{display:none;background:transparent;border:1px solid #66717c;color:white;border-radius:30px;padding:7px 15px}.hero{position:relative;min-height:790px;min-height:max(790px,95svh);display:flex;align-items:center;overflow:hidden}.hero video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,#0f1419ed 0%,#0f141980 55%,#0f141914 100%)}.hero-copy{position:relative;padding:160px 0 130px;z-index:1}.eyebrow{font:11px/1.6 Arial,sans-serif;letter-spacing:.28em;color:var(--gold);margin:0 0 24px}.hero h1{font-family:'Noto Serif JP',serif;font-weight:500;font-size:clamp(36px,5.3vw,74px);letter-spacing:.025em;line-height:1.55;margin:0 0 22px}.english{letter-spacing:.08em;color:var(--muted);font-size:15px}.hero-description{color:#ccd1d8;margin:30px 0 32px;max-width:560px}.actions{display:flex;gap:15px;flex-wrap:wrap}.video-control{position:absolute;right:6%;bottom:30px;z-index:2;color:#ddd;background:#0f1419aa;border:1px solid #69727c;padding:7px 17px;border-radius:30px;font-size:12px}.scroll-note{position:absolute;bottom:32px;left:6%;font:10px Arial;letter-spacing:.25em;color:var(--muted)}section.band{padding:110px 0}.light{background:var(--paper);color:#202832}.light .eyebrow{color:#8a5a10}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px}h2{font-family:'Noto Serif JP',serif;font-size:clamp(29px,3.1vw,43px);font-weight:500;line-height:1.65;margin:0 0 25px}h3{font-weight:500;line-height:1.65}.body-copy{color:#4a525b}.body-copy p:first-child{margin-top:0}.signature{font-family:'Noto Serif JP',serif;color:#202832;margin-top:30px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-head h2{margin:0}.section-note{font:10px Arial;letter-spacing:.18em;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #ffffff29}.service{padding:34px 25px;display:flex;flex-direction:column;border-right:1px solid #ffffff29;transition:background .3s}.service:last-child{border:0}.service:hover{background:#19212a}.number{font:34px 'Noto Serif JP',serif;color:var(--gold);margin-bottom:22px}.service small{font:10px Arial;letter-spacing:.12em;color:var(--muted)}.service h3{font-size:19px;min-height:64px}.service p{font-size:13px;color:#bfc7d0;margin-top:0}.service a{margin-top:auto;padding-top:25px;font-size:13px;color:var(--gold)}.case-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}.case-image{margin:0;background:#e4e8e7;padding:32px}.case-image figcaption{font-size:11px;color:#69717a;margin-top:15px}.case-copy h3{font-family:'Noto Serif JP',serif;font-size:30px;margin:15px 0}.case-copy p{color:#4a525b}.text-link{display:inline-block;border-bottom:1px solid #92999f;padding:6px 0;margin-top:16px;font-size:14px}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.product{border-top:1px solid #ffffff30;padding-top:25px}.product .number{font-size:14px}.product h3{font-family:'Noto Serif JP',serif;font-size:25px}.product p{color:#bfc7d0;font-size:14px}.product a{font-size:13px;color:var(--gold)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.principles article{border-top:1px solid #cdd1d3;padding-top:22px}.principles h3{font-size:19px}.principles p{font-size:14px;color:#4a525b}.faq-list{max-width:850px;margin:auto}.faq-list details{border-bottom:1px solid #ffffff29;padding:22px 0}.faq-list summary{cursor:pointer;font-size:17px}.faq-list details p{color:#bfc7d0;margin-bottom:0}.faq-head{text-align:center;margin-bottom:40px}.profile dl{margin:0}.profile dl div{display:grid;grid-template-columns:110px 1fr;gap:20px;border-bottom:1px solid #cdd1d3;padding:18px 0}.profile dt{color:#69717a;font-size:13px}.profile dd{margin:0;font-size:14px}.contact{text-align:center;padding:130px 6%}.contact h2{font-size:clamp(32px,4vw,54px)}.contact p:not(.eyebrow){color:#bfc7d0}.contact .pill{margin-top:24px;min-width:250px}.footer{border-top:1px solid #ffffff26;padding:40px 0}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer nav{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.copyright{font-size:10px;color:var(--muted);letter-spacing:.08em;margin-top:28px}.reveal{transition:opacity .8s,transform .8s}.reveal.pending{opacity:0;transform:translateY(24px)}@media(min-width:801px){.hero h1{white-space:nowrap}}@media(max-width:1050px){.nav{gap:16px}.services{grid-template-columns:repeat(2,1fr)}.service:nth-child(2){border-right:0}.service:nth-child(-n+2){border-bottom:1px solid #ffffff29}.split{gap:45px}}@media(max-width:800px){.header-inner{min-height:80px}.brand{font-size:22px}.menu-button{display:block}.nav{display:none;position:absolute;left:0;right:0;top:80px;padding:30px 6%;background:#0f1419;flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero{min-height:760px;min-height:100svh}.hero video{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#0f1419da,#0f141977)}.hero-copy{padding:140px 0 110px}.hero h1{font-size:clamp(29px,6.5vw,49px)}.hero-description{font-size:14px;max-width:440px}.english{font-size:11px}.pill{padding:12px 20px;font-size:13px}.split,.case-grid{grid-template-columns:1fr;gap:36px}section.band{padding:75px 0}.section-head{align-items:start;flex-direction:column;gap:10px}.products,.principles{grid-template-columns:1fr;gap:30px}.service{padding:25px 18px}.service h3{font-size:17px}.service small{font-size:9px}.case-image{padding:15px}.case-copy h3{font-size:27px}.footer-top{align-items:start;flex-direction:column}.contact{padding:90px 6%}.profile dl div{grid-template-columns:75px 1fr}.scroll-note{font-size:9px}.video-control{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal.pending{opacity:1;transform:none}}

/* Transparent logo: original artwork silhouette, white on navy. */
.brand{display:inline-flex;align-items:center;flex-shrink:0;background:transparent;padding:0;line-height:1}
.brand img{display:block;width:258px;height:auto;max-width:100%;filter:brightness(0) invert(1);opacity:.94}
.header-inner{gap:24px;min-height:104px}
.footer .brand img{width:245px;opacity:.85}
@media(max-width:1050px) and (min-width:801px){.brand img{width:215px}.nav{gap:12px;font-size:12px}.nav .pill{padding:8px 13px}}
@media(max-width:800px){.header-inner{min-height:86px}.brand img{width:205px}.nav{top:86px}.footer .brand img{width:225px}}
@media(max-width:360px){.brand img{width:175px}.menu-button{padding:7px 11px;font-size:12px}}

/* Small-screen layout and comfortable touch targets. */
@media(max-width:800px){
 .header-inner{gap:12px}.menu-button{min-height:44px;flex-shrink:0}
 .nav{max-height:calc(100svh - 86px);overflow-y:auto;overscroll-behavior:contain}
 .nav a{min-height:44px;display:flex;align-items:center}
 .video-control{min-height:44px}.footer nav a{min-height:44px;display:inline-flex;align-items:center}
 .split>*,.case-grid>*,.profile dd{min-width:0;overflow-wrap:anywhere}
 .hero h1{font-size:clamp(27px,6.5vw,49px)}
}
@media(max-width:600px){
 .services{grid-template-columns:1fr}
 .service{padding:26px;border-right:0;border-bottom:1px solid #ffffff29}
 .service:last-child{border-bottom:0}.service h3{min-height:0;margin:12px 0;font-size:21px}
 .service h3 br{display:none}.service .number{font-size:27px;margin-bottom:12px}
 .service p{font-size:14px}.service a{padding-top:12px;min-height:44px}
 .actions{gap:12px}.actions .pill{flex:1 1 150px;min-height:48px}
 .hero-copy{padding-top:132px;padding-bottom:110px}
 .hero-shade{background:linear-gradient(90deg,#0f1419ed 0%,#0f1419b3 65%,#0f14195c)}
 .hero-description{max-width:95%}.hero .eyebrow{font-size:10px;letter-spacing:.2em}
 .scroll-note{letter-spacing:.1em;font-size:8px;bottom:44px}
 .faq-list summary{font-size:16px;padding:4px 0}
 .contact .pill{min-width:0;width:min(100%,300px)}
 .footer nav{gap:0 24px}.contact h2{font-size:clamp(26px,7vw,36px)}
}
