:root{--black:#000;--white:#fff;--ink:#181818;--gray:#6d6d6d;--line:#d3d3d3;--sans:'Zen Kaku Gothic New',sans-serif;--latin:'Space Grotesk',sans-serif;--ease:cubic-bezier(.19,1,.22,1)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:#fff;color:#000;font:400 16px/1.9 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img,svg{max-width:100%;height:auto}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}[hidden]{display:none!important}::selection{background:#777;color:#fff}.skip{position:fixed;top:-100px;left:20px;z-index:110;background:#fff;color:#000;padding:12px 24px}.skip:focus{top:16px}.wrap{max-width:1400px;margin:auto;padding-inline:6vw}.nav{position:fixed;inset:0 0 auto;z-index:50;padding:30px 4vw;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#fff;mix-blend-mode:difference}.wordmark{display:block;flex-shrink:0}.wordmark img{display:block;width:184px;height:auto}.links{list-style:none;display:flex;align-items:center;gap:28px;font-size:14px;line-height:1.5}.lk{display:inline-flex;min-height:44px;align-items:center}.links .btn{min-height:44px;padding:10px 24px;border:1px solid #ffffff70;border-radius:75px;font-size:13px;display:inline-flex;gap:22px}.menu-btn{display:none;background:transparent;border:0;min-height:44px;align-items:center;gap:15px;font-size:14px}.bar{width:22px;height:1px;background:currentColor;position:relative}.bar::after{content:'';position:absolute;top:6px;left:0;height:1px;width:22px;background:currentColor}.mobile-menu{display:none}.hero{min-height:720px;height:100svh;max-height:1300px;position:relative;isolation:isolate;background:#241a17;color:#fff;overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 18% 70%,#8cb897 0%,transparent 55%),radial-gradient(ellipse at 65% 30%,#af6925 0%,transparent 60%),linear-gradient(125deg,#142820,#643619 55%,#3f101d)}.hero-art::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0006,transparent 28%,transparent 64%,#0007);pointer-events:none}.hero-art canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity 1.2s var(--ease)}.hero-art.is-ready canvas{opacity:1}.hero-content{height:100%;display:flex;align-items:center;justify-content:center;padding:125px 7vw 145px}.hero h1{font:400 clamp(120px,21vw,310px)/.86 var(--latin);letter-spacing:-.072em;display:flex;flex-direction:column;width:max-content;max-width:100%;text-wrap:nowrap}.hero h1 span{display:block}.hero h1 span+span{padding-left:1.04em;margin-top:.09em}.hero-bottom{position:absolute;bottom:38px;left:4vw;right:4vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;font-size:14px}.hero-bottom p{text-align:center;letter-spacing:.05em}.scroll-link{display:flex;align-items:center;gap:18px;font:400 13px var(--latin);width:max-content;min-height:48px}.scroll-link>span{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff70;border-radius:75px;font-size:22px}.motion-toggle{justify-self:end;border:1px solid #ffffff70;background:transparent;color:#fff;border-radius:75px;padding:12px 22px;min-height:46px;font-size:12px}.motion-toggle:disabled{cursor:default;opacity:.75}section{padding:100px 0}h2{font-weight:400;font-size:48px;line-height:1.6}h3{font-weight:400}footer{padding:65px 0}.btn{display:inline-flex;border:1px solid currentColor;border-radius:75px;background:transparent;align-items:center;justify-content:center;min-height:52px;padding:11px 33px;gap:28px}
@media(max-width:900px){.nav{padding:22px 24px}.links{display:none}.menu-btn{display:flex}.wordmark img{width:166px}.mobile-menu.open{display:flex;flex-direction:column;justify-content:center;position:fixed;inset:0;z-index:40;background:#111;color:#fff;padding:100px 8vw 40px}.mobile-menu ul{list-style:none}.mobile-menu a{display:block;padding:8px 0;font-size:clamp(22px,4vw,34px);font-weight:400}.mobile-menu .sub{margin-top:35px;font-size:14px;color:#aaa}.hero{min-height:660px}.hero h1{font-size:23vw}.hero-bottom{left:24px;right:24px;grid-template-columns:1fr 1fr}.hero-bottom p{grid-row:1;grid-column:1/-1;margin-bottom:12px;font-size:15px;text-align:left}.motion-toggle{grid-column:2}.hero-content{padding:130px 24px 165px}}
@media(max-width:500px){.hero{height:100svh;min-height:620px}.hero h1{font-size:25vw;letter-spacing:-.08em}.hero h1 span+span{padding-left:.84em}.hero-bottom{bottom:26px;gap:10px}.scroll-link{gap:10px;font-size:12px}.scroll-link>span{width:40px;height:40px}.motion-toggle{font-size:12px;padding:10px 15px}.hero-content{padding-top:125px}.wordmark img{width:155px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}html:has(.motion-paused){scroll-behavior:auto}
/* Quiet editorial sections follow the single chromatic opening. */
section{padding:140px 0}.eyebrow,.section-label>span{font:400 14px/1.5 var(--latin)}.eyebrow{margin-bottom:34px}.section-label>p{font-size:14px;margin-top:8px;color:var(--gray)}.sh{margin-bottom:70px}h2{font-size:clamp(36px,4.5vw,66px);font-weight:300;line-height:1.55;letter-spacing:-.045em;text-wrap:balance}.concept-section{padding:165px 0 150px}.concept-layout{display:grid;grid-template-columns:1fr 3fr;gap:6vw}.concept-copy h2{margin:0 0 48px;font-size:clamp(38px,4.65vw,70px);line-height:1.6}.concept-copy>p{font-size:18px;line-height:2.15;font-weight:400;max-width:720px;margin-top:25px}.concept-copy>p+p{color:var(--gray)}.mobile-break{display:none}.time-transfer{display:grid;grid-template-columns:1fr 1.3fr;gap:30px;border-top:1px solid var(--line);margin-top:55px;padding-top:24px}.mini-label{font-size:13px;color:var(--gray)}.time-transfer p{font-size:15px;display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:13px}.time-transfer s{color:var(--gray);text-decoration-thickness:1px}
#business{background:#000;color:#fff;padding:125px 0 100px;--line:#444;--gray:#a4a4a4}#business .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:25px 7vw}#business .sh{grid-column:1;grid-row:1;margin:0}#business h2{font-size:clamp(36px,3.9vw,58px)}.brandhead{grid-column:2;grid-row:1;align-self:center}.brandhead img{display:block;width:230px;height:auto;margin-bottom:30px}.brandhead .cap{font-size:16px;line-height:2;color:var(--gray);max-width:420px}.svc{grid-column:1/-1;grid-row:2;margin-top:80px}.svc .card{display:grid;grid-template-columns:1.35fr 1fr;gap:15px 6vw;border-top:1px solid #444;padding:48px 0 52px}.svc .card:last-child{border-bottom:1px solid #444}.svc .n{grid-column:1;grid-row:1;font:400 clamp(36px,4.4vw,66px)/1.15 var(--latin);letter-spacing:-.045em;align-self:end}.svc .t{grid-column:1;grid-row:2;font-size:16px;font-weight:400;margin:0}.svc p:not(.n):not(.st){grid-column:2;grid-row:1/3;font-size:16px;line-height:2.1;align-self:center;color:#c6c6c6;max-width:470px}.svc .st{grid-column:2;font-size:12px;color:#a4a4a4}.biz-cta{grid-column:1/-1;text-align:right;margin-top:25px}.more{display:inline-flex;align-items:center;min-height:48px;font-size:14px;border-bottom:1px solid currentColor;padding:9px 0}.more:hover{opacity:.6}
#mvv{padding:140px 0 100px}.mv{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin-bottom:80px}.mv h3{font:400 16px var(--latin);margin-bottom:28px}.mv .big{font-size:clamp(25px,2.5vw,36px);font-weight:400;letter-spacing:-.025em;line-height:1.85;margin-bottom:28px}.mv p:not(.big){font-size:16px;line-height:2.15;color:var(--gray);max-width:540px}.exits{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:32px}.exit{padding-top:22px;border-top:1px solid var(--line)}.exit .t{font:400 13px var(--latin);margin-bottom:8px}.exit strong{font-size:26px;font-weight:400}.exit p:last-child{margin-top:15px}.philosophy-details{border-top:1px solid var(--line)}.philosophy-details:last-child{border-bottom:1px solid var(--line)}.philosophy-details summary{list-style:none;cursor:pointer;min-height:88px;display:flex;align-items:center;justify-content:space-between;font-size:20px;font-weight:400;gap:25px}.philosophy-details summary::-webkit-details-marker{display:none}.philosophy-details summary span{font-size:26px;transition:transform .4s var(--ease)}.philosophy-details[open] summary span{transform:rotate(45deg)}.philosophy-details h3{font-size:16px;color:var(--gray);font-weight:400;margin:10px 0 30px}.vals{padding-bottom:40px}.val{display:grid;grid-template-columns:1fr 2fr;gap:35px;padding:27px 0;border-top:1px solid var(--line)}.val .n{font:400 12px var(--latin);color:var(--gray);margin-right:22px}.val .w{font-size:25px;font-weight:400}.val p{font-size:16px;color:var(--gray);line-height:2}.val .one{font-size:18px;color:#000;margin-bottom:8px}.nots{list-style:none;padding-bottom:40px}.nots li{font-size:21px;padding:18px 0}.nots em{font-style:normal;display:block;color:var(--gray);font-size:16px;margin-top:10px}
#history,#company{padding:100px 0}#history .wrap,#company .wrap{display:grid;grid-template-columns:1fr 2fr;gap:40px 6vw}#history .sh,#company .sh{grid-column:1;grid-row:1/3;margin:0}#history h2,#company h2{font-size:46px}.tl{grid-column:2;list-style:none}.tl li{display:grid;grid-template-columns:85px 1fr;gap:12px 28px;padding:32px 0;border-top:1px solid var(--line)}.tl .d{font:400 14px/1.9 var(--latin)}.tl strong{font-size:18px;font-weight:400;line-height:1.8}.tl p:last-child{grid-column:2;font-size:15px;color:var(--gray);line-height:2}.tblwrap{grid-column:2}.cotable{border-collapse:collapse;width:100%;font-size:16px;line-height:2}.cotable th,.cotable td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:28px 0}.cotable th{width:120px;font-size:14px;font-weight:400;color:var(--gray);padding-right:18px}.cotable td{overflow-wrap:anywhere}.fine{grid-column:2;font-size:13px;color:var(--gray)}
.contact{background:#000;color:#fff;padding:125px 0 110px;margin-top:60px}.contact .inner{display:grid;grid-template-columns:1.4fr 1fr;gap:0 6vw}.contact .eyebrow{grid-column:1;grid-row:1}.contact h2{grid-column:1;grid-row:2/4;font-size:clamp(38px,4.6vw,67px);line-height:1.6}.contact .l{grid-column:2;grid-row:2;font-size:16px;line-height:2.1;color:#bdbdbd;max-width:480px}.contact .cta{grid-column:2;grid-row:3;margin-top:32px}.btn{font-size:15px;font-weight:400;transition:opacity .4s var(--ease),border-color .4s var(--ease)}.btn:hover{opacity:.65}.contact .btn{border-color:#ffffff70;min-height:54px}
footer{background:#000;color:#fff;padding:45px 0 35px}footer .wrap{border-top:1px solid #333;padding-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:0 8vw}.fmark{grid-column:1}.fmark img{display:block;width:225px;height:auto}.tag{grid-column:1;font-size:14px;margin-top:20px;color:#aaa}.fcols{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.fcols h4{font:400 14px var(--latin);margin-bottom:18px}.fcols a{display:block;font-size:13px;line-height:1.9;color:#aaa;padding:7px 0;transition:color .4s}.fcols a:hover{color:#fff}.fmeta{grid-column:1/-1;display:flex;justify-content:space-between;gap:25px;font-size:12px;line-height:1.8;color:#999;margin-top:80px}.fmeta span:first-child{font-family:var(--latin)}
@media(max-width:1000px){.wrap{padding-inline:5vw}.concept-layout{grid-template-columns:1fr 3.5fr;gap:4vw}.concept-copy h2{font-size:46px}.svc .card{grid-template-columns:1.2fr 1fr;gap:18px 4vw}.svc .n{font-size:44px}.mv{gap:5vw}.contact .inner{grid-template-columns:1.2fr 1fr}.contact h2{font-size:45px}#history .wrap,#company .wrap{grid-template-columns:1fr 2.5fr}.cotable th{width:100px}.fcols{gap:18px}}
@media(max-width:760px){.wrap{padding-inline:24px}section{padding:80px 0}.concept-section{padding:95px 0}.concept-layout{display:block}.section-label{margin-bottom:35px}.section-label>p{display:none}.concept-copy h2{font-size:clamp(31px,6.8vw,46px);line-height:1.7;margin-bottom:32px}.concept-copy>p{font-size:16px;line-height:2.1}.desktop-break{display:none}.mobile-break{display:block}.time-transfer{grid-template-columns:1fr;margin-top:35px;gap:22px}.time-transfer>div+div{border-top:1px solid var(--line);padding-top:22px}.time-transfer p{font-size:15px}h2{font-size:35px}.sh{margin-bottom:45px}.eyebrow{margin-bottom:24px}#business{padding:85px 0 65px}#business .wrap{display:block}#business h2{font-size:clamp(32px,6vw,42px);line-height:1.6}.brandhead{margin-top:45px}.brandhead img{width:205px;margin-bottom:25px}.brandhead .cap{max-width:none}.svc{margin-top:55px}.svc .card{display:flex;flex-direction:column;padding:35px 0 40px;gap:17px}.svc .n{font-size:clamp(38px,8vw,52px);align-self:start;margin-bottom:0}.svc .t{font-size:16px}.svc p:not(.n):not(.st){max-width:none;align-self:stretch;font-size:16px}.svc .st{margin-top:0}.biz-cta{margin-top:25px;text-align:left}#mvv{padding:90px 0 65px}.mv{grid-template-columns:1fr;gap:45px;margin-bottom:50px}.mv .big{font-size:27px;line-height:1.85}.mv .big br{display:none}.mv p:not(.big){max-width:none}.mv h3{margin-bottom:20px}.exits{gap:24px}.philosophy-details summary{min-height:78px;font-size:18px}.val{display:block;padding:25px 0}.val>div:first-child{margin-bottom:16px}.val .w{font-size:23px}.nots li{font-size:19px}#history,#company{padding:70px 0}#history .wrap,#company .wrap{display:block}#history .sh,#company .sh{margin-bottom:35px}#history h2,#company h2{font-size:37px}.tl li{grid-template-columns:66px 1fr;gap:12px 18px;padding:27px 0}.tl .d{font-size:13px}.tl strong{font-size:16px}.tl p:last-child{font-size:14px}.cotable{font-size:15px}.cotable th{font-size:13px;width:85px;padding-right:14px}.cotable th,.cotable td{padding-block:24px}.fine{margin-top:18px}.contact{padding:80px 0 60px;margin-top:30px}.contact .inner{display:block}.contact h2{font-size:clamp(32px,7vw,46px);margin-bottom:32px}.contact .l{max-width:none}.contact .cta{margin-top:30px}.contact .btn{font-size:14px;padding-inline:25px}footer{padding-top:30px}footer .wrap{display:block;padding-top:45px}.fmark img{width:195px}.tag{margin-top:14px}.fcols{display:grid;margin-top:42px;gap:20px;grid-template-columns:1fr 1fr}.fcols>div:last-child{grid-column:1/-1}.fmeta{margin-top:55px;font-size:12px}.fmeta span:last-child{display:none}}
@media(max-width:380px){.concept-copy h2{font-size:30px}#business h2{font-size:29px}.mv .big{font-size:25px}.svc .n{font-size:38px}.val .one{font-size:17px}.contact h2{font-size:31px}.cotable th{width:76px}.cotable td{font-size:14px}.hero-bottom{left:20px;right:20px}}

body.menu-open{overflow:hidden}.menu-open .nav{mix-blend-mode:normal}

/* Representative: a natural portrait paired with the company’s own message. */
.message-section{padding:100px 0 130px}.message-label{border-top:1px solid var(--line);padding-top:45px;margin-bottom:55px;display:flex;align-items:baseline;gap:35px}.message-label .eyebrow{margin:0}.message-label h2{font-size:18px;font-weight:400;letter-spacing:0}.message-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw;align-items:start}.representative{margin:0}.representative>img{display:block;width:100%;height:auto;aspect-ratio:1;max-width:480px}.representative figcaption{margin-top:25px;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 20px;max-width:480px}.representative-role{grid-column:1/-1;font-size:13px;color:var(--gray)}.representative-name{font-size:27px;font-weight:400;letter-spacing:.1em}.representative-english{font:400 13px/1.6 var(--latin);color:var(--gray)}.message-copy h3{font-size:clamp(30px,3.5vw,50px);font-weight:300;line-height:1.65;letter-spacing:-.04em;margin:-.2em 0 35px}.message-copy>p{font-size:16px;line-height:2.2;color:var(--ink);max-width:610px}.message-copy>p+p{margin-top:23px}
@media(min-width:901px) and (max-width:1100px){.links{gap:18px}.links .btn{padding-inline:17px}}
@media(max-width:760px){.message-section{padding:55px 0 70px}.message-label{padding-top:30px;margin-bottom:35px;gap:24px}.message-layout{grid-template-columns:1fr;gap:48px}.representative{max-width:440px}.representative figcaption{margin-top:20px}.representative-name{font-size:25px}.message-copy h3{font-size:clamp(29px,6.8vw,42px);margin:0 0 28px;line-height:1.7}.message-copy>p{font-size:16px;line-height:2.15;max-width:none}.message-copy>p+p{margin-top:22px}}
