@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--navy:#0d1b2a;--navy-dark:#080e18;--navy-mid:#1a2e45;--gold:#c9a84c;--gold-light:#e8c97a;--cream:#f5f0e8;--white:#fff;--ink:#152033;--muted:#5c6167;--body-font:'Noto Sans JP',sans-serif;--display-font:'Noto Serif JP',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--navy-dark);color:var(--ink);font:400 16px/1.85 var(--body-font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}.wrap{width:min(100% - 48px,1160px);margin-inline:auto}.narrow{max-width:900px}.cream{background:var(--cream)}.night-sky{background-color:var(--navy-dark);background-image:radial-gradient(circle at 83% 18%,rgba(100,143,174,.19),transparent 34%),radial-gradient(circle at 52% 89%,rgba(84,127,160,.12),transparent 41%),linear-gradient(115deg,#07111e,#0d1b2a 62%,#101c28);color:var(--white)}
.site-header{height:82px;position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1160px)/2));color:var(--white)}.wordmark{font:400 26px/1 var(--display-font);letter-spacing:.055em;white-space:nowrap}.desktop-nav{display:flex;align-items:center;gap:32px;font-size:13px;letter-spacing:.09em}.desktop-nav a,.site-footer a{transition:color .2s}.desktop-nav a:hover,.site-footer a:hover{color:var(--gold-light);text-decoration:none}.menu-button,.mobile-nav{display:none}
.hero{min-height:650px;position:relative;display:flex;align-items:center;overflow:hidden}.hero:before,.business:before,.contact:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#fff 1px,transparent 1.6px),radial-gradient(circle,#d6b978 .75px,transparent 1.4px);background-size:225px 190px,310px 240px;background-position:20px 40px,120px 100px;opacity:.22}.hero:after{content:"";position:absolute;right:6%;top:13%;width:110px;height:110px;background:radial-gradient(circle,#fff9e4 0%,rgba(229,198,132,.85) 1%,rgba(229,198,132,.21) 7%,transparent 58%);filter:blur(1px)}.hero-art{position:absolute;inset:0;opacity:.85}.hero-art svg{width:100%;height:100%}.hero-inner{position:relative;z-index:1;padding-block:145px 90px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.24em;font:500 13px/1.5 var(--display-font)}.hero-eyebrow{margin:0 0 26px}.hero h1{font:400 clamp(40px,5.4vw,76px)/1.48 var(--display-font);letter-spacing:.09em;margin:0 0 24px;text-shadow:0 2px 18px rgba(0,0,0,.25)}.hero h1 em{font-style:normal;color:var(--gold-light)}.hero-sub{font:400 clamp(15px,1.35vw,18px)/2 var(--display-font);letter-spacing:.05em;margin:0}.hero-en{border-left:32px solid var(--gold);padding-left:18px;color:rgba(255,255,255,.67);font:400 13px/1.8 var(--display-font);letter-spacing:.14em;margin:28px 0 0}
.philosophy{padding:76px 0 80px;background-image:radial-gradient(circle at 50% 0%,#fff 2%,transparent 70%)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr)}.values-grid article{text-align:center;padding:8px 34px;min-height:190px}.values-grid article+article{border-left:1px solid rgba(140,115,72,.3)}.values-grid h2{font:500 14px/1.4 var(--display-font);text-transform:uppercase;color:#a98030;letter-spacing:.17em;margin:0 0 25px}.values-grid h2:after{content:"";display:block;width:27px;height:1px;background:var(--gold);margin:14px auto 0}.values-grid p{font:400 17px/1.95 var(--display-font);margin:0}
.business{position:relative;padding:93px 0 100px}.business>.wrap,.contact>.wrap{position:relative;z-index:1}.section-heading{text-align:center;margin-bottom:56px}.section-heading h2,.contact h2{font:400 clamp(27px,3vw,39px)/1.5 var(--display-font);letter-spacing:.1em;margin:11px 0 13px}.section-heading .eyebrow{margin:0}.gold-rule{display:block;width:28px;height:1px;background:var(--gold);margin:0 auto}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.business-card{background:#fbf9f5;color:var(--ink);box-shadow:0 8px 35px rgba(0,0,0,.12)}.card-photo{height:194px;background-image:url('./images/editorial-triptych.png');background-size:300% 100%;background-repeat:no-repeat}.photo-one{background-position:0% center}.photo-two{background-position:50% center}.photo-three{background-position:100% center}.card-body{padding:28px 27px 35px;min-height:240px}.card-body h3{text-align:center;font:400 clamp(17px,1.6vw,22px)/1.5 var(--display-font);margin:0 0 16px}.card-body p{font-size:14px;line-height:1.9;margin:20px 0 0}
.representative{padding:90px 0 75px;background:#f8f6f2}.representative-grid{display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;gap:9%}.portrait-placeholder{height:370px;background:linear-gradient(145deg,rgba(255,255,255,.45),rgba(216,204,184,.23)),radial-gradient(ellipse at 17% 72%,rgba(173,166,142,.22),transparent 39%),#eae4d9;position:relative;overflow:hidden}.portrait-placeholder:before,.portrait-placeholder:after{content:"";position:absolute;display:block;width:170px;height:360px;left:45%;top:35%;transform:rotate(-32deg);background:rgba(118,121,89,.08);filter:blur(17px);border-radius:100% 0}.portrait-placeholder:after{left:8%;top:8%;transform:rotate(30deg)}.representative-copy .eyebrow{margin:0 0 22px}.representative-copy h2{font:400 34px/1.5 var(--display-font);margin:0}.representative-copy .role{font-size:14px;color:var(--muted);margin:1px 0 23px}.representative-copy .gold-rule{margin:0 0 22px}.representative-copy>p:not(.eyebrow):not(.role){max-width:510px;margin:0 0 12px;line-height:2;font-size:15px}
.company{padding:85px 0 100px;background:#fff}.section-heading.dark{margin-bottom:28px}.company-list{margin:0;border-top:1px solid #dedbd5}.company-list>div{display:grid;grid-template-columns:190px 1fr;gap:24px;padding:16px 25px;border-bottom:1px solid #dedbd5;font-size:15px}.company-list dt{font-weight:500}.company-list dd{margin:0}.company-list a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.contact{position:relative;text-align:center;padding:90px 0 100px;overflow:hidden}.contact:after{content:"";position:absolute;inset:65% 0 0;background:radial-gradient(ellipse at 60% 100%,rgba(199,166,99,.17),transparent 60%),linear-gradient(0deg,#09131e,transparent)}.contact .eyebrow{margin:0}.contact h2{margin:11px 0 14px}.contact p:not(.eyebrow){margin:24px 0 30px;font-size:15px}.contact-button{display:inline-flex;align-items:center;justify-content:center;gap:70px;min-width:340px;min-height:57px;background:var(--gold);color:#142030;padding:12px 25px;font-size:15px;transition:background .2s,transform .2s}.contact-button:hover{background:var(--gold-light);transform:translateY(-2px);text-decoration:none}.contact-button span{font-size:22px;font-weight:300}
.site-footer{background:#080e18;color:var(--white);padding:35px 0}.footer-inner{display:flex;align-items:center;gap:35px}.site-footer .wordmark{font-size:20px}.site-footer nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:12px;color:#d5d8db}.site-footer nav a+a{border-left:1px solid #59606a;padding-left:24px}.site-footer small{margin-left:auto;white-space:nowrap;font-size:11px;color:#cbd0d4}
.subpage-header{position:relative;background:var(--navy-dark)}.subpage{background:var(--cream);min-height:65vh;padding:80px 0 100px}.subpage .wrap{max-width:760px}.subpage h1{font:400 clamp(28px,4vw,40px)/1.5 var(--display-font);margin:10px 0 32px}.subpage p{margin:0 0 20px}.subpage .back{display:inline-block;margin-top:30px;color:#745916;text-decoration:underline;text-underline-offset:5px}
@media(max-width:850px){.desktop-nav{gap:14px;font-size:12px}.site-header{padding-inline:24px}.business-grid{gap:14px}.card-body{padding:22px 18px 26px}.card-body h3{font-size:17px}.footer-inner{flex-wrap:wrap}.site-footer small{margin-left:0}.representative-grid{gap:5%}}
@media(max-width:650px){html{scroll-padding-top:68px}.wrap{width:min(100% - 32px,560px)}.site-header{height:68px;padding-inline:16px}.wordmark{font-size:23px}.desktop-nav{display:none}.menu-button{display:flex;width:44px;height:44px;border:0;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:7px;cursor:pointer}.menu-button span{display:block;width:24px;height:1px;background:#fff}.mobile-nav:not([hidden]){display:flex;position:absolute;top:68px;left:0;right:0;z-index:9;background:#101d2c;color:#fff;padding:8px 24px 18px;flex-direction:column;box-shadow:0 15px 25px rgba(0,0,0,.2)}.mobile-nav a{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:15px}.hero{min-height:600px}.hero-inner{padding-top:140px;padding-bottom:86px}.hero h1{font-size:clamp(35px,9vw,53px);letter-spacing:.04em}.hero-sub{font-size:15px}.hero-en{font-size:11px;letter-spacing:.07em}.desktop-only{display:none}.hero:after{right:0;top:20%;width:80px;height:80px}.philosophy{padding:54px 0}.values-grid{display:block}.values-grid article{min-height:auto;padding:23px 8px}.values-grid article+article{border-left:0;border-top:1px solid rgba(140,115,72,.3)}.values-grid h2{margin-bottom:16px}.values-grid p{font-size:16px}.business{padding:68px 0 74px}.section-heading{margin-bottom:36px}.business-grid{grid-template-columns:1fr;gap:22px}.card-photo{height:175px}.card-body{min-height:0;padding:23px 24px 27px}.card-body h3{font-size:21px}.card-body p{font-size:15px}.representative{padding:68px 0}.representative-grid{grid-template-columns:1fr;gap:30px}.portrait-placeholder{height:240px}.representative-copy h2{font-size:29px}.company{padding:65px 0 75px}.company-list>div{grid-template-columns:110px 1fr;gap:12px;padding:14px 5px;font-size:14px}.contact{padding:70px 0 85px}.contact-button{min-width:0;width:100%;gap:30px}.footer-inner{display:block}.site-footer nav{margin:24px 0;gap:10px 15px}.site-footer nav a+a{padding-left:15px}.site-footer small{font-size:11px}.subpage{padding:55px 0 85px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.contact-button{transition:none}}
.business-link{display:inline-flex;align-items:center;gap:12px;color:#8f6b24;border-bottom:1px solid #c9a84c;font-size:13px;font-weight:500;margin-top:10px;padding-bottom:2px}.business-link:hover{color:#3b2d12;text-decoration:none}
