@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');

:root{--black:#090909;--ink:#11100f;--ivory:#f1ede3;--paper:#e8e2d6;--gold:#aa8950;--muted:#9b9488;--line:rgba(170,137,80,.28);--serif:"Noto Serif JP","Yu Mincho",serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;--pad:clamp(22px,5vw,80px);--header:82px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--ivory);font-family:var(--sans);font-weight:300;line-height:1.9}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{font:inherit}.skip-link{position:fixed;left:12px;top:-100px;background:var(--ivory);color:var(--black);padding:8px 14px;z-index:1000}.skip-link:focus{top:12px}.site-header{height:var(--header);padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:100;border-bottom:1px solid var(--line);background:rgba(9,9,9,.92);backdrop-filter:blur(12px);transition:height .3s}.site-header.is-scrolled{position:sticky;top:0;height:66px}.brand{display:inline-flex;align-items:center;gap:13px}.brand-mark{width:31px;height:31px;border:1px solid var(--gold);display:grid;place-items:center;font:500 16px Georgia,serif;color:var(--gold);transform:rotate(45deg)}.brand-mark::first-letter{transform:rotate(-45deg)}.brand-name{font:500 17px Georgia,serif;letter-spacing:.23em}.primary-nav{display:flex;align-items:center;gap:clamp(18px,3vw,42px);font-size:12px;letter-spacing:.08em}.primary-nav a{position:relative;color:#c8c1b6}.primary-nav a:not(.nav-contact)::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--gold);transition:width .3s}.primary-nav a:hover::after{width:100%}.nav-contact{border:1px solid var(--line);padding:11px 16px}.nav-contact:hover{border-color:var(--gold)}.menu-toggle{display:none;background:none;border:0;color:var(--ivory)}.section-shell{padding-left:var(--pad);padding-right:var(--pad)}.eyebrow{margin:0 0 24px;color:var(--gold);font-size:10px;font-weight:500;letter-spacing:.26em}.hero{min-height:calc(100svh - var(--header));position:relative;display:grid;align-items:center;padding:8vh var(--pad) 10vh;overflow:hidden;border-bottom:1px solid var(--line)}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,9,.15),rgba(9,9,9,.82)),repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(170,137,80,.08) 25%);pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:920px}.hero h1,.page-hero h1,.page-intro h1,.article-header h1,.error-page h1{margin:0;font:400 clamp(50px,8.2vw,126px)/1.2 var(--serif);letter-spacing:-.055em}.hero h1 em{color:var(--gold);font-style:normal}.hero-lead{margin:42px 0 0;font-size:clamp(14px,1.35vw,18px);color:#bcb4a8}.hero-index{position:absolute;right:var(--pad);bottom:8vh;z-index:2;display:grid;grid-template-columns:auto auto;gap:6px 18px;color:#777067;font-size:9px;letter-spacing:.14em}.hero-index b{color:var(--gold);font-weight:400}.hero-orbit{position:absolute;width:min(70vw,900px);aspect-ratio:1;right:-22vw;top:50%;transform:translateY(-50%);opacity:.6}.hero-orbit span{position:absolute;inset:0;border:1px solid var(--line);border-radius:50%;animation:orbit 24s linear infinite}.hero-orbit span:nth-child(2){inset:14%;animation-direction:reverse;animation-duration:18s}.hero-orbit span:nth-child(3){inset:28%;animation-duration:12s}.hero-orbit span::after{content:"";position:absolute;top:50%;left:-3px;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 20px var(--gold)}@keyframes orbit{to{transform:rotate(360deg)}}.scroll-cue{position:absolute;left:var(--pad);bottom:32px;display:flex;align-items:center;gap:16px;font-size:8px;letter-spacing:.25em;color:#777}.scroll-cue i{display:block;width:70px;height:1px;background:var(--line);position:relative;overflow:hidden}.scroll-cue i::after{content:"";position:absolute;inset:0;background:var(--gold);transform:translateX(-100%);animation:scan 2.4s infinite}@keyframes scan{60%,100%{transform:translateX(100%)}}.statement{padding-top:clamp(110px,15vw,230px);padding-bottom:clamp(110px,15vw,230px);display:grid;grid-template-columns:1fr 2.2fr;gap:8vw;border-bottom:1px solid var(--line)}.statement .eyebrow{grid-row:1/3}.statement h2,.section-heading h2,.contact-banner h2,.service-note h2,.contact-preparation h2{margin:0;font:400 clamp(36px,5.7vw,82px)/1.38 var(--serif);letter-spacing:-.045em}.statement>p:last-child{max-width:650px;margin:44px 0 0;color:#aaa297}.business-overview,.insights-preview{padding-top:clamp(90px,12vw,180px);padding-bottom:clamp(90px,12vw,180px);border-bottom:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 2.2fr;column-gap:8vw;margin-bottom:70px}.section-heading .eyebrow{grid-row:1/3}.section-heading h2{font-size:clamp(40px,5vw,72px)}.section-heading>p:last-child{max-width:580px;color:#9f978b}.business-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.business-card{min-height:310px;padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:background .35s,transform .35s}.business-card:hover{background:#12110f;transform:translateY(-5px)}.business-card>span,.principles article>span{color:var(--gold);font:12px Georgia,serif}.business-card h3{margin:70px 0 20px;font:400 clamp(22px,2.5vw,36px) Georgia,serif;letter-spacing:.06em}.business-card p{max-width:480px;color:#9e968b;font-size:14px}.text-link{display:inline-flex;gap:18px;align-items:center;margin-top:52px;border-bottom:1px solid var(--gold);padding:0 0 8px;font-size:12px;letter-spacing:.08em}.text-link span{color:var(--gold)}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.post-card{background:var(--black)}.post-card a{display:block;height:100%;padding:22px;position:relative}.post-card-visual{aspect-ratio:16/10;display:grid;place-items:center;background:linear-gradient(135deg,#211e19,#0c0c0b);overflow:hidden}.post-card-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.65) contrast(1.05)}.post-card-visual span{font:80px Georgia,serif;color:rgba(170,137,80,.18)}.post-card-meta{display:flex;justify-content:space-between;margin:20px 0 12px;color:#7f786f;font-size:8px;letter-spacing:.12em}.post-card h2{margin:0;font:400 22px/1.6 var(--serif)}.post-card p{color:#918a80;font-size:12px}.post-card i{color:var(--gold);font-style:normal}.empty-state{border:1px solid var(--line);padding:65px 34px;color:#9e968b}.contact-banner{padding-top:clamp(100px,13vw,190px);padding-bottom:clamp(100px,13vw,190px);position:relative;overflow:hidden}.contact-banner::after{content:"Q";position:absolute;right:-.05em;bottom:-.38em;font:400 clamp(300px,45vw,720px) Georgia,serif;color:rgba(170,137,80,.045);pointer-events:none}.contact-banner h2{position:relative;z-index:1}.contact-banner>p:not(.eyebrow){color:#aaa296;position:relative;z-index:1}.button{display:inline-flex;align-items:center;justify-content:center;margin-top:34px;min-height:56px;padding:0 28px;border:1px solid var(--gold);color:var(--ivory);font-size:12px;letter-spacing:.12em;position:relative;z-index:1;transition:color .3s,background .3s}.button:hover{background:var(--gold);color:var(--black)}.page-hero{padding-top:clamp(100px,13vw,190px);padding-bottom:clamp(100px,13vw,190px);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(48px,7vw,104px)}.page-hero>p:last-child{max-width:720px;margin:38px 0 0;color:#a9a195}.service-list{padding-top:60px;padding-bottom:120px}.service-row{display:grid;grid-template-columns:70px 1.15fr 1fr auto;align-items:start;gap:35px;padding:46px 0;border-bottom:1px solid var(--line)}.service-number{color:var(--gold);font:13px Georgia,serif}.service-row h2{margin:3px 0 0;font:400 clamp(25px,3vw,42px)/1.5 var(--serif)}.service-row p{margin:0;color:#9e968a}.status-label{border:1px solid var(--line);padding:7px 10px;color:#aaa296;font-size:9px;white-space:nowrap;letter-spacing:.08em}.service-note{padding-top:110px;padding-bottom:150px;background:#11100e}.service-note>p:last-child{max-width:700px;color:#9e968a}.principles{display:grid;grid-template-columns:repeat(3,1fr);padding-top:110px;padding-bottom:110px;border-bottom:1px solid var(--line)}.principles article{padding:35px;border-right:1px solid var(--line)}.principles article:last-child{border:0}.principles h2{margin:70px 0 20px;font:400 30px Georgia,serif;letter-spacing:.1em}.principles p{color:#9e968a}.company-profile{padding-top:120px;padding-bottom:150px;display:grid;grid-template-columns:1fr 2.2fr;gap:8vw}.company-profile h2{font:400 50px var(--serif)}.company-profile dl{margin:0}.company-profile dl div{display:grid;grid-template-columns:150px 1fr;padding:24px 0;border-bottom:1px solid var(--line)}.company-profile dt{color:#8f887f}.profile-note{grid-column:2;color:#766f66;font-size:11px}.contact-preparation{max-width:920px;margin:0 auto 160px;padding:70px;border:1px solid var(--line);background:#100f0d}.contact-preparation p:last-child{color:#9e968a}.article-shell{max-width:1040px;margin:auto;padding:clamp(90px,12vw,170px) var(--pad)}.article-header{border-bottom:1px solid var(--line);padding-bottom:55px}.article-header h1{font-size:clamp(40px,6vw,76px)}.article-meta{display:flex;gap:30px;margin-top:35px;color:#817a70;font-size:10px;letter-spacing:.12em}.article-visual{margin:70px 0}.article-content{max-width:760px;margin:70px auto;font-family:var(--serif);font-size:17px}.article-content h2{margin:2.8em 0 1em;font-size:32px}.article-content h3{margin:2.4em 0 1em;font-size:23px}.article-content a{color:var(--gold);text-decoration:underline}.article-content blockquote{margin:2em 0;padding:15px 30px;border-left:2px solid var(--gold);color:#b8afa3}.article-footer{border-top:1px solid var(--line);margin-top:80px}.page-intro,.generic-page,.error-page{padding-top:120px;padding-bottom:120px}.page-intro h1,.error-page h1{font-size:clamp(44px,6vw,82px)}.pagination{margin-top:60px}.pagination .nav-links{display:flex;gap:8px}.pagination a,.pagination span{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line)}.pagination .current{border-color:var(--gold);color:var(--gold)}.site-footer{border-top:1px solid var(--line);padding:90px var(--pad) 40px}.footer-statement>p:last-child{font:400 clamp(30px,4.4vw,62px)/1.5 var(--serif)}.footer-grid{display:grid;grid-template-columns:1fr auto;align-items:end;gap:60px;margin-top:90px;padding-top:35px;border-top:1px solid var(--line)}.footer-grid nav{display:flex;gap:25px;font-size:10px}.copyright{grid-column:1/-1;color:#625d56;font-size:9px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-orbit span,.scroll-cue i::after{animation:none}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:850px){:root{--header:68px}.site-header{backdrop-filter:none}.menu-toggle{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.18em}.menu-toggle i{width:22px;height:1px;background:var(--gold);box-shadow:0 6px var(--gold)}.primary-nav{display:none;position:absolute;top:100%;left:0;width:100vw;height:calc(100svh - var(--header));background:var(--black);padding:50px var(--pad);flex-direction:column;align-items:flex-start;gap:0;overflow-y:auto}.primary-nav.is-open{display:flex}.primary-nav a{font:400 25px var(--serif);width:100%;padding:20px 0;border-bottom:1px solid var(--line)}.nav-contact{border:0}.hero-index{display:none}.statement,.section-heading,.company-profile{grid-template-columns:1fr}.statement .eyebrow,.section-heading .eyebrow{grid-row:auto}.business-grid,.post-grid,.principles{grid-template-columns:1fr}.service-row{grid-template-columns:45px 1fr}.service-row>p,.status-label{grid-column:2}.principles article{border-right:0;border-bottom:1px solid var(--line)}.profile-note{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid nav{flex-direction:column}.contact-preparation{padding:40px 25px}}
@media(max-width:520px){.hero{min-height:calc(100svh - var(--header));align-items:end;padding-bottom:18vh}.hero h1{font-size:15vw}.hero-lead br{display:none}.business-card{min-height:260px;padding:28px}.service-row{gap:18px}.company-profile dl div{grid-template-columns:1fr}.contact-hero h1{font-size:16vw}.post-card h2{font-size:19px}}
.company-business-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.company-business-list li{position:relative;padding-left:20px}.company-business-list li::before{content:"";position:absolute;left:0;top:.92em;width:8px;height:1px;background:var(--gold)}
.insights-preview .insights-post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;background:transparent;border:0}.insights-preview .insights-post-grid .post-card{border:1px solid var(--line)}@media(max-width:850px){.insights-preview .insights-post-grid{grid-template-columns:1fr;max-width:560px}.insights-preview .insights-post-grid .post-card-visual{aspect-ratio:16/7}}@media(max-width:520px){.insights-preview .insights-post-grid .post-card-visual{aspect-ratio:16/9}}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.primary-nav a[aria-current="page"]:not(.nav-contact)::after{width:100%}.nav-contact[aria-current="page"]{border-color:var(--gold)}.statement h2{font-size:clamp(36px,4.8vw,70px)}.menu-toggle i{position:relative;transition:transform .3s,box-shadow .3s}.menu-toggle i::after{content:"";position:absolute;inset:0;background:var(--gold);opacity:0;transition:opacity .3s}.menu-toggle[aria-expanded="true"] i{box-shadow:none;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] i::after{opacity:1;transform:rotate(90deg)}
